diff --git a/libavcodec/imgconvert.c b/libavcodec/imgconvert.c index 7e096967df..e83c5136b0 100644 --- a/libavcodec/imgconvert.c +++ b/libavcodec/imgconvert.c @@ -883,11 +883,11 @@ int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width, pix_fmt == PIX_FMT_RGB555LE) w = width * 2; else if (pix_fmt == PIX_FMT_UYYVYY411) - w = width + width/2; + w = width + width/2; else if (pix_fmt == PIX_FMT_PAL8) - w = width; + w = width; else - w = width * (pf->depth * pf->nb_channels / 8); + w = width * (pf->depth * pf->nb_channels / 8); data_planes = 1; h = height; @@ -901,19 +901,19 @@ int avpicture_layout(const AVPicture* src, enum PixelFormat pix_fmt, int width, oh = h; for (i=0; i> pf->x_chroma_shift) * pf->depth + 7) / 8; - h = height >> pf->y_chroma_shift; - } else if (i == 3) { - w = ow; - h = oh; - } - s = src->data[i]; - for(j=0; jlinesize[i]; - } + if (i == 1) { + w = ((width >> pf->x_chroma_shift) * pf->depth + 7) / 8; + h = height >> pf->y_chroma_shift; + } else if (i == 3) { + w = ow; + h = oh; + } + s = src->data[i]; + for(j=0; jlinesize[i]; + } } if (pf->pixel_type == FF_PIXEL_PALETTE)