| @@ -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} | {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) */ | static const int16_t cb_ma_predictor_sum_inv[2][10] = { /* (3.12) */ | ||||
| {17210, 15888, 16357, 16183, 16516, 15833, 15888, 15421, 14840, 15597}, | {17210, 15888, 16357, 16183, 16516, 15833, 15888, 15421, 14840, 15597}, | ||||
| { 9202, 7320, 6788, 7738, 8170, 8154, 8856, 8818, 8366, 8544} | { 9202, 7320, 6788, 7738, 8170, 8154, 8856, 8818, 8366, 8544} | ||||
| @@ -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); | 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, | static void lsf_restore_from_previous(int16_t* lsfq, | ||||
| int16_t* past_quantizer_outputs[MA_NP + 1], | int16_t* past_quantizer_outputs[MA_NP + 1], | ||||
| int ma_predictor_prev) | int ma_predictor_prev) | ||||