[SCM] libav/experimental: 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.
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 17:21:57 UTC 2013
The following commit has been merged in the experimental branch:
commit 03ec42aa1ce738761130335e6e6f5ef5d0d1eadf
Author: Kostya Shishkov <kostya.shishkov at gmail.com>
Date: Sat Jan 15 13:29:14 2011 +0000
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
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;
}
/**
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list