changeset 1917:1c382d137275 libavcodec

rv20 (0x20201002) support
author michael
date Fri, 02 Apr 2004 21:04:56 +0000
parents f2d134308a70
children ea20f38b8d57
files rv10.c
diffstat 1 files changed, 10 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/rv10.c	Fri Apr 02 19:54:33 2004 +0000
+++ b/rv10.c	Fri Apr 02 21:04:56 2004 +0000
@@ -388,6 +388,10 @@
 //            return -1;
         }
         seq= get_bits(&s->gb, 15);
+        if (s->avctx->sub_id == 0x20201002 && get_bits(&s->gb, 1)){
+            av_log(s->avctx, AV_LOG_ERROR, "unknown bit4 set\n");
+//            return -1;
+        }
         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;
@@ -395,7 +399,7 @@
         seq= get_bits(&s->gb, 8)*128;
         mb_pos= ff_h263_decode_mba(s);
     }
-//printf("%d\n", seq);
+//av_log(s->avctx, AV_LOG_DEBUG, "%d\n", seq);
     seq |= s->time &~0x7FFF;
     if(seq - s->time >  0x4000) seq -= 0x8000;
     if(seq - s->time < -0x4000) seq += 0x8000;
@@ -414,7 +418,10 @@
         }
     }
 //    printf("%d %d %d %d %d\n", seq, (int)s->time, (int)s->last_non_b_time, s->pp_time, s->pb_time);
-
+/*for(i=0; i<32; i++){
+    av_log(s->avctx, AV_LOG_DEBUG, "%d", get_bits1(&s->gb));
+}
+av_log(s->avctx, AV_LOG_DEBUG, "\n");*/
     s->no_rounding= get_bits1(&s->gb);
     
     s->f_code = 1;
@@ -478,6 +485,7 @@
         s->low_delay=1;
         break;
     case 0x20200002:
+    case 0x20201002:
     case 0x30202002:
     case 0x30203002:
         s->low_delay=0;