[FFmpeg-soc] [soc]: r4177 - wmapro/wma3dec.c
faust3
subversion at mplayerhq.hu
Wed Mar 18 22:19:59 CET 2009
Author: faust3
Date: Wed Mar 18 22:19:58 2009
New Revision: 4177
Log:
do not recalculate the minimum subframe length in wma_decode_tilehdr
Modified:
wmapro/wma3dec.c
Modified: wmapro/wma3dec.c
==============================================================================
--- wmapro/wma3dec.c Wed Mar 18 22:05:49 2009 (r4176)
+++ wmapro/wma3dec.c Wed Mar 18 22:19:58 2009 (r4177)
@@ -453,7 +453,7 @@ static int wma_decode_tilehdr(WMA3Decode
int min_channel_len = s->samples_per_frame;
int read_channel_mask = 1;
int channels_for_cur_subframe = 0;
- int subframe_len = s->samples_per_frame / s->max_num_subframes;
+ int subframe_len;
if(fixed_channel_layout){
read_channel_mask = 0;
@@ -472,7 +472,7 @@ static int wma_decode_tilehdr(WMA3Decode
}
if(channels_for_cur_subframe == 1 ||
- subframe_len * channels_for_cur_subframe == missing_samples)
+ s->min_samples_per_subframe * channels_for_cur_subframe == missing_samples)
read_channel_mask = 0;
}
@@ -488,9 +488,8 @@ static int wma_decode_tilehdr(WMA3Decode
}
}
- /** if the frames are not evenly split, get the next subframe
- length from the bitstream */
- if(subframe_len * channels_for_cur_subframe != missing_samples){
+ /** if we have the choice get next subframe length from the bitstream */
+ if(s->min_samples_per_subframe * channels_for_cur_subframe != missing_samples){
int log2_subframe_len = 0;
/* 1 bit indicates if the subframe length is zero */
if(subframe_len_zero_bit){
@@ -517,7 +516,8 @@ static int wma_decode_tilehdr(WMA3Decode
"broken frame: subframe_len %i\n", subframe_len);
return -1;
}
- }
+ }else
+ subframe_len = s->min_samples_per_subframe;
for(c=0; c<s->num_channels;c++){
WMA3ChannelCtx* chan = &s->channel[c];
More information about the FFmpeg-soc
mailing list