Commit 6d95111e for openh264
commit 6d95111e2fcc71b62798ceed90251d42152d4307
Author: Erik Språng <sprang@google.com>
Date: Mon Jul 13 09:49:51 2026 +0200
Fix SumOfFrame for extremely wide frames (#3958)
Co-authored-by: Erik Språng <sprang@webrtc.org>
diff --git a/Makefile b/Makefile
index 636a7372..04182591 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,7 @@ endif
ifeq ($(USE_ASAN), Yes)
CFLAGS += -fsanitize=address
+CXXFLAGS += -fsanitize=address
LDFLAGS += -fsanitize=address
endif
diff --git a/codec/encoder/core/x86/sample_sc.asm b/codec/encoder/core/x86/sample_sc.asm
index 103fed71..47811632 100644
--- a/codec/encoder/core/x86/sample_sc.asm
+++ b/codec/encoder/core/x86/sample_sc.asm
@@ -127,7 +127,7 @@ WIDTH_LOOP:
psadbw xmm2, xmm0
psubd xmm1, xmm2
movd eax, xmm1
- mov cx, [edi]
+ movzx ecx, word [edi]
add eax, ecx
mov [edi+ebp*2], ax
@@ -906,7 +906,7 @@ WIDTH_LOOP:
psadbw xmm2, xmm0
psubd xmm1, xmm2
movd r2d, xmm1
- mov r6w, [r4]
+ movzx r6d, word [r4]
add r2d, r6d
mov [r4+r1*2], r2w
inc dword [r5+r2*4]
diff --git a/test/encoder/EncUT_SVC_me.cpp b/test/encoder/EncUT_SVC_me.cpp
index 544d32d1..da358dbb 100644
--- a/test/encoder/EncUT_SVC_me.cpp
+++ b/test/encoder/EncUT_SVC_me.cpp
@@ -283,6 +283,9 @@ GENERATE_SumOfFrame (SumOf8x8BlockOfFrame_ref, SumOf8x8BlockOfFrame_sse2, 6, 320
GENERATE_SumOfFrame (SumOf16x16BlockOfFrame_ref, SumOf16x16BlockOfFrame_sse2, 6, 320, WELS_CPU_SSE2)
GENERATE_SumOfFrame (SumOf8x8BlockOfFrame_ref, SumOf8x8BlockOfFrame_sse2, 640, 320, WELS_CPU_SSE2)
GENERATE_SumOfFrame (SumOf16x16BlockOfFrame_ref, SumOf16x16BlockOfFrame_sse2, 640, 320, WELS_CPU_SSE2)
+GENERATE_SumOfFrame (SumOf8x8BlockOfFrame_ref, SumOf8x8BlockOfFrame_sse2, 21840, 16, WELS_CPU_SSE2)
+GENERATE_SumOfFrame (SumOf16x16BlockOfFrame_ref, SumOf16x16BlockOfFrame_sse2, 21840, 16, WELS_CPU_SSE2)
+
GENERATE_SumOfFrame (SumOf8x8BlockOfFrame_ref, SumOf8x8BlockOfFrame_sse4, 8, 2, WELS_CPU_SSE41)
GENERATE_SumOfFrame (SumOf16x16BlockOfFrame_ref, SumOf16x16BlockOfFrame_sse4, 16, 2, WELS_CPU_SSE41)