aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Almer <jamrial@gmail.com>2024-07-25 13:20:07 -0300
committerJames Almer <jamrial@gmail.com>2024-07-29 23:17:52 -0300
commit9e7a93c6fd1706644c775a608b12a84960940d61 (patch)
tree19ebd721fdb9ec50494b6e60d8b801595bc52dc2
parent92b317245c8adefd92c2cf563b05cc38bb1eb150 (diff)
downloadffmpeg-9e7a93c6fd1706644c775a608b12a84960940d61.tar.gz
x86/intreadwrite: add SSE2 optimized AV_COPY128U
Signed-off-by: James Almer <jamrial@gmail.com>
-rw-r--r--libavutil/x86/intreadwrite.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/libavutil/x86/intreadwrite.h b/libavutil/x86/intreadwrite.h
index 65cc6b39a1..c92b75ed12 100644
--- a/libavutil/x86/intreadwrite.h
+++ b/libavutil/x86/intreadwrite.h
@@ -37,6 +37,13 @@ static av_always_inline void AV_COPY128(void *d, const void *s)
_mm_store_si128((__m128i *)d, tmp);
}
+#define AV_COPY128U AV_COPY128U
+static av_always_inline void AV_COPY128U(void *d, const void *s)
+{
+ __m128i tmp = _mm_loadu_si128((const __m128i *)s);
+ _mm_storeu_si128((__m128i *)d, tmp);
+}
+
#define AV_ZERO128 AV_ZERO128
static av_always_inline void AV_ZERO128(void *d)
{