comparison libmpcodecs/vf_stereo3d.c @ 33602:042b10b477fa

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]
author reimar
date Tue, 21 Jun 2011 17:53:24 +0000
parents 6d690eac34eb
children 475d96f700d4
comparison
equal deleted inserted replaced
33601:0be318645ab3 33602:042b10b477fa
278 case ABOVE_BELOW_RL: 278 case ABOVE_BELOW_RL:
279 case ABOVE_BELOW_2_LR: 279 case ABOVE_BELOW_2_LR:
280 case ABOVE_BELOW_2_RL: 280 case ABOVE_BELOW_2_RL:
281 case INTERLEAVE_ROWS_LR: 281 case INTERLEAVE_ROWS_LR:
282 case INTERLEAVE_ROWS_RL: 282 case INTERLEAVE_ROWS_RL:
283 memcpy_pic(dmpi->planes[0] + out_off_left, 283 memcpy_pic2(dmpi->planes[0] + out_off_left,
284 mpi->planes[0] + in_off_left, 284 mpi->planes[0] + in_off_left,
285 3 * vf->priv->width, 285 3 * vf->priv->width,
286 vf->priv->height, 286 vf->priv->height,
287 dmpi->stride[0] * vf->priv->row_step, 287 dmpi->stride[0] * vf->priv->row_step,
288 mpi->stride[0] * vf->priv->row_step); 288 mpi->stride[0] * vf->priv->row_step,
289 memcpy_pic(dmpi->planes[0] + out_off_right, 289 vf->priv->row_step != 1);
290 memcpy_pic2(dmpi->planes[0] + out_off_right,
290 mpi->planes[0] + in_off_right, 291 mpi->planes[0] + in_off_right,
291 3 * vf->priv->width, 292 3 * vf->priv->width,
292 vf->priv->height, 293 vf->priv->height,
293 dmpi->stride[0] * vf->priv->row_step, 294 dmpi->stride[0] * vf->priv->row_step,
294 mpi->stride[0] * vf->priv->row_step); 295 mpi->stride[0] * vf->priv->row_step,
296 vf->priv->row_step != 1);
295 break; 297 break;
296 case MONO_L: 298 case MONO_L:
297 case MONO_R: 299 case MONO_R:
298 memcpy_pic(dmpi->planes[0], 300 memcpy_pic(dmpi->planes[0],
299 mpi->planes[0] + in_off_left, 301 mpi->planes[0] + in_off_left,