[FFmpeg-cvslog] r26364 - trunk/libavcodec/bink.c

kostya subversion
Sat Jan 15 14:29:14 CET 2011


Author: kostya
Date: Sat Jan 15 14:29:14 2011
New Revision: 26364

Log:
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.

Modified:
   trunk/libavcodec/bink.c

Modified: trunk/libavcodec/bink.c
==============================================================================
--- trunk/libavcodec/bink.c	Sat Jan 15 13:44:48 2011	(r26363)
+++ trunk/libavcodec/bink.c	Sat Jan 15 14:29:14 2011	(r26364)
@@ -119,7 +119,7 @@ static void init_lengths(BinkContext *c,
 
     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,
 
     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