aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec
diff options
context:
space:
mode:
authorVladimir Voroshilov <voroshil@gmail.com>2009-06-24 12:09:20 +0700
committerMichael Niedermayer <michaelni@gmx.at>2011-09-24 21:11:00 +0200
commitd1a643e749f7b4495f0c4fabf9177f730fbd5574 (patch)
tree1069ea69ebf267774d59c11ccb657da80c0aa722 /libavcodec
parentb29e5a6780737f8a11c47714bf1a697a98966a51 (diff)
downloadffmpeg-d1a643e749f7b4495f0c4fabf9177f730fbd5574.tar.gz
Doxy for LSF erasure case
Diffstat (limited to 'libavcodec')
-rw-r--r--libavcodec/g729data.h9
-rw-r--r--libavcodec/g729dec.c7
2 files changed, 16 insertions, 0 deletions
diff --git a/libavcodec/g729data.h b/libavcodec/g729data.h
index 05b40416dd..f0a09ab14c 100644
--- a/libavcodec/g729data.h
+++ b/libavcodec/g729data.h
@@ -293,6 +293,15 @@ static const int16_t cb_ma_predictor_sum[2][10] = { /* (0.15) */
{14585, 18333, 19772, 17344, 16426, 16459, 15155, 15220, 16043, 15708}
};
+/**
+ * 12
+ * 2
+ * cb_ma_predictor_sum_inv[j][i] = floor(---------------------------------------------)
+ * 3
+ * 1.0 - sum ( cb_ma_predictor_float[j][k][i] )
+ * k=0
+ * j=0..1, i=0..9
+ */
static const int16_t cb_ma_predictor_sum_inv[2][10] = { /* (3.12) */
{17210, 15888, 16357, 16183, 16516, 15833, 15888, 15421, 14840, 15597},
{ 9202, 7320, 6788, 7738, 8170, 8154, 8856, 8818, 8366, 8544}
diff --git a/libavcodec/g729dec.c b/libavcodec/g729dec.c
index b8dba4282f..42783d61fb 100644
--- a/libavcodec/g729dec.c
+++ b/libavcodec/g729dec.c
@@ -171,6 +171,13 @@ static void lsf_decode(int16_t* lsfq, int16_t* past_quantizer_outputs[MA_NP + 1]
ff_acelp_reorder_lsf(lsfq, LSFQ_DIFF_MIN, LSFQ_MIN, LSFQ_MAX, 10);
}
+/**
+ * Restores past LSP quantizer output using LSF from previous frame
+ * @param lsfq [in/out] (2.13) quantized LSF coefficients
+ * @param past_quantizer_outputs [in/out] (2.13) quantizer outputs from previous frames
+ * @param ma_predictor_prev MA predictor from previous frame
+ * @param lsfq_prev (2.13) quantized LSF coefficients from previous frame
+ */
static void lsf_restore_from_previous(int16_t* lsfq,
int16_t* past_quantizer_outputs[MA_NP + 1],
int ma_predictor_prev)