aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-04-24 22:08:31 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-04-24 22:08:31 +0000
commit9786bd4d94a72ce4245398c3067c016852d1fd55 (patch)
tree3862dcfa32480fc4b31f66f63a935b236144c6a2
parentb80875c18676304dfb3a8efd427efe28406cb04d (diff)
downloadffmpeg-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.c18
-rw-r--r--libavformat/rm.c2
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'):