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)