Commit 9786bd4d authored by Michael Niedermayer's avatar Michael Niedermayer

fixing broken_rv20_1mb_.rm

Originally committed as revision 4155 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent b80875c1
...@@ -440,21 +440,23 @@ static int rv20_decode_picture_header(MpegEncContext *s) ...@@ -440,21 +440,23 @@ static int rv20_decode_picture_header(MpegEncContext *s)
} }
seq= get_bits(&s->gb, 14)<<1; seq= get_bits(&s->gb, 14)<<1;
if(v>1 || (s->avctx->sub_id < 0x20201002 && v>0)){ if(v)
f= get_bits(&s->gb, av_log2(v-1)+1); f= get_bits(&s->gb, av_log2(v));
}
if(s->avctx->debug & FF_DEBUG_PICT_INFO){ if(s->avctx->debug & FF_DEBUG_PICT_INFO){
av_log(s->avctx, AV_LOG_DEBUG, "F %d/%d\n", f, v); 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); mb_pos= get_bits(&s->gb, av_log2(s->mb_num-1)+1);
s->mb_x= mb_pos % s->mb_width; s->mb_x= mb_pos % s->mb_width;
s->mb_y= 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); //av_log(s->avctx, AV_LOG_DEBUG, "%d\n", seq);
seq |= s->time &~0x7FFF; seq |= s->time &~0x7FFF;
if(seq - s->time > 0x4000) seq -= 0x8000; if(seq - s->time > 0x4000) seq -= 0x8000;
......
...@@ -606,7 +606,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap) ...@@ -606,7 +606,7 @@ static int rm_read_header(AVFormatContext *s, AVFormatParameters *ap)
tag, tag,
tag_size); tag_size);
#endif #endif
if (tag_size < 10) if (tag_size < 10 && tag != MKTAG('D', 'A', 'T', 'A'))
goto fail; goto fail;
switch(tag) { switch(tag) {
case MKTAG('P', 'R', 'O', 'P'): case MKTAG('P', 'R', 'O', 'P'):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment