[FFmpeg-devel] [PATCH 3/3] swscale/swscale: Disable x86-specific code for other arches

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Sat Sep 18 06:43:26 EEST 2021


SSE2 is x86 specific, yet due to the call to av_get_cpu_flags()
compilers were unable to optimize the checks (and the call) away
on other arches.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
This is not really tested. But what is there to test?

 libswscale/swscale.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 040172752f..c7069ae7b2 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -321,6 +321,7 @@ static int swscale(SwsContext *c, const uint8_t *src[],
         }
     }
 
+#if ARCH_X86
     if (   (uintptr_t)dst[0]&15 || (uintptr_t)dst[1]&15 || (uintptr_t)dst[2]&15
         || (uintptr_t)src[0]&15 || (uintptr_t)src[1]&15 || (uintptr_t)src[2]&15
         || dstStride[0]&15 || dstStride[1]&15 || dstStride[2]&15 || dstStride[3]&15
@@ -333,6 +334,7 @@ static int swscale(SwsContext *c, const uint8_t *src[],
             av_log(c, AV_LOG_WARNING, "Warning: data is not aligned! This can lead to a speed loss\n");
         }
     }
+#endif
 
     if (scale_dst) {
         dstY         = dstSliceY;
-- 
2.30.2



More information about the ffmpeg-devel mailing list