[vlc-devel] [PATCH 1/2] copy: do one big memcpy when possible
Denis Charmet
typx at dinauz.org
Fri Jul 29 16:33:07 CEST 2016
On 2016-07-28 14:45, Steve Lhomme wrote:
> ---
> modules/video_chroma/copy.c | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/modules/video_chroma/copy.c b/modules/video_chroma/copy.c
> index cdeb96c..fa0a212 100644
> --- a/modules/video_chroma/copy.c
> +++ b/modules/video_chroma/copy.c
> @@ -270,6 +270,9 @@ static void SSE_CopyPlane(uint8_t *dst, size_t
> dst_pitch,
> const unsigned hstep = cache_size / w16;
> assert(hstep > 0);
>
> + if (src_pitch == dst_pitch)
> + memcpy(dst, src, width * height);
Don't you mean "src_pitch * height"?
> + else
> for (unsigned y = 0; y < height; y += hstep) {
> const unsigned hblock = __MIN(hstep, height - y);
>
> @@ -407,6 +410,9 @@ static void CopyPlane(uint8_t *dst, size_t
> dst_pitch,
> const uint8_t *src, size_t src_pitch,
> unsigned width, unsigned height)
> {
> + if (src_pitch == dst_pitch)
> + memcpy(dst, src, width * height);
> + else
> for (unsigned y = 0; y < height; y++) {
> memcpy(dst, src, width);
> src += src_pitch;
Regards,
--
Denis Charmet - TypX
Le mauvais esprit est un art de vivre
More information about the vlc-devel
mailing list