Commit 03ec42aa authored by Kostya Shishkov's avatar 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
parent b0c8b8a6
...@@ -119,7 +119,7 @@ static void init_lengths(BinkContext *c, int width, int bw) ...@@ -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_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_INTRA_DC].len =
c->bundle[BINK_SRC_INTER_DC].len = c->bundle[BINK_SRC_INTER_DC].len =
...@@ -128,7 +128,7 @@ static void init_lengths(BinkContext *c, int width, int bw) ...@@ -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_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;
} }
/** /**
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment