diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2005-04-24 22:08:31 +0000 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2005-04-24 22:08:31 +0000 |
commit | 9786bd4d94a72ce4245398c3067c016852d1fd55 (patch) | |
tree | 3862dcfa32480fc4b31f66f63a935b236144c6a2 | |
parent | b80875c18676304dfb3a8efd427efe28406cb04d (diff) | |
download | ffmpeg-9786bd4d94a72ce4245398c3067c016852d1fd55.tar.gz |
fixing broken_rv20_1mb_.rm
Originally committed as revision 4155 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r-- | libavcodec/rv10.c | 18 | ||||
-rw-r--r-- | libavformat/rm.c | 2 |
2 files changed, 11 insertions, 9 deletions
diff --git a/libavcodec/rv10.c b/libavcodec/rv10.c index 23106bcc0a..4d3f6108da 100644 --- a/libavcodec/rv10.c +++ b/libavcodec/rv10.c @@ -440,21 +440,23 @@ static int rv20_decode_picture_header(MpegEncContext *s) } seq= get_bits(&s->gb, 14)<<1; - if(v>1 || (s->avctx->sub_id < 0x20201002 && v>0)){ - f= get_bits(&s->gb, av_log2(v-1)+1); - } - + if(v) + f= get_bits(&s->gb, av_log2(v)); + if(s->avctx->debug & FF_DEBUG_PICT_INFO){ av_log(s->avctx, AV_LOG_DEBUG, "F %d/%d\n", f, v); } + }else{ + seq= get_bits(&s->gb, 8)*128; + } +// if(s->avctx->sub_id <= 0x20201002){ //0x20201002 definitely needs this + mb_pos= ff_h263_decode_mba(s); +/* }else{ mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1); s->mb_x= mb_pos % s->mb_width; s->mb_y= mb_pos / s->mb_width; - }else{ - seq= get_bits(&s->gb, 8)*128; - mb_pos= ff_h263_decode_mba(s); - } + }*/ //av_log(s->avctx, AV_LOG_DEBUG, "%d\n", seq); seq |= s->time &~0x7FFF; if(seq - s->time > 0x4000) seq -= 0x8000; diff --git a/libavformat/rm.c b/libavformat/rm.c index bea8c4bb2c..f4babe4b62 100644 --- a/libavformat/rm.c +++ b/libavformat/rm.c @@ -606,7 +606,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) tag, tag_size); #endif - if (tag_size < 10) + if (tag_size < 10 && tag != MKTAG('D', 'A', 'T', 'A')) goto fail; switch(tag) { case MKTAG('P', 'R', 'O', 'P'): |