|
|
|
@@ -247,6 +247,25 @@ static const int16_t cb_gain_2nd_8k[1<<GC_2ND_IDX_BITS_8K][2] = { /*(1.14) (1.13 |
|
|
|
|
|
|
|
/** |
|
|
|
* 4th order Moving Average (MA) Predictor codebook (3.2.4 of G.729) |
|
|
|
* |
|
|
|
* float cb_ma_predictor_float[2][MA_NP][10] = { |
|
|
|
* { |
|
|
|
* {0.2570, 0.2780, 0.2800, 0.2736, 0.2757, 0.2764, 0.2675, 0.2678, 0.2779, 0.2647}, |
|
|
|
* {0.2142, 0.2194, 0.2331, 0.2230, 0.2272, 0.2252, 0.2148, 0.2123, 0.2115, 0.2096}, |
|
|
|
* {0.1670, 0.1523, 0.1567, 0.1580, 0.1601, 0.1569, 0.1589, 0.1555, 0.1474, 0.1571}, |
|
|
|
* {0.1238, 0.0925, 0.0798, 0.0923, 0.0890, 0.0828, 0.1010, 0.0988, 0.0872, 0.1060}, |
|
|
|
* }, |
|
|
|
* { |
|
|
|
* {0.2360, 0.2405, 0.2499, 0.2495, 0.2517, 0.2591, 0.2636, 0.2625, 0.2551, 0.2310}, |
|
|
|
* {0.1285, 0.0925, 0.0779, 0.1060, 0.1183, 0.1176, 0.1277, 0.1268, 0.1193, 0.1211}, |
|
|
|
* {0.0981, 0.0589, 0.0401, 0.0654, 0.0761, 0.0728, 0.0841, 0.0826, 0.0776, 0.0891}, |
|
|
|
* {0.0923, 0.0486, 0.0287, 0.0498, 0.0526, 0.0482, 0.0621, 0.0636, 0.0584, 0.0794}, |
|
|
|
* }, |
|
|
|
* }; |
|
|
|
* 15 |
|
|
|
* cb_ma_predictor[j][k][i] = floor( 2 * cb_ma_predictor_float[j][k][i] ) |
|
|
|
* |
|
|
|
* j=0..1, i=0..9, k=0..MA_NP-1 |
|
|
|
*/ |
|
|
|
static const int16_t cb_ma_predictor[2][MA_NP][10] = { /* (0.15) */ |
|
|
|
{ |
|
|
|
@@ -263,6 +282,12 @@ static const int16_t cb_ma_predictor[2][MA_NP][10] = { /* (0.15) */ |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
/** |
|
|
|
* 15 3 |
|
|
|
* cb_ma_predictor_sum[j][i] = floor( 2 * (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[2][10] = { /* (0.15) */ |
|
|
|
{ 7798, 8447, 8205, 8293, 8126, 8477, 8447, 8703, 9043, 8604}, |
|
|
|
{14585, 18333, 19772, 17344, 16426, 16459, 15155, 15220, 16043, 15708} |
|
|
|
|