From: Carl Eugen Hoyos <[email protected]>

---
 libavcodec/rawdec.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/libavcodec/rawdec.c b/libavcodec/rawdec.c
index 340278b..0051425 100644
--- a/libavcodec/rawdec.c
+++ b/libavcodec/rawdec.c
@@ -89,13 +89,15 @@ static av_cold int raw_init_decoder(AVCodecContext *avctx)
         avctx->pix_fmt = find_pix_fmt(pix_fmt_bps_avi, 
avctx->bits_per_coded_sample);
 
     ff_set_systematic_pal2(context->palette, avctx->pix_fmt);
-    context->length = 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==PIX_FMT_PAL8 &&
        (!avctx->codec_tag || avctx->codec_tag == MKTAG('r','a','w',' '))){
+        context->length = avpicture_get_size(avctx->pix_fmt, 
(avctx->width+3)&~3, avctx->height);
         context->buffer = av_malloc(context->length);
         if (!context->buffer)
             return -1;
+    } else {
+        context->length = avpicture_get_size(avctx->pix_fmt, avctx->width, 
avctx->height);
     }
     context->pic.pict_type = AV_PICTURE_TYPE_I;
     context->pic.key_frame = 1;
-- 
1.7.7.3

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to