[vlc-devel] [PATCH 1/2] copy: do one big memcpy when possible
Steve Lhomme
robux4 at videolabs.io
Thu Jul 28 14:45:39 CEST 2016
---
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);
+ 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;
--
2.8.2
More information about the vlc-devel
mailing list