# HG changeset patch # User reimar # Date 1308678804 0 # Node ID 042b10b477fa60fae8a385db8acc90c02cba95c4 # Parent 0be318645ab30623b2dc75b8f50b00beefb75a1a Change memcpy_pic to force it to never write to image parts between width and stride if creating a row-interleaved format, otherwise the second memcpy_pic might overwrite what the first wrote. Changing the first should not be necessary but might result in better performance. Patch by Steaphan Greene [sgreene cs.binghamton.edu] diff -r 0be318645ab3 -r 042b10b477fa libmpcodecs/vf_stereo3d.c --- a/libmpcodecs/vf_stereo3d.c Tue Jun 21 17:49:21 2011 +0000 +++ b/libmpcodecs/vf_stereo3d.c Tue Jun 21 17:53:24 2011 +0000 @@ -280,18 +280,20 @@ case ABOVE_BELOW_2_RL: case INTERLEAVE_ROWS_LR: case INTERLEAVE_ROWS_RL: - memcpy_pic(dmpi->planes[0] + out_off_left, + memcpy_pic2(dmpi->planes[0] + out_off_left, mpi->planes[0] + in_off_left, 3 * vf->priv->width, vf->priv->height, dmpi->stride[0] * vf->priv->row_step, - mpi->stride[0] * vf->priv->row_step); - memcpy_pic(dmpi->planes[0] + out_off_right, + mpi->stride[0] * vf->priv->row_step, + vf->priv->row_step != 1); + memcpy_pic2(dmpi->planes[0] + out_off_right, mpi->planes[0] + in_off_right, 3 * vf->priv->width, vf->priv->height, dmpi->stride[0] * vf->priv->row_step, - mpi->stride[0] * vf->priv->row_step); + mpi->stride[0] * vf->priv->row_step, + vf->priv->row_step != 1); break; case MONO_L: case MONO_R: