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
1 changed files with 3 additions and 3 deletions

View File

@ -72,7 +72,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
return AVERROR_INVALIDDATA; 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); s->planebuf = av_malloc(s->planesize + FF_INPUT_BUFFER_PADDING_SIZE);
if (!s->planebuf) if (!s->planebuf)
return AVERROR(ENOMEM); return AVERROR(ENOMEM);
@ -99,7 +99,7 @@ static void decodeplane8(uint8_t *dst, const uint8_t *const buf, int buf_size, i
{ {
GetBitContext gb; GetBitContext gb;
int i; int i;
const int b = (buf_size * 8) + bps - 1; const int b = buf_size * 8;
init_get_bits(&gb, buf, buf_size * 8); init_get_bits(&gb, buf, buf_size * 8);
for(i = 0; i < b; i++) { for(i = 0; i < b; i++) {
dst[i] |= get_bits1(&gb) << plane; 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; GetBitContext gb;
int i; int i;
const int b = (buf_size * 8) + bps - 1; const int b = buf_size * 8;
init_get_bits(&gb, buf, buf_size * 8); init_get_bits(&gb, buf, buf_size * 8);
for(i = 0; i < b; i++) { for(i = 0; i < b; i++) {
dst[i] |= get_bits1(&gb) << plane; dst[i] |= get_bits1(&gb) << plane;