Lines Matching refs:ch
155 int n, ch, nchannels, header_size = 0, header_pos = get_bits_count(&s->gb);
240 for (ch = 0; ch < nchannels; ch++) {
246 s->xxch_dmix_mask[ch] = mask;
250 for (ch = 0; ch < nchannels; ch++) {
252 if (s->xxch_dmix_mask[ch] & (1U << n)) {
276 for (ch = xch_base; ch < s->nchannels; ch++) {
277 s->nsubbands[ch] = get_bits(&s->gb, 5) + 2;
278 if (s->nsubbands[ch] > DCA_SUBBANDS) {
285 for (ch = xch_base; ch < s->nchannels; ch++)
286 s->subband_vq_start[ch] = get_bits(&s->gb, 5) + 1;
289 for (ch = xch_base; ch < s->nchannels; ch++) {
296 s->joint_intensity_index[ch] = n;
300 for (ch = xch_base; ch < s->nchannels; ch++)
301 s->transition_mode_sel[ch] = get_bits(&s->gb, 2);
304 for (ch = xch_base; ch < s->nchannels; ch++) {
305 s->scale_factor_sel[ch] = get_bits(&s->gb, 3);
306 if (s->scale_factor_sel[ch] == 7) {
313 for (ch = xch_base; ch < s->nchannels; ch++) {
314 s->bit_allocation_sel[ch] = get_bits(&s->gb, 3);
315 if (s->bit_allocation_sel[ch] == 7) {
323 for (ch = xch_base; ch < s->nchannels; ch++)
324 s->quant_index_sel[ch][n] = get_bits(&s->gb, ff_dca_quant_index_sel_nbits[n]);
328 for (ch = xch_base; ch < s->nchannels; ch++)
329 if (s->quant_index_sel[ch][n] < ff_dca_quant_index_group_size[n])
330 s->scale_factor_adj[ch][n] = ff_dca_scale_factor_adj[get_bits(&s->gb, 2)];
404 int ch, band, ret;
418 for (ch = xch_base; ch < s->nchannels; ch++)
419 for (band = 0; band < s->nsubbands[ch]; band++)
420 s->prediction_mode[ch][band] = get_bits1(&s->gb);
423 for (ch = xch_base; ch < s->nchannels; ch++)
424 for (band = 0; band < s->nsubbands[ch]; band++)
425 if (s->prediction_mode[ch][band])
426 s->prediction_vq_index[ch][band] = get_bits(&s->gb, 12);
429 for (ch = xch_base; ch < s->nchannels; ch++) {
430 int sel = s->bit_allocation_sel[ch];
432 for (band = 0; band < s->subband_vq_start[ch]; band++) {
445 s->bit_allocation[ch][band] = abits;
450 for (ch = xch_base; ch < s->nchannels; ch++) {
452 memset(s->transition_mode[sf][ch], 0, sizeof(s->transition_mode[0][0]));
456 int sel = s->transition_mode_sel[ch];
457 for (band = 0; band < s->subband_vq_start[ch]; band++)
458 if (s->bit_allocation[ch][band])
459 s->transition_mode[sf][ch][band] = dca_get_vlc(&s->gb, &ff_dca_vlc_transition_mode, sel);
464 for (ch = xch_base; ch < s->nchannels; ch++) {
465 int sel = s->scale_factor_sel[ch];
469 for (band = 0; band < s->subband_vq_start[ch]; band++) {
470 if (s->bit_allocation[ch][band]) {
473 s->scale_factors[ch][band][0] = ret;
474 if (s->transition_mode[sf][ch][band]) {
477 s->scale_factors[ch][band][1] = ret;
480 s->scale_factors[ch][band][0] = 0;
485 for (band = s->subband_vq_start[ch]; band < s->nsubbands[ch]; band++) {
488 s->scale_factors[ch][band][0] = ret;
493 for (ch = xch_base; ch < s->nchannels; ch++) {
494 if (s->joint_intensity_index[ch]) {
495 s->joint_scale_sel[ch] = get_bits(&s->gb, 3);
496 if (s->joint_scale_sel[ch] == 7) {
504 for (ch = xch_base; ch < s->nchannels; ch++) {
505 int src_ch = s->joint_intensity_index[ch] - 1;
507 int sel = s->joint_scale_sel[ch];
508 for (band = s->nsubbands[ch]; band < s->nsubbands[src_ch]; band++) {
511 s->joint_scale_factors[ch][band] = ret;
575 static inline int extract_audio(DCACoreDecoder *s, int32_t *audio, int abits, int ch)
586 int sel = s->quant_index_sel[ch][abits - 1];
627 int n, ssf, ofs, ch, band;
640 for (ch = xch_base; ch < s->nchannels; ch++) {
643 for (band = s->subband_vq_start[ch]; band < s->nsubbands[ch]; band++)
647 if (s->subband_vq_start[ch] < s->nsubbands[ch]) {
648 s->dcadsp->decode_hf(s->subband_samples[ch], vq_index,
649 ff_dca_high_freq_vq, s->scale_factors[ch],
650 s->subband_vq_start[ch], s->nsubbands[ch],
689 for (ch = xch_base; ch < s->nchannels; ch++) {
694 for (band = 0; band < s->subband_vq_start[ch]; band++) {
695 int ret, trans_ssf, abits = s->bit_allocation[ch][band];
699 if ((ret = extract_audio(s, audio, abits, ch)) < 0)
710 trans_ssf = s->transition_mode[sf][ch][band];
714 scale = s->scale_factors[ch][band][0];
716 scale = s->scale_factors[ch][band][1];
720 int64_t adj = s->scale_factor_adj[ch][abits - 1];
724 ff_dca_core_dequantize(s->subband_samples[ch][band] + ofs,
739 for (ch = xch_base; ch < s->nchannels; ch++) {
740 inverse_adpcm(s->subband_samples[ch], s->prediction_vq_index[ch],
741 s->prediction_mode[ch], 0, s->nsubbands[ch],
746 for (ch = xch_base; ch < s->nchannels; ch++) {
747 int src_ch = s->joint_intensity_index[ch] - 1;
749 s->dcadsp->decode_joint(s->subband_samples[ch], s->subband_samples[src_ch],
750 s->joint_scale_factors[ch], s->nsubbands[ch],
762 int ch, band;
766 for (ch = 0; ch < DCA_CHANNELS; ch++)
768 AV_ZERO128(s->subband_samples[ch][band] - DCA_ADPCM_COEFFS);
779 int ch, band;
788 for (ch = 0; ch < DCA_CHANNELS; ch++)
790 s->subband_samples[ch][band] = s->subband_buffer +
791 (ch * DCA_SUBBANDS + band) * nchsamples + DCA_ADPCM_COEFFS;
803 int sf, ch, ret, band, sub_pos, lfe_pos;
815 for (ch = xch_base; ch < s->nchannels; ch++) {
817 int nsubbands = s->nsubbands[ch];
818 if (s->joint_intensity_index[ch])
819 nsubbands = FFMAX(nsubbands, s->nsubbands[s->joint_intensity_index[ch] - 1]);
823 int32_t *samples = s->subband_samples[ch][band] - DCA_ADPCM_COEFFS;
829 int32_t *samples = s->subband_samples[ch][band] - DCA_ADPCM_COEFFS;
944 int ssf, ch, band, ofs;
956 for (ch = xbr_base_ch; ch < xbr_nchannels; ch++)
957 xbr_nabits[ch] = get_bits(&s->gb, 2) + 2;
960 for (ch = xbr_base_ch; ch < xbr_nchannels; ch++) {
961 for (band = 0; band < xbr_nsubbands[ch]; band++) {
962 xbr_bit_allocation[ch][band] = get_bits(&s->gb, xbr_nabits[ch]);
963 if (xbr_bit_allocation[ch][band] > DCA_ABITS_MAX) {
971 for (ch = xbr_base_ch; ch < xbr_nchannels; ch++) {
972 xbr_scale_nbits[ch] = get_bits(&s->gb, 3);
973 if (!xbr_scale_nbits[ch]) {
980 for (ch = xbr_base_ch; ch < xbr_nchannels; ch++) {
985 if (s->scale_factor_sel[ch] > 5) {
995 for (band = 0; band < xbr_nsubbands[ch]; band++) {
996 if (xbr_bit_allocation[ch][band]) {
997 int scale_index = get_bits(&s->gb, xbr_scale_nbits[ch]);
1002 xbr_scale_factors[ch][band][0] = scale_table[scale_index];
1003 if (xbr_transition_mode && s->transition_mode[sf][ch][band]) {
1004 scale_index = get_bits(&s->gb, xbr_scale_nbits[ch]);
1009 xbr_scale_factors[ch][band][1] = scale_table[scale_index];
1017 for (ch = xbr_base_ch; ch < xbr_nchannels; ch++) {
1021 for (band = 0; band < xbr_nsubbands[ch]; band++) {
1022 int ret, trans_ssf, abits = xbr_bit_allocation[ch][band];
1043 trans_ssf = s->transition_mode[sf][ch][band];
1049 scale = xbr_scale_factors[ch][band][0];
1051 scale = xbr_scale_factors[ch][band][1];
1053 ff_dca_core_dequantize(s->subband_samples[ch][band] + ofs,
1163 int n, ssf, ch, band, ofs;
1176 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1177 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++) {
1179 int32_t *samples = s->x96_subband_samples[ch][band] + *sub_pos;
1180 int32_t scale = s->scale_factors[ch][band >> 1][band & 1];
1182 switch (s->bit_allocation[ch][band]) {
1207 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1211 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++) {
1212 int ret, abits = s->bit_allocation[ch][band] - 1;
1220 if ((ret = extract_audio(s, audio, abits, ch)) < 0)
1231 scale = s->scale_factors[ch][band >> 1][band & 1];
1233 ff_dca_core_dequantize(s->x96_subband_samples[ch][band] + ofs,
1248 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1249 inverse_adpcm(s->x96_subband_samples[ch], s->prediction_vq_index[ch],
1250 s->prediction_mode[ch], s->x96_subband_start, s->nsubbands[ch],
1255 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1256 int src_ch = s->joint_intensity_index[ch] - 1;
1258 s->dcadsp->decode_joint(s->x96_subband_samples[ch], s->x96_subband_samples[src_ch],
1259 s->joint_scale_factors[ch], s->nsubbands[ch],
1271 int ch, band;
1275 for (ch = 0; ch < DCA_CHANNELS; ch++)
1277 AV_ZERO128(s->x96_subband_samples[ch][band] - DCA_ADPCM_COEFFS);
1287 int ch, band;
1296 for (ch = 0; ch < DCA_CHANNELS; ch++)
1298 s->x96_subband_samples[ch][band] = s->x96_subband_buffer +
1299 (ch * DCA_SUBBANDS_X96 + band) * nchsamples + DCA_ADPCM_COEFFS;
1310 int ch, band, ret;
1316 for (ch = xch_base; ch < s->x96_nchannels; ch++)
1317 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++)
1318 s->prediction_mode[ch][band] = get_bits1(&s->gb);
1321 for (ch = xch_base; ch < s->x96_nchannels; ch++)
1322 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++)
1323 if (s->prediction_mode[ch][band])
1324 s->prediction_vq_index[ch][band] = get_bits(&s->gb, 12);
1327 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1328 int sel = s->bit_allocation_sel[ch];
1331 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++) {
1343 s->bit_allocation[ch][band] = abits;
1348 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1349 int sel = s->scale_factor_sel[ch];
1354 for (band = s->x96_subband_start; band < s->nsubbands[ch]; band++) {
1357 s->scale_factors[ch][band >> 1][band & 1] = ret;
1362 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1363 if (s->joint_intensity_index[ch]) {
1364 s->joint_scale_sel[ch] = get_bits(&s->gb, 3);
1365 if (s->joint_scale_sel[ch] == 7) {
1373 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1374 int src_ch = s->joint_intensity_index[ch] - 1;
1376 int sel = s->joint_scale_sel[ch];
1377 for (band = s->nsubbands[ch]; band < s->nsubbands[src_ch]; band++) {
1380 s->joint_scale_factors[ch][band] = ret;
1394 int n, ch, header_size = 0, header_pos = get_bits_count(&s->gb);
1426 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1427 s->nsubbands[ch] = get_bits(&s->gb, 6) + 1;
1428 if (s->nsubbands[ch] < DCA_SUBBANDS) {
1429 av_log(s->avctx, AV_LOG_ERROR, "Invalid X96 subband activity count (%d)\n", s->nsubbands[ch]);
1435 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1442 s->joint_intensity_index[ch] = n;
1446 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1447 s->scale_factor_sel[ch] = get_bits(&s->gb, 3);
1448 if (s->scale_factor_sel[ch] >= 6) {
1455 for (ch = xch_base; ch < s->x96_nchannels; ch++)
1456 s->bit_allocation_sel[ch] = get_bits(&s->gb, 3);
1460 for (ch = xch_base; ch < s->x96_nchannels; ch++)
1461 s->quant_index_sel[ch][n] = get_bits(&s->gb, ff_dca_quant_index_sel_nbits[n]);
1481 int sf, ch, ret, band, sub_pos;
1493 for (ch = xch_base; ch < s->x96_nchannels; ch++) {
1495 int nsubbands = s->nsubbands[ch];
1496 if (s->joint_intensity_index[ch])
1497 nsubbands = FFMAX(nsubbands, s->nsubbands[s->joint_intensity_index[ch] - 1]);
1501 int32_t *samples = s->x96_subband_samples[ch][band] - DCA_ADPCM_COEFFS;
1910 static int map_prm_ch_to_spkr(DCACoreDecoder *s, int ch)
1916 if (ch < pos) {
1917 spkr = prm_ch_to_spkr_map[s->audio_mode][ch];
1931 if ((s->ext_audio_mask & DCA_CSS_XCH) && ch == pos)
1938 if (pos++ == ch)
1963 int n, ch, spkr, nsamples, x96_nchannels = 0;
2009 for (ch = 0; ch < s->nchannels; ch++) {
2011 spkr = map_prm_ch_to_spkr(s, ch);
2020 s->subband_samples[ch],
2021 ch < x96_nchannels ? s->x96_subband_samples[ch] : NULL,
2022 s->dcadsp_data[ch].u.fix.hist1,
2023 &s->dcadsp_data[ch].offset,
2024 s->dcadsp_data[ch].u.fix.hist2,
2069 int i, n, ch, ret, spkr, nsamples;
2110 for (ch = xch_base; ch < s->nchannels; ch++) {
2111 int src_spkr = map_prm_ch_to_spkr(s, ch);
2115 if (s->xxch_dmix_mask[ch - xch_base] & (1U << spkr)) {
2166 int i, n, ch, ret, spkr, nsamples, nchannels;
2218 for (ch = 0; ch < s->nchannels; ch++) {
2220 spkr = map_prm_ch_to_spkr(s, ch);
2229 s->subband_samples[ch],
2230 ch < x96_nchannels ? s->x96_subband_samples[ch] : NULL,
2231 s->dcadsp_data[ch].u.flt.hist1,
2232 &s->dcadsp_data[ch].offset,
2233 s->dcadsp_data[ch].u.flt.hist2,
2293 for (ch = xch_base; ch < s->nchannels; ch++) {
2294 int src_spkr = map_prm_ch_to_spkr(s, ch);
2298 if (s->xxch_dmix_mask[ch - xch_base] & (1U << spkr)) {