38 512, 12,
tab.
lsp08, 1, 5, 3, 3,
tab.
shape08, 8, 28, 20, 6, 40
47 512, 16,
tab.
lsp11, 1, 6, 4, 3,
tab.
shape11, 9, 36, 30, 7, 90
56 512, 16,
tab.
lsp11, 1, 6, 4, 3,
tab.
shape11, 9, 36, 30, 7, 90
65 1024, 16,
tab.
lsp16, 1, 6, 4, 3,
tab.
shape16, 9, 56, 60, 7, 180
74 1024, 16,
tab.
lsp22_1, 1, 6, 4, 3,
tab.
shape22_1, 9, 56, 36, 7, 144
83 1024, 16,
tab.
lsp22_1, 1, 6, 4, 3,
tab.
shape22_1, 9, 56, 36, 7, 144
92 512, 16,
tab.
lsp22_2, 1, 6, 4, 4,
tab.
shape22_2, 9, 56, 36, 7, 72
101 2048, 20,
tab.
lsp44, 1, 6, 4, 4,
tab.
shape44, 9, 84, 54, 7, 432
110 2048, 20,
tab.
lsp44, 1, 6, 4, 4,
tab.
shape44, 9, 84, 54, 7, 432
139 if (x % 400 || b % 5)
144 size =
tabs[b / 5].size;
145 rtab =
tabs[b / 5].tab;
146 return x - rtab[size *
av_log2(2 * (x - 1) / size) + (x - 1) % size];
155 float ppc_gain,
float *speech,
int len)
159 const float *shape_end = shape +
len;
163 for (i = 0; i < width / 2; i++)
164 speech[i] += ppc_gain * *shape++;
168 for (j = -width / 2; j < (width + 1) / 2; j++)
169 speech[j + center] += ppc_gain * *shape++;
174 for (j = -width / 2; j < (width + 1) / 2 && shape < shape_end; j++)
175 speech[j + center] += ppc_gain * *shape++;
179 const float *shape,
float *speech)
186 int period_range = max_period - min_period;
187 float pgain_step = 25000.0 / ((1 << mtab->
pgain_bit) - 1);
188 float ppc_gain = 1.0 / 8192 *
195 int period = min_period +
200 if (isampf == 22 && ibps == 32) {
211 int ch,
float *
out,
float gain,
216 float *hist = tctx->
bark_hist[ftype][ch];
217 float val = ((
const float []) { 0.4, 0.35, 0.28 })[ftype];
222 for (i = 0; i < fw_cb_len; i++)
223 for (j = 0; j < bark_n_coef; j++, idx++) {
224 float tmp2 = mtab->
fmode[ftype].
bark_cb[fw_cb_len * in[j] + i] *
226 float st = use_hist ? (1.0 -
val) * tmp2 + val * hist[idx] + 1.0
243 for (i = 0; i < tctx->
n_div[ftype]; i++) {
278 for (i = 0; i < channels; i++)
279 for (j = 0; j < sub; j++)
281 bits->
bark1[i][j][k] =
284 for (i = 0; i < channels; i++)
285 for (j = 0; j < sub; j++)
289 for (i = 0; i < channels; i++)
292 for (i = 0; i < channels; i++) {
294 for (j = 0; j < sub; j++)
300 for (i = 0; i < channels; i++) {
310 for (i = 0; i < channels; i++) {
332 if (isampf < 8 || isampf > 44) {
360 if (ibps < 8 || ibps > 48) {
365 switch ((isampf << 8) + ibps) {
395 "This version does not support %d kHz - %d kbit/s/ch mode.\n",
409 "VQF TwinVQ should have only one frame per packet\n");