diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2011-07-01 02:51:10 +0200 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2011-07-01 03:04:46 +0200 |
commit | 9251942ca728e7807a2a95306415b27b36a8b8e7 (patch) | |
tree | 1d65d4646f8d2e057739734d73374052ab822399 | |
parent | 315f0e3fd8dcbd1362276b7407dad2e97cccc4b7 (diff) | |
download | ffmpeg-9251942ca728e7807a2a95306415b27b36a8b8e7.tar.gz |
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>
-rw-r--r-- | libavcodec/h263dec.c | 2 | ||||
-rw-r--r-- | libavcodec/mpeg4videodec.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index f079557759..7b42046843 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -269,7 +269,7 @@ static int decode_slice(MpegEncContext *s){ if( s->codec_id==CODEC_ID_MPEG4 && (s->workaround_bugs&FF_BUG_AUTODETECT) && get_bits_left(&s->gb) >=0 - && get_bits_left(&s->gb) < 48 + && get_bits_left(&s->gb) < 137 // && !s->resync_marker && !s->data_partitioning){ diff --git a/libavcodec/mpeg4videodec.c b/libavcodec/mpeg4videodec.c index 6b7b4bfbc0..7cc30c2bf5 100644 --- a/libavcodec/mpeg4videodec.c +++ b/libavcodec/mpeg4videodec.c @@ -113,7 +113,7 @@ static inline int mpeg4_is_resync(MpegEncContext *s){ int bits_count= get_bits_count(&s->gb); 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; } |