From: Michael Niedermayer Date: Sat, 13 Jan 2007 00:56:43 +0000 (+0000) Subject: fix 16 CABAC_BIT * 10l bug introduced in r6578 X-Git-Tag: v0.5~10624 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=6de062957b4e4f40c52bb2b5a57ecd2f3681fb2e;p=coroid%2Flibav_saccubus.git fix 16 CABAC_BIT * 10l bug introduced in r6578 Originally committed as revision 7440 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/h264.c b/libavcodec/h264.c index d7c48bd4a..451a2af5b 100644 --- a/libavcodec/h264.c +++ b/libavcodec/h264.c @@ -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++){