Lines Matching refs:sb

356     int sb, group, ret;
372 for (sb = 0; sb < 6; sb++)
373 s->tonal_scf[sb] = get_bits(&s->gb, 6);
503 int ch, sb, sf, nsubbands, ret;
514 for (sb = 2; sb < nsubbands; sb++) {
515 ret = parse_scale_factors(s, s->grid_1_scf[ch1][sb]);
518 if (ch1 != ch2 && ff_dca_grid_1_to_scf[sb] < s->min_mono_subband) {
519 ret = parse_scale_factors(s, s->grid_1_scf[ch2][sb]);
529 for (sb = 0; sb < s->nsubbands - 4; sb++) {
530 s->grid_3_avg[ch1][sb] = parse_vlc(&s->gb, &ff_dca_vlc_avg_g3, 2) - 16;
532 if (sb + 4 < s->min_mono_subband)
533 s->grid_3_avg[ch2][sb] = parse_vlc(&s->gb, &ff_dca_vlc_avg_g3, 2) - 16;
535 s->grid_3_avg[ch2][sb] = s->grid_3_avg[ch1][sb];
555 for (sb = 0; sb < nsubbands; sb++)
558 s->part_stereo[ch][sb][sf] = parse_st_code(&s->gb, min_v[ch - ch1]);
571 int sb, nsubbands, ret;
575 for (sb = 2; sb < nsubbands; sb++) {
576 if (ff_dca_grid_1_to_scf[sb] >= s->min_mono_subband) {
577 ret = parse_scale_factors(s, s->grid_1_scf[ch2][sb]);
584 for (sb = 0; sb < s->nsubbands - 4; sb++) {
585 if (sb + 4 >= s->min_mono_subband) {
588 s->grid_3_avg[ch2][sb] = parse_vlc(&s->gb, &ff_dca_vlc_avg_g3, 2) - 16;
595 static void parse_grid_3(DCALbrDecoder *s, int ch1, int ch2, int sb, int flag)
600 if ((ch != ch1 && sb + 4 >= s->min_mono_subband) != flag)
603 if (s->grid_3_pres[ch] & (1U << sb))
609 s->grid_3_scf[ch][sb][i] = parse_vlc(&s->gb, &ff_dca_vlc_grid_3, 2) - 16;
613 s->grid_3_pres[ch] |= 1U << sb;
617 static float lbr_rand(DCALbrDecoder *s, int sb)
620 return s->lbr_rand * s->sb_scf[sb];
626 static void parse_ch(DCALbrDecoder *s, int ch, int sb, int quant_level, int flag)
628 float *samples = s->time_samples[ch][sb];
695 s->time_samples[ch][sb][i] = lbr_rand(s, sb);
697 s->ch_pres[ch] |= 1U << sb;
703 int sb, sb_g3, sb_reorder, quant_level;
705 for (sb = start_sb; sb < end_sb; sb++) {
707 if (sb < 6) {
708 sb_reorder = sb;
709 } else if (flag && sb < s->max_mono_subband) {
710 sb_reorder = s->sb_indices[sb];
717 s->sb_indices[sb] = sb_reorder;
723 if (sb == 12) {
726 } else if (sb < 12 && sb_reorder >= 4) {
740 quant_level = s->quant_levels[ch1 / 2][sb];
745 if (sb < s->max_mono_subband && sb_reorder >= s->min_mono_subband) {
782 int i, sb, ch, codes[16];
785 for (sb = start_sb; sb < end_sb; sb++) {
786 int ncodes = 8 * (1 + (sb < 2));
793 convert_lpc(s->lpc_coeff[f][ch][sb][i], &codes[i * 8]);
803 int sb, ch, ol, st, max_sb, profile, ret;
822 for (sb = 0; sb < s->nsubbands; sb++) {
823 int f = sb * s->limited_rate / s->nsubbands;
826 quant_levels[sb] = 1;
828 quant_levels[sb] = 2;
830 quant_levels[sb] = 3;
832 quant_levels[sb] = 4;
834 quant_levels[sb] = 5;
838 for (sb = 0; sb < 8; sb++)
839 s->quant_levels[ch1 / 2][sb] = quant_levels[ff_dca_sb_reorder[max_sb][sb]];
840 for (; sb < s->nsubbands; sb++)
841 s->quant_levels[ch1 / 2][sb] = quant_levels[sb];
854 for (sb = 0; sb < 2; sb++)
856 if ((ret = parse_scale_factors(s, s->grid_1_scf[ch][sb])) < 0)
865 int i, j, sb, ch, nsubbands;
871 for (sb = start_sb; sb < end_sb; sb++) {
873 uint8_t *g2_scf = s->grid_2_scf[ch][sb];
875 if ((ch != ch1 && ff_dca_grid_2_to_scf[sb] >= s->min_mono_subband) != flag) {
877 memcpy(g2_scf, s->grid_2_scf[ch1][sb], 64);
988 int ch, sb;
998 for (sb = 0; sb < s->nsubbands; sb++) {
999 s->time_samples[ch][sb] = ptr;
1173 int i, ch, sb, sf, ret, group, chunk_id, chunk_len;
1257 for (sb = 0; sb < s->nsubbands / 4; sb++) {
1258 s->part_stereo[ch][sb][0] = s->part_stereo[ch][sb][4];
1259 s->part_stereo[ch][sb][4] = 16;
1398 int i, ch, sb;
1401 for (sb = 0; sb < s->nsubbands; sb++) {
1402 int g1_sb = ff_dca_scf_to_grid_1[sb];
1407 int w1 = ff_dca_grid_1_weights[g1_sb ][sb];
1408 int w2 = ff_dca_grid_1_weights[g1_sb + 1][sb];
1410 uint8_t *hr_scf = s->high_res_scf[ch][sb];
1412 if (sb < 4) {
1418 int8_t *g3_scf = s->grid_3_scf[ch][sb - 4];
1419 int g3_avg = s->grid_3_avg[ch][sb - 4];
1435 int i, j, k, ch, sb;
1438 for (sb = 0; sb < s->nsubbands; sb++) {
1439 float *samples = s->time_samples[ch][sb];
1441 if (s->ch_pres[ch] & (1U << sb))
1444 if (sb < 2) {
1447 } else if (sb < 10) {
1449 samples[i] = lbr_rand(s, sb);
1462 samples[j] = (accum[j] * 0.25f + 0.5f) * lbr_rand(s, sb);
1481 static void synth_lpc(DCALbrDecoder *s, int ch1, int ch2, int sb)
1487 float *samples = s->time_samples[ch][sb];
1489 if (!(s->ch_pres[ch] & (1U << sb)))
1492 if (sb < 2) {
1493 predict(samples, s->lpc_coeff[f^1][ch][sb][1], 16);
1494 predict(samples + 16, s->lpc_coeff[f ][ch][sb][0], 64);
1495 predict(samples + 80, s->lpc_coeff[f ][ch][sb][1], 48);
1497 predict(samples, s->lpc_coeff[f^1][ch][sb][0], 16);
1498 predict(samples + 16, s->lpc_coeff[f ][ch][sb][0], 112);
1505 int i, j, sb, ch;
1507 for (sb = 0; sb < s->nsubbands; sb++) {
1510 float *samples = s->time_samples[ch][sb];
1511 uint8_t *hr_scf = s->high_res_scf[ch][sb];
1512 if (sb < 4) {
1521 uint8_t *g2_scf = s->grid_2_scf[ch][ff_dca_scf_to_grid_2[sb]];
1534 float *samples_l = s->time_samples[ch1][sb];
1535 float *samples_r = s->time_samples[ch2][sb];
1536 int ch2_pres = s->ch_pres[ch2] & (1U << sb);
1539 int sbms = (s->sec_ch_sbms[ch1 / 2][sb] >> i) & 1;
1540 int lrms = (s->sec_ch_lrms[ch1 / 2][sb] >> i) & 1;
1542 if (sb >= s->min_mono_subband) {
1580 if (sb < 3)
1581 synth_lpc(s, ch1, ch2, sb);
1590 int i, ch, sb, sf;
1593 for (sb = s->min_mono_subband; sb < s->nsubbands; sb++) {
1594 uint8_t *pt_st = s->part_stereo[ch][(sb - s->min_mono_subband) / 4];
1595 float *samples = s->time_samples[ch][sb];
1597 if (s->ch_pres[ch2] & (1U << sb))
1696 int sf, sb, nsubbands = s->nsubbands, noutsubbands = 8 << s->freq_range;
1720 for (sb = 0; sb < nsubbands; sb++) {
1721 float *samples = s->time_samples[ch][sb] - DCA_LBR_TIME_HISTORY;
1790 int ch, sb;
1805 for (sb = 0; sb < s->nsubbands; sb++) {
1806 float *samples = s->time_samples[ch][sb] - DCA_LBR_TIME_HISTORY;