Lines Matching refs:ch_data

627                          GetBitContext *gb, SBRData *ch_data)
634 unsigned bs_num_env_old = ch_data->bs_num_env;
637 ch_data->bs_freq_res[0] = ch_data->bs_freq_res[ch_data->bs_num_env];
638 ch_data->bs_amp_res = sbr->bs_amp_res_header;
639 ch_data->t_env_num_env_old = ch_data->t_env[bs_num_env_old];
650 ch_data->bs_num_env = bs_num_env;
651 num_rel_lead = ch_data->bs_num_env - 1;
652 if (ch_data->bs_num_env == 1)
653 ch_data->bs_amp_res = 0;
656 ch_data->t_env[0] = 0;
657 ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;
659 abs_bord_trail = (abs_bord_trail + (ch_data->bs_num_env >> 1)) /
660 ch_data->bs_num_env;
662 ch_data->t_env[i + 1] = ch_data->t_env[i] + abs_bord_trail;
664 ch_data->bs_freq_res[1] = get_bits1(gb);
665 for (i = 1; i < ch_data->bs_num_env; i++)
666 ch_data->bs_freq_res[i + 1] = ch_data->bs_freq_res[1];
671 ch_data->bs_num_env = num_rel_trail + 1;
672 ch_data->t_env[0] = 0;
673 ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;
676 ch_data->t_env[ch_data->bs_num_env - 1 - i] =
677 ch_data->t_env[ch_data->bs_num_env - i] - 2 * get_bits(gb, 2) - 2;
679 bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);
681 for (i = 0; i < ch_data->bs_num_env; i++)
682 ch_data->bs_freq_res[ch_data->bs_num_env - i] = get_bits1(gb);
685 ch_data->t_env[0] = get_bits(gb, 2);
687 ch_data->bs_num_env = num_rel_lead + 1;
688 ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;
691 ch_data->t_env[i + 1] = ch_data->t_env[i] + 2 * get_bits(gb, 2) + 2;
693 bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);
695 get_bits1_vector(gb, ch_data->bs_freq_res + 1, ch_data->bs_num_env);
698 ch_data->t_env[0] = get_bits(gb, 2);
710 ch_data->bs_num_env = bs_num_env;
712 ch_data->t_env[ch_data->bs_num_env] = abs_bord_trail;
715 ch_data->t_env[i + 1] = ch_data->t_env[i] + 2 * get_bits(gb, 2) + 2;
717 ch_data->t_env[ch_data->bs_num_env - 1 - i] =
718 ch_data->t_env[ch_data->bs_num_env - i] - 2 * get_bits(gb, 2) - 2;
720 bs_pointer = get_bits(gb, ceil_log2[ch_data->bs_num_env]);
722 get_bits1_vector(gb, ch_data->bs_freq_res + 1, ch_data->bs_num_env);
725 ch_data->bs_frame_class = bs_frame_class;
728 if (bs_pointer > ch_data->bs_num_env + 1) {
735 for (i = 1; i <= ch_data->bs_num_env; i++) {
736 if (ch_data->t_env[i-1] >= ch_data->t_env[i]) {
742 ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1;
744 ch_data->t_q[0] = ch_data->t_env[0];
745 ch_data->t_q[ch_data->bs_num_noise] = ch_data->t_env[ch_data->bs_num_env];
746 if (ch_data->bs_num_noise > 1) {
748 if (ch_data->bs_frame_class == FIXFIX) {
749 idx = ch_data->bs_num_env >> 1;
750 } else if (ch_data->bs_frame_class & 1) { // FIXVAR or VARVAR
751 idx = ch_data->bs_num_env - FFMAX(bs_pointer - 1, 1);
756 idx = ch_data->bs_num_env - 1;
760 ch_data->t_q[1] = ch_data->t_env[idx];
763 ch_data->e_a[0] = -(ch_data->e_a[1] != bs_num_env_old); // l_APrev
764 ch_data->e_a[1] = -1;
765 if ((ch_data->bs_frame_class & 1) && bs_pointer) { // FIXVAR or VARVAR and bs_pointer != 0
766 ch_data->e_a[1] = ch_data->bs_num_env + 1 - bs_pointer;
767 } else if ((ch_data->bs_frame_class == 2) && (bs_pointer > 1)) // VARFIX and bs_pointer > 1
768 ch_data->e_a[1] = bs_pointer - 1;
792 SBRData *ch_data)
794 get_bits1_vector(gb, ch_data->bs_df_env, ch_data->bs_num_env);
795 get_bits1_vector(gb, ch_data->bs_df_noise, ch_data->bs_num_noise);
800 SBRData *ch_data)
804 memcpy(ch_data->bs_invf_mode[1], ch_data->bs_invf_mode[0], 5 * sizeof(uint8_t));
806 ch_data->bs_invf_mode[0][i] = get_bits(gb, 2);
810 SBRData *ch_data, int ch)
820 if (ch_data->bs_amp_res) {
834 if (ch_data->bs_amp_res) {
849 for (i = 0; i < ch_data->bs_num_env; i++) {
850 if (ch_data->bs_df_env[i]) {
852 if (ch_data->bs_freq_res[i + 1] == ch_data->bs_freq_res[i]) {
853 for (j = 0; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) {
854 ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][j] + delta * (get_vlc2(gb, t_huff, 9, 3) - t_lav);
855 if (ch_data->env_facs_q[i + 1][j] > 127U) {
856 av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]);
860 } else if (ch_data->bs_freq_res[i + 1]) {
861 for (j = 0; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) {
863 ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][k] + delta * (get_vlc2(gb, t_huff, 9, 3) - t_lav);
864 if (ch_data->env_facs_q[i + 1][j] > 127U) {
865 av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]);
870 for (j = 0; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) {
872 ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i][k] + delta * (get_vlc2(gb, t_huff, 9, 3) - t_lav);
873 if (ch_data->env_facs_q[i + 1][j] > 127U) {
874 av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]);
880 ch_data->env_facs_q[i + 1][0] = delta * get_bits(gb, bits); // bs_env_start_value_balance
881 for (j = 1; j < sbr->n[ch_data->bs_freq_res[i + 1]]; j++) {
882 ch_data->env_facs_q[i + 1][j] = ch_data->env_facs_q[i + 1][j - 1] + delta * (get_vlc2(gb, f_huff, 9, 3) - f_lav);
883 if (ch_data->env_facs_q[i + 1][j] > 127U) {
884 av_log(ac->avctx, AV_LOG_ERROR, "env_facs_q %d is invalid\n", ch_data->env_facs_q[i + 1][j]);
892 memcpy(ch_data->env_facs_q[0], ch_data->env_facs_q[ch_data->bs_num_env],
893 sizeof(ch_data->env_facs_q[0]));
899 SBRData *ch_data, int ch)
918 for (i = 0; i < ch_data->bs_num_noise; i++) {
919 if (ch_data->bs_df_noise[i]) {
921 ch_data->noise_facs_q[i + 1][j] = ch_data->noise_facs_q[i][j] + delta * (get_vlc2(gb, t_huff, 9, 2) - t_lav);
922 if (ch_data->noise_facs_q[i + 1][j] > 30U) {
923 av_log(ac->avctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]);
928 ch_data->noise_facs_q[i + 1][0] = delta * get_bits(gb, 5); // bs_noise_start_value_balance or bs_noise_start_value_level
930 ch_data->noise_facs_q[i + 1][j] = ch_data->noise_facs_q[i + 1][j - 1] + delta * (get_vlc2(gb, f_huff, 9, 3) - f_lav);
931 if (ch_data->noise_facs_q[i + 1][j] > 30U) {
932 av_log(ac->avctx, AV_LOG_ERROR, "noise_facs_q %d is invalid\n", ch_data->noise_facs_q[i + 1][j]);
940 memcpy(ch_data->noise_facs_q[0], ch_data->noise_facs_q[ch_data->bs_num_noise],
941 sizeof(ch_data->noise_facs_q[0]));
1362 SBRData *ch_data, int e_a[2])
1366 memset(ch_data->s_indexmapped[1], 0, 7*sizeof(ch_data->s_indexmapped[1]));
1367 for (e = 0; e < ch_data->bs_num_env; e++) {
1368 const unsigned int ilim = sbr->n[ch_data->bs_freq_res[e + 1]];
1369 uint16_t *table = ch_data->bs_freq_res[e + 1] ? sbr->f_tablehigh : sbr->f_tablelow;
1380 sbr->e_origmapped[e][m - sbr->kx[1]] = ch_data->env_facs[e+1][i];
1382 // ch_data->bs_num_noise > 1 => 2 noise floors
1383 k = (ch_data->bs_num_noise > 1) && (ch_data->t_env[e] >= ch_data->t_q[1]);
1386 sbr->q_mapped[e][m - sbr->kx[1]] = ch_data->noise_facs[k+1][i];
1389 if (ch_data->bs_add_harmonic_flag) {
1393 ch_data->s_indexmapped[e + 1][m_midpoint - sbr->kx[1]] = ch_data->bs_add_harmonic[i] *
1394 (e >= e_a[1] || (ch_data->s_indexmapped[0][m_midpoint - sbr->kx[1]] == 1));
1401 if (ch_data->s_indexmapped[e + 1][m - sbr->kx[1]]) {
1411 memcpy(ch_data->s_indexmapped[0], ch_data->s_indexmapped[ch_data->bs_num_env], sizeof(ch_data->s_indexmapped[0]));
1417 SpectralBandReplication *sbr, SBRData *ch_data)
1423 for (e = 0; e < ch_data->bs_num_env; e++) {
1425 const SoftFloat recip_env_size = av_int2sf(0x20000000 / (ch_data->t_env[e + 1] - ch_data->t_env[e]), 30);
1427 const float recip_env_size = 0.5f / (ch_data->t_env[e + 1] - ch_data->t_env[e]);
1429 int ilb = ch_data->t_env[e] * 2 + ENVELOPE_ADJUSTMENT_OFFSET;
1430 int iub = ch_data->t_env[e + 1] * 2 + ENVELOPE_ADJUSTMENT_OFFSET;
1444 for (e = 0; e < ch_data->bs_num_env; e++) {
1445 const int env_size = 2 * (ch_data->t_env[e + 1] - ch_data->t_env[e]);
1446 int ilb = ch_data->t_env[e] * 2 + ENVELOPE_ADJUSTMENT_OFFSET;
1447 int iub = ch_data->t_env[e + 1] * 2 + ENVELOPE_ADJUSTMENT_OFFSET;
1448 const uint16_t *table = ch_data->bs_freq_res[e + 1] ? sbr->f_tablehigh : sbr->f_tablelow;
1450 for (p = 0; p < sbr->n[ch_data->bs_freq_res[e + 1]]; p++) {