Commit 565140da authored by Carl Eugen Hoyos's avatar Carl Eugen Hoyos Committed by Michael Niedermayer

avcodec/rawdec: Fix 2bpp and 4bpp rawvideo in mov

Restores carefully the old behaviour
(and does not break decoding avi samples).
Fixes Ticket2536
Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent f0bcb13a
......@@ -133,12 +133,17 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
memset(context->palette->data, 0, AVPALETTE_SIZE);
}
context->frame_size = avpicture_get_size(avctx->pix_fmt, avctx->width,
avctx->height);
if ((avctx->bits_per_coded_sample == 4 || avctx->bits_per_coded_sample == 2) &&
avctx->pix_fmt == AV_PIX_FMT_PAL8 &&
(!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' ')))
(!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))) {
context->is_2_4_bpp = 1;
context->frame_size = avpicture_get_size(avctx->pix_fmt,
FFALIGN(avctx->width, 16),
avctx->height);
} else {
context->frame_size = avpicture_get_size(avctx->pix_fmt, avctx->width,
avctx->height);
}
if ((avctx->extradata_size >= 9 &&
!memcmp(avctx->extradata + avctx->extradata_size - 9, "BottomUp", 9)) ||
......
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