1
mirror of https://git.videolan.org/git/ffmpeg.git synced 2024-10-08 10:26:55 +02:00

Align plane size to word-boundary.

Patch by Sebastian Vater, cdgs D basty A googlemail

Originally committed as revision 23023 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Sebastian Vater 2010-05-05 17:02:55 +00:00 committed by Carl Eugen Hoyos
parent ddb630177a
commit cfdaee45d1

View File

@ -72,7 +72,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA;
}
s->planesize = avctx->width >> 3;
s->planesize = FFALIGN(avctx->width, 16) >> 3; // Align plane size in bits to word-boundary
s->planebuf = av_malloc(s->planesize + FF_INPUT_BUFFER_PADDING_SIZE);
if (!s->planebuf)
return AVERROR(ENOMEM);
@ -99,7 +99,7 @@ static void decodeplane8(uint8_t *dst, const uint8_t *const buf, int buf_size, i
{
GetBitContext gb;
int i;
const int b = (buf_size * 8) + bps - 1;
const int b = buf_size * 8;
init_get_bits(&gb, buf, buf_size * 8);
for(i = 0; i < b; i++) {
dst[i] |= get_bits1(&gb) << plane;
@ -118,7 +118,7 @@ static void decodeplane32(uint32_t *dst, const uint8_t *const buf, int buf_size,
{
GetBitContext gb;
int i;
const int b = (buf_size * 8) + bps - 1;
const int b = buf_size * 8;
init_get_bits(&gb, buf, buf_size * 8);
for(i = 0; i < b; i++) {
dst[i] |= get_bits1(&gb) << plane;