Package: ffmpeg / 7:4.3.1-5

Metadata

Package Version Patches format
ffmpeg 7:4.3.1-5 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
020200712~799fc4d.patch | (download)

libswscale/x86/yuv_2_rgb.asm | 18 9 + 9 - 0 !
1 file changed, 9 insertions(+), 9 deletions(-)

 x86/yuv2rgb: fix crashes when storing data on unaligned buffers
 Regression since fc6a5883d6af8cae0e96af84dda0ad74b360a084
 on SSSE3 enabled CPUs.
0001 avcodec arm sbcenc avoid callee preserved vfp regist.patch | (download)

libavcodec/arm/sbcdsp_neon.S | 220 110 + 110 - 0 !
1 file changed, 110 insertions(+), 110 deletions(-)

 [patch v2] avcodec/arm/sbcenc: avoid callee preserved vfp registers

When compiling FFmpeg with GCC-9, some very random segfaults were
observed in code which had previously called down into the SBC encoder
NEON assembly routines. This was caused by these functions clobbering
some of the vfp callee saved registers (d8 - d15 aka q4 - q7). GCC was
using these registers to save local variables, but after these
functions returned, they would contain garbage.

Fix by reallocating the registers in the two affected functions in
the following way:
 ff_sbc_analyze_4_neon: q2-q5 => q8-q11, then q1-q4 => q8-q11
 ff_sbc_analyze_8_neon: q2-q9 => q8-q15

The reason for using these replacements is to keep closely related
sets of registers consecutively numbered which hopefully makes the
code more easy to follow. Since this commit only reallocates
registers, it should have no performance impact.

Signed-off-by: James Cowgill <jcowgill@debian.org>