summaryrefslogtreecommitdiff
path: root/libavcodec/h263dec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2003-08-01 11:00:03 +0000
committerMichael Niedermayer <michaelni@gmx.at>2003-08-01 11:00:03 +0000
commitffba1dc02b3c808dcf023351a0ed5dcca3fc1513 (patch)
tree24354fc10db44d8c98de0949c6b3ea817e13dfe9 /libavcodec/h263dec.c
parente7d0374f2763a95965750c442bfb690387150321 (diff)
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.c16
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;