Fix mpeg4 padding bug detection with more than 128bit trash and slices.

Fixes ticket302
The second hunk is from anatoly

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2011-07-01 02:51:10 +02:00
parent 315f0e3fd8
commit 9251942ca7
2 changed files with 2 additions and 2 deletions

View File

@ -269,7 +269,7 @@ static int decode_slice(MpegEncContext *s){
if( s->codec_id==CODEC_ID_MPEG4 if( s->codec_id==CODEC_ID_MPEG4
&& (s->workaround_bugs&FF_BUG_AUTODETECT) && (s->workaround_bugs&FF_BUG_AUTODETECT)
&& get_bits_left(&s->gb) >=0 && get_bits_left(&s->gb) >=0
&& get_bits_left(&s->gb) < 48 && get_bits_left(&s->gb) < 137
// && !s->resync_marker // && !s->resync_marker
&& !s->data_partitioning){ && !s->data_partitioning){

View File

@ -113,7 +113,7 @@ static inline int mpeg4_is_resync(MpegEncContext *s){
int bits_count= get_bits_count(&s->gb); int bits_count= get_bits_count(&s->gb);
int v= show_bits(&s->gb, 16); int v= show_bits(&s->gb, 16);
if(s->workaround_bugs&FF_BUG_NO_PADDING){ if(s->workaround_bugs&FF_BUG_NO_PADDING && !s->resync_marker){
return 0; return 0;
} }