mirror of https://git.ffmpeg.org/ffmpeg.git
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:
parent
ddb630177a
commit
cfdaee45d1
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue