From: Kostya Shishkov Date: Mon, 22 Feb 2010 12:20:49 +0000 (+0000) Subject: Correct bundle lengths calculation for small Bink files. X-Git-Tag: v0.6~1168 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=fb030bd0461eca0f544782c5a1373620def90772;p=coroid%2Flibav_saccubus.git Correct bundle lengths calculation for small Bink files. This fixes issue 1764. Originally committed as revision 21959 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/bink.c b/libavcodec/bink.c index 3e8f15fb8..661f75fec 100644 --- a/libavcodec/bink.c +++ b/libavcodec/bink.c @@ -698,8 +698,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *data_size, AVPac const int stride = c->pic.linesize[plane]; int bw = plane ? (avctx->width + 15) >> 4 : (avctx->width + 7) >> 3; int bh = plane ? (avctx->height + 15) >> 4 : (avctx->height + 7) >> 3; + int width = avctx->width >> !!plane; - init_lengths(c, avctx->width >> !!plane, bw); + init_lengths(c, FFMAX(width, 8), bw); for (i = 0; i < BINK_NB_SRC; i++) read_bundle(&gb, c, i);