From 03ec42aa1ce738761130335e6e6f5ef5d0d1eadf Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 15 Jan 2011 13:29:14 +0000 Subject: 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 --- libavcodec/bink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'libavcodec/bink.c') diff --git a/libavcodec/bink.c b/libavcodec/bink.c index 5f2fc312bc..01294030bd 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; } /** -- cgit v1.2.3