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]
