diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2003-08-01 11:00:03 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2003-08-01 11:00:03 +0000 |
commit | ffba1dc02b3c808dcf023351a0ed5dcca3fc1513 (patch) | |
tree | 24354fc10db44d8c98de0949c6b3ea817e13dfe9 /libavcodec/h263dec.c | |
parent | e7d0374f2763a95965750c442bfb690387150321 (diff) | |
download | ffmpeg-ffba1dc02b3c808dcf023351a0ed5dcca3fc1513.tar.gz |
make the h263 decoder more error tolerant
Originally committed as revision 2099 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/h263dec.c')
-rw-r--r-- | libavcodec/h263dec.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/libavcodec/h263dec.c b/libavcodec/h263dec.c index 332eb3b3b7..0bd2ab3395 100644 --- a/libavcodec/h263dec.c +++ b/libavcodec/h263dec.c @@ -470,6 +470,15 @@ retry: } else { ret = h263_decode_picture_header(s); } + + if(ret==FRAME_SKIPED) return get_consumed_bytes(s, buf_size); + + /* skip if the header was thrashed */ + if (ret < 0){ + fprintf(stderr, "header damaged\n"); + return -1; + } + avctx->has_b_frames= !s->low_delay; if(s->workaround_bugs&FF_BUG_AUTODETECT){ @@ -604,13 +613,6 @@ retry: if((s->codec_id==CODEC_ID_H263 || s->codec_id==CODEC_ID_H263P)) s->gob_index = ff_h263_get_gob_height(s); - - if(ret==FRAME_SKIPED) return get_consumed_bytes(s, buf_size); - /* skip if the header was thrashed */ - if (ret < 0){ - fprintf(stderr, "header damaged\n"); - return -1; - } // for hurry_up==5 s->current_picture.pict_type= s->pict_type; |