OSDN Git Service

fix 16 CABAC_BIT * 10l bug introduced in r6578
authorMichael Niedermayer <michaelni@gmx.at>
Sat, 13 Jan 2007 00:56:43 +0000 (00:56 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Sat, 13 Jan 2007 00:56:43 +0000 (00:56 +0000)
Originally committed as revision 7440 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/h264.c

index d7c48bd..451a2af 100644 (file)
@@ -6224,7 +6224,10 @@ decode_intra_mb:
         // FIXME The two following lines get the bitstream position in the cabac
         // decode, I think it should be done by a function in cabac.h (or cabac.c).
         ptr= h->cabac.bytestream;
-        if (h->cabac.low&0x1) ptr-=CABAC_BITS/8;
+        if(h->cabac.low&0x1) ptr--;
+        if(CABAC_BITS==16){
+            if(h->cabac.low&0x1FF) ptr--;
+        }
 
         // The pixels are stored in the same order as levels in h->mb array.
         for(y=0; y<16; y++){