guix-play/gnu/packages/patches/libvpx-fix-ssse3-quantize.patch
Mark H Weaver 3b02429c8a gnu: libvpx: Apply bug fixes.
Fixes build on armhf.

* gnu/packages/patches/libvpx-fix-armhf-link.patch,
  gnu/packages/patches/libvpx-fix-ssse3-quantize.patch,
  gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch: New files.
* gnu-system.am (dist_patch_DATA): Add them.
* gnu/packages/video.scm (libvpx): Add patches.  On armhf, add additional
  configure flags to avoid requiring support for NEON.
2015-02-02 03:54:42 -05:00

33 lines
1.2 KiB
Diff

commit 0d43bd77e5f429467fbd280a7b8f7fbc0bfe1809
Author: Yunqing Wang <yunqingwang@google.com>
Date: Fri Feb 7 14:27:07 2014 -0800
Bug fix in ssse3 quantize function
A bug was reported in Issue 702: "SIGILL (Illegal instruction) when
transcoding with vp9 - using FFmpeg". It was reproduced and fixed.
Change-Id: Ie32c149a89af02856084aeaf289e848a905c7700
diff --git a/vp9/encoder/x86/vp9_quantize_ssse3.asm b/vp9/encoder/x86/vp9_quantize_ssse3.asm
index db30660..48ccef8 100644
--- a/vp9/encoder/x86/vp9_quantize_ssse3.asm
+++ b/vp9/encoder/x86/vp9_quantize_ssse3.asm
@@ -188,7 +188,8 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
pmaxsw m8, m7
pshuflw m7, m8, 0x1
pmaxsw m8, m7
- pextrw [r2], m8, 0
+ pextrw r6, m8, 0
+ mov [r2], r6
RET
; skip-block, i.e. just write all zeroes
@@ -214,5 +215,5 @@ cglobal quantize_%1, 0, %2, 15, coeff, ncoeff, skip, zbin, round, quant, \
%endmacro
INIT_XMM ssse3
-QUANTIZE_FN b, 6
+QUANTIZE_FN b, 7
QUANTIZE_FN b_32x32, 7