# HG changeset patch # User eugeni # Date 1164214803 0 # Node ID 1ac5087585f6dc65f096f447af1e7b771e712113 # Parent 13b80aa9ca91317d031136f078822968feb93c3c Fix incorrect stride used in vf_ass. diff -r 13b80aa9ca91 -r 1ac5087585f6 libmpcodecs/vf_ass.c --- a/libmpcodecs/vf_ass.c Wed Nov 22 16:42:04 2006 +0000 +++ b/libmpcodecs/vf_ass.c Wed Nov 22 17:00:03 2006 +0000 @@ -218,7 +218,7 @@ chroma_rows = (last_row - first_row) / 2; for (pl = 1; pl < 3; ++pl) { - int dst_stride = vf->dmpi->stride[pl] * 2; + int dst_stride = vf->priv->outw; int src_stride = vf->dmpi->stride[pl]; unsigned char* src = vf->dmpi->planes[pl] + (first_row/2) * src_stride; @@ -254,7 +254,7 @@ int i, j, k; for (pl = 1; pl < 3; ++pl) { int dst_stride = vf->dmpi->stride[pl]; - int src_stride = vf->dmpi->stride[pl] * 2; + int src_stride = vf->priv->outw; unsigned char* dst = vf->dmpi->planes[pl]; unsigned char* src = vf->priv->planes[pl]; @@ -291,8 +291,8 @@ src = bitmap; dsty = dmpi->planes[0] + dst_x + dst_y * dmpi->stride[0]; - dstu = vf->priv->planes[1] + dst_x + dst_y * 2 * dmpi->chroma_width; - dstv = vf->priv->planes[2] + dst_x + dst_y * 2 * dmpi->chroma_width; + dstu = vf->priv->planes[1] + dst_x + dst_y * vf->priv->outw; + dstv = vf->priv->planes[2] + dst_x + dst_y * vf->priv->outw; for (i = 0; i < bitmap_h; ++i) { for (j = 0; j < bitmap_w; ++j) { unsigned k = ((unsigned)src[j]) * opacity / 255; @@ -302,8 +302,8 @@ } src += stride; dsty += dmpi->stride[0]; - dstu += 2 * dmpi->chroma_width; - dstv += 2 * dmpi->chroma_width; + dstu += vf->priv->outw; + dstv += vf->priv->outw; } }