In commit 99fb257 and commit 3135bc0 of FFmpeg, New changes introduce syntax 
that relies on the assembler preprocessor to evaluate Boolean logic operations 
(== and !!).
 However, the assemblers (NASM/YASM) within the OSS-Fuzz environment, or the 
x86inc.  asm macro expansion mechanism, cannot correctly parse these complex 
expressions,
resulting in an expecting ')' error.
To fix the fuzzing build error, I suggest keeping these two lines of code in 
their original version.
'cglobal put_vp8_epel%1_h6, 6, 6 + npicregs, 8, dst, dststride, src, srcstride, 
height, mx, picreg'
'cglobal put_vp8_epel%1_h4, 6, 6 + npicregs, 7, dst, dststride, src, srcstride, 
height, mx, picreg'␋

Signed-off-by: xingyaner <[email protected]>
---
 libavcodec/x86/vp8dsp.asm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/x86/vp8dsp.asm b/libavcodec/x86/vp8dsp.asm
index 22356f687b..d758b84afa 100644
--- a/libavcodec/x86/vp8dsp.asm
+++ b/libavcodec/x86/vp8dsp.asm
@@ -173,7 +173,7 @@ SECTION .text
 %define MOV movq
 %endif
 
-cglobal put_vp8_epel%1_h6, 6, 6 + npicregs, 6+2*(%1==8), dst, dststride, src, 
srcstride, height, mx, picreg
+cglobal put_vp8_epel%1_h6, 6, 6 + npicregs, 8, dst, dststride, src, srcstride, 
height, mx, picreg
 %if %1 == 4
     mova      m3, [filter4_h6_shuf]
 %if PIC
@@ -228,7 +228,7 @@ cglobal put_vp8_epel%1_h6, 6, 6 + npicregs, 6+2*(%1==8), 
dst, dststride, src, sr
     jg .nextrow
     RET
 
-cglobal put_vp8_epel%1_h4, 6, 6 + npicregs, 6+!!(%1 == 8), dst, dststride, 
src, srcstride, height, mx, picreg
+cglobal put_vp8_epel%1_h4, 6, 6 + npicregs, 7, dst, dststride, src, srcstride, 
height, mx, picreg
     mova      m2, [pw_256]
 %if %1 == 8
     shl      mxd, 4
-- 
2.34.1

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to