comparison aacsbr.c @ 11448:9fd8da0f1a50 libavcodec

aacsbr: Factor out the common end border case from t_q setup.
author alexc
date Tue, 09 Mar 2010 21:35:55 +0000
parents 826c8ee54ae9
children e62f45fd47d4
comparison
equal deleted inserted replaced
11447:826c8ee54ae9 11448:9fd8da0f1a50
719 } 719 }
720 720
721 ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1; 721 ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1;
722 722
723 ch_data->t_q[0] = ch_data->t_env[0]; 723 ch_data->t_q[0] = ch_data->t_env[0];
724 ch_data->t_q[ch_data->bs_num_noise] = ch_data->t_env[ch_data->bs_num_env];
724 if (ch_data->bs_num_noise > 1) { 725 if (ch_data->bs_num_noise > 1) {
725 unsigned int idx; 726 unsigned int idx;
726 if (ch_data->bs_frame_class == FIXFIX) { 727 if (ch_data->bs_frame_class == FIXFIX) {
727 idx = ch_data->bs_num_env >> 1; 728 idx = ch_data->bs_num_env >> 1;
728 } else if (ch_data->bs_frame_class & 1) { // FIXVAR or VARVAR 729 } else if (ch_data->bs_frame_class & 1) { // FIXVAR or VARVAR
734 idx = ch_data->bs_num_env - 1; 735 idx = ch_data->bs_num_env - 1;
735 else // bs_pointer > 1 736 else // bs_pointer > 1
736 idx = bs_pointer - 1; 737 idx = bs_pointer - 1;
737 } 738 }
738 ch_data->t_q[1] = ch_data->t_env[idx]; 739 ch_data->t_q[1] = ch_data->t_env[idx];
739 ch_data->t_q[2] = ch_data->t_env[ch_data->bs_num_env]; 740 }
740 } else
741 ch_data->t_q[1] = ch_data->t_env[ch_data->bs_num_env];
742 741
743 ch_data->e_a[0] = -(ch_data->e_a[1] != bs_num_env_old); // l_APrev 742 ch_data->e_a[0] = -(ch_data->e_a[1] != bs_num_env_old); // l_APrev
744 ch_data->e_a[1] = -1; 743 ch_data->e_a[1] = -1;
745 if ((ch_data->bs_frame_class & 1) && bs_pointer) { // FIXVAR or VARVAR and bs_pointer != 0 744 if ((ch_data->bs_frame_class & 1) && bs_pointer) { // FIXVAR or VARVAR and bs_pointer != 0
746 ch_data->e_a[1] = ch_data->bs_num_env + 1 - bs_pointer; 745 ch_data->e_a[1] = ch_data->bs_num_env + 1 - bs_pointer;