[FFmpeg-cvslog] commit: Change some band size calculations in Bink decoder to use width in blocks (Kostya Shishkov )

git at videolan.org git
Sat Jan 15 18:29:47 CET 2011


ffmpeg | branch: master | Kostya Shishkov <kostya.shishkov at gmail.com> | Sat Jan 15 13:29:14 2011 +0000| [03ec42aa1ce738761130335e6e6f5ef5d0d1eadf] | committer: Kostya Shishkov 

Change some band size calculations in Bink decoder to use width in blocks
instead of real width, this fixes decoding of some Bink files with odd width.

Originally committed as revision 26364 to svn://svn.ffmpeg.org/ffmpeg/trunk

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=03ec42aa1ce738761130335e6e6f5ef5d0d1eadf
---

 libavcodec/bink.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/bink.c b/libavcodec/bink.c
index 5f2fc31..0129403 100644
--- a/libavcodec/bink.c
+++ b/libavcodec/bink.c
@@ -119,7 +119,7 @@ static void init_lengths(BinkContext *c, int width, int bw)
 
     c->bundle[BINK_SRC_SUB_BLOCK_TYPES].len = av_log2((width >> 4) + 511) + 1;
 
-    c->bundle[BINK_SRC_COLORS].len = av_log2((width >> 3)*64 + 511) + 1;
+    c->bundle[BINK_SRC_COLORS].len = av_log2(bw*64 + 511) + 1;
 
     c->bundle[BINK_SRC_INTRA_DC].len =
     c->bundle[BINK_SRC_INTER_DC].len =
@@ -128,7 +128,7 @@ static void init_lengths(BinkContext *c, int width, int bw)
 
     c->bundle[BINK_SRC_PATTERN].len = av_log2((bw << 3) + 511) + 1;
 
-    c->bundle[BINK_SRC_RUN].len = av_log2((width >> 3)*48 + 511) + 1;
+    c->bundle[BINK_SRC_RUN].len = av_log2(bw*48 + 511) + 1;
 }
 
 /**




More information about the ffmpeg-cvslog mailing list