Lines Matching refs:ch

48     ChannelContext ch[16];
162 if (c->total_band_count > FF_ARRAY_ELEMS(c->ch->imdct_in))
240 c->ch[i].chan_type = r[i];
241 c->ch[i].count = c->base_band_count + ((r[i] != 2) ? c->stereo_band_count : 0);
242 c->ch[i].hfr_scale = &c->ch[i].scale_factors[c->base_band_count + c->stereo_band_count];
243 if (c->ch[i].count > 128)
254 static void run_imdct(HCAContext *c, ChannelContext *ch, int index, float *out)
256 c->tx_fn(c->tx_ctx, ch->imdct_out, ch->imdct_in, sizeof(float));
258 c->fdsp->vector_fmul_window(out, ch->imdct_prev + (128 >> 1),
259 ch->imdct_out, window, 128 >> 1);
261 memcpy(ch->imdct_prev, ch->imdct_out, 128 * sizeof(float));
282 static void reconstruct_hfr(HCAContext *s, ChannelContext *ch,
287 if (ch->chan_type == 2 || !bands_per_hfr_group)
292 ch->imdct_in[k] = scale_conversion_table[ scale_conv_bias +
293 av_clip_intp2(ch->hfr_scale[i] - ch->scale_factors[l], 6) ] * ch->imdct_in[l];
297 ch->imdct_in[127] = 0;
300 static void dequantize_coefficients(HCAContext *c, ChannelContext *ch,
303 for (int i = 0; i < ch->count; i++) {
304 unsigned scale = ch->scale[i];
319 ch->imdct_in[i] = factor * ch->base[i];
322 memset(ch->imdct_in + ch->count, 0, sizeof(ch->imdct_in) - ch->count * sizeof(ch->imdct_in[0]));
325 static void unpack(HCAContext *c, ChannelContext *ch,
334 for (int i = 0; i < ch->count; i++)
335 ch->scale_factors[i] = get_bits(gb, 6);
341 ch->scale_factors[0] = factor;
342 for (int i = 1; i < ch->count; i++){
352 ch->scale_factors[i] = factor;
355 memset(ch->scale_factors, 0, 128);
358 if (ch->chan_type == 2){
359 ch->intensity[0] = get_bits(gb, 4);
360 if (ch->intensity[0] < 15) {
362 ch->intensity[i] = get_bits(gb, 4);
366 ch->hfr_scale[i] = get_bits(gb, 6);
369 for (int i = 0; i < ch->count; i++) {
370 int scale = ch->scale_factors[i];
376 ch->scale[i] = scale;
379 memset(ch->scale + ch->count, 0, sizeof(ch->scale) - ch->count);
381 for (int i = 0; i < ch->count; i++)
382 ch->base[i] = dequantizer_scaling_table[ch->scale_factors[i]] * quant_step_size[ch->scale[i]];
389 int ch, ret, packed_noise_level;
411 for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++)
412 unpack(c, &c->ch[ch], gb, c->hfr_group_count, packed_noise_level, c->ath);
415 for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++)
416 dequantize_coefficients(c, &c->ch[ch], gb);
417 for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++)
418 reconstruct_hfr(c, &c->ch[ch], c->hfr_group_count, c->bands_per_hfr_group,
420 for (ch = 0; ch < avctx->ch_layout.nb_channels - 1; ch++)
421 apply_intensity_stereo(c, &c->ch[ch], &c->ch[ch+1], i,
424 for (ch = 0; ch < avctx->ch_layout.nb_channels; ch++)
425 run_imdct(c, &c->ch[ch], i, samples[ch] + i * 128);