Commit b130a661ae for ffmpeg
commit b130a661ae66e7dae201c6a06db819a78f1a557a
Author: Ramiro Polla <ramiro.polla@gmail.com>
Date: Tue Oct 20 22:15:55 2026 +0200
tests/fate/libswscale: add ops backend coverage tests
Track how many unscaled conversions each SIMD instruction set supports,
so that coverage regressions in the ops backends show up as ref diffs.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Ramiro Polla <ramiro.polla@gmail.com>
diff --git a/tests/fate/libswscale.mak b/tests/fate/libswscale.mak
index 097241f3bc..f0428de00c 100644
--- a/tests/fate/libswscale.mak
+++ b/tests/fate/libswscale.mak
@@ -102,7 +102,36 @@ $(FATE_SWS_UNPADDED) $(FATE_SWS_FLIPPED): SWS_PROB = -p 0.01
fate-sws-unpadded-memcpy fate-sws-flipped-memcpy: SWS_PROB =
fate-sws-unpadded-memcpy fate-sws-flipped-memcpy: SWS_SCALER = -scaler none
-FATE_LIBSWSCALE += $(FATE_SWS_UNSCALED) $(FATE_SWS_UNSTABLE) $(FATE_SWS_UNPADDED) $(FATE_SWS_FLIPPED)
+# Count the unscaled conversions supported by each SIMD instruction set,
+# without running them.
+SWS_CPUFLAGS_SSE4 := sse4.1
+SWS_CPUFLAGS_AVX2 := $(SWS_CPUFLAGS_SSE4)+avx2+fma3
+SWS_CPUFLAGS_AVX512 := $(SWS_CPUFLAGS_AVX2)+avx512
+SWS_CPUFLAGS_AVX512ICL := $(SWS_CPUFLAGS_AVX512)+avx512icl
+SWS_CPUFLAGS_NEON := neon
+
+FATE_SWS_COVERAGE-yes += fate-sws-coverage-memcpy
+ifeq ($(ARCH_X86_64),yes)
+FATE_SWS_COVERAGE-$(HAVE_SSE4_EXTERNAL) += fate-sws-coverage-x86-sse4
+FATE_SWS_COVERAGE-$(HAVE_AVX2_EXTERNAL) += fate-sws-coverage-x86-avx2
+FATE_SWS_COVERAGE-$(HAVE_AVX512_EXTERNAL) += fate-sws-coverage-x86-avx512
+FATE_SWS_COVERAGE-$(HAVE_AVX512ICL_EXTERNAL) += fate-sws-coverage-x86-avx512icl
+endif
+ifeq ($(ARCH_AARCH64),yes)
+FATE_SWS_COVERAGE-$(HAVE_NEON) += fate-sws-coverage-aarch64-neon
+endif
+
+fate-sws-coverage-x86-sse4: SWS_COVERAGE = -backends +x86 -cpuflags $(SWS_CPUFLAGS_SSE4)
+fate-sws-coverage-x86-avx2: SWS_COVERAGE = -backends +x86 -cpuflags $(SWS_CPUFLAGS_AVX2)
+fate-sws-coverage-x86-avx512: SWS_COVERAGE = -backends +x86 -cpuflags $(SWS_CPUFLAGS_AVX512)
+fate-sws-coverage-x86-avx512icl: SWS_COVERAGE = -backends +x86 -cpuflags $(SWS_CPUFLAGS_AVX512ICL)
+fate-sws-coverage-aarch64-neon: SWS_COVERAGE = -backends +aarch64 -cpuflags $(SWS_CPUFLAGS_NEON)
+
+$(FATE_SWS_COVERAGE-yes): libswscale/tests/swscale$(EXESUF)
+$(FATE_SWS_COVERAGE-yes): CMD = run libswscale/tests/swscale$(EXESUF) -v 16 -coverage 1 -scaler none -backends memcpy $(SWS_COVERAGE)
+fate-sws-coverage: $(FATE_SWS_COVERAGE-yes)
+
+FATE_LIBSWSCALE += $(FATE_SWS_UNSCALED) $(FATE_SWS_UNSTABLE) $(FATE_SWS_UNPADDED) $(FATE_SWS_FLIPPED) $(FATE_SWS_COVERAGE-yes)
ifneq ($(HAVE_BIGENDIAN),yes)
diff --git a/tests/ref/fate/sws-coverage-aarch64-neon b/tests/ref/fate/sws-coverage-aarch64-neon
new file mode 100644
index 0000000000..2a6d735e50
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-aarch64-neon
@@ -0,0 +1 @@
+3e084cc8f6cb0d5f41c51f80322237ec 59628/69696
diff --git a/tests/ref/fate/sws-coverage-memcpy b/tests/ref/fate/sws-coverage-memcpy
new file mode 100644
index 0000000000..da76247d23
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-memcpy
@@ -0,0 +1 @@
+9268734acc33a90ca35246403f69eb37 640/69696
diff --git a/tests/ref/fate/sws-coverage-x86-avx2 b/tests/ref/fate/sws-coverage-x86-avx2
new file mode 100644
index 0000000000..b8718e96a1
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-x86-avx2
@@ -0,0 +1 @@
+87ded3b004e8ba045e906c7df7314256 55552/69696
diff --git a/tests/ref/fate/sws-coverage-x86-avx512 b/tests/ref/fate/sws-coverage-x86-avx512
new file mode 100644
index 0000000000..357ee62657
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-x86-avx512
@@ -0,0 +1 @@
+8e5f309871a99dfebca7664cceec60c1 55552/69696
diff --git a/tests/ref/fate/sws-coverage-x86-avx512icl b/tests/ref/fate/sws-coverage-x86-avx512icl
new file mode 100644
index 0000000000..40668ba461
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-x86-avx512icl
@@ -0,0 +1 @@
+9b2e5964946a026398b9cf32b556889e 55552/69696
diff --git a/tests/ref/fate/sws-coverage-x86-sse4 b/tests/ref/fate/sws-coverage-x86-sse4
new file mode 100644
index 0000000000..28385f1b46
--- /dev/null
+++ b/tests/ref/fate/sws-coverage-x86-sse4
@@ -0,0 +1 @@
+7f01107c7207090d60551b386b653a11 2984/69696