OSDN Git Service

aacsbr: Factor out the common end border case from t_q setup.
authorAlex Converse <alex.converse@gmail.com>
Tue, 9 Mar 2010 21:35:55 +0000 (21:35 +0000)
committerAlex Converse <alex.converse@gmail.com>
Tue, 9 Mar 2010 21:35:55 +0000 (21:35 +0000)
Originally committed as revision 22411 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/aacsbr.c

index 8ca2403..7afb47d 100644 (file)
@@ -721,6 +721,7 @@ static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,
     ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1;
 
     ch_data->t_q[0] = ch_data->t_env[0];
+    ch_data->t_q[ch_data->bs_num_noise] = ch_data->t_env[ch_data->bs_num_env];
     if (ch_data->bs_num_noise > 1) {
         unsigned int idx;
         if (ch_data->bs_frame_class == FIXFIX) {
@@ -736,9 +737,7 @@ static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,
                 idx = bs_pointer - 1;
         }
         ch_data->t_q[1] = ch_data->t_env[idx];
-        ch_data->t_q[2] = ch_data->t_env[ch_data->bs_num_env];
-    } else
-        ch_data->t_q[1] = ch_data->t_env[ch_data->bs_num_env];
+    }
 
     ch_data->e_a[0] = -(ch_data->e_a[1] != bs_num_env_old); // l_APrev
     ch_data->e_a[1] = -1;