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++) {
277 for (i = 0; i < channels; i++)
278 for (j = 0; j < sub; j++)
280 bits->
bark1[i][j][k] =
283 for (i = 0; i < channels; i++)
284 for (j = 0; j < sub; j++)
288 for (i = 0; i < channels; i++)
291 for (i = 0; i < channels; i++) {
293 for (j = 0; j < sub; j++)
299 for (i = 0; i < channels; i++) {
309 for (i = 0; i < channels; i++) {
331 if (isampf < 8 || isampf > 44) {
359 if (ibps < 8 || ibps > 48) {
364 switch ((isampf << 8) + ibps) {
394 "This version does not support %d kHz - %d kbit/s/ch mode.\n",
408 "VQF TwinVQ should have only one frame per packet\n");