[FFmpeg-devel] FATE vc1-* failures on PowerPC64 with GCC Address Sanitizer

Sean McGovern gseanmcg at gmail.com
Fri Jan 31 06:57:32 EET 2025


Hi,

I recently added a new FATE node 'ppc64-linux-gcc-14.2-asan' that runs
GCC Address Sanitizer on my G5 PowerMac.

It currently shows test failures for the vc1-* tests and wmv3-drm-dec
due to the AltiVec acceleration in libavcodec/ppc/vc1dsp_altivec.c
over-reading if the final block is less than 128 bytes[1].

I'm not sure how to go about fixing that -- would it be safe to just
bump the allocated DSP context block to align to that (using
av_cpu_max_align() like magicyuvenc does?) on [2] ?

My other thought was much more drastic -- should we be processing the
final block using the scalar version of the DSP code if it does not
align?

Comments/suggestions are appreciated,
Sean McGovern

[1] https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/ppc/vc1dsp_altivec.c;h=bbadb2aaeef098449e48d8f6f47c2fc2d9809b8d;hb=HEAD#l252
[2] https://git.videolan.org/?p=ffmpeg.git;a=blob;f=libavcodec/vc1dec.c;h=2c314e7b55b9ab7983f565b2ac2bbb08ef0770c6;hb=HEAD#l377


More information about the ffmpeg-devel mailing list