OSDN Git Service

Fixing a stride issue in VP8 Alpha encode
authorVignesh Venkatasubramanian <vigneshv@google.com>
Tue, 16 Jul 2013 20:44:56 +0000 (13:44 -0700)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 17 Jul 2013 11:38:26 +0000 (13:38 +0200)
When encoding alpha channel in libvpx, the stride isn't set
properly for the alpha encoder. Fixing it.

Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavcodec/libvpxenc.c

index f5506f7..5f3c32a 100644 (file)
@@ -667,6 +667,9 @@ static int vp8_encode(AVCodecContext *avctx, AVPacket *pkt,
             v_plane = av_malloc(frame->linesize[2] * frame->height);
             memset(v_plane, 0x80, frame->linesize[2] * frame->height);
             rawimg_alpha->planes[VPX_PLANE_V] = v_plane;
+            rawimg_alpha->stride[VPX_PLANE_Y] = frame->linesize[0];
+            rawimg_alpha->stride[VPX_PLANE_U] = frame->linesize[1];
+            rawimg_alpha->stride[VPX_PLANE_V] = frame->linesize[2];
         }
         timestamp                   = frame->pts;
         if (frame->pict_type == AV_PICTURE_TYPE_I)