Mercurial > libavcodec.hg
diff h263dec.c @ 1393:ba99a78bcb37 libavcodec
make the h263 decoder more error tolerant
author | michaelni |
---|---|
date | Fri, 01 Aug 2003 11:00:03 +0000 |
parents | da0b3a50d209 |
children | ff0220970711 |
line wrap: on
line diff
--- a/h263dec.c Tue Jul 29 14:15:28 2003 +0000 +++ b/h263dec.c Fri Aug 01 11:00:03 2003 +0000 @@ -470,6 +470,15 @@ } 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 @@ 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;