fix crashes on VP9 encoding on certain Intel cpus (bz1079468)
This commit is contained in:
parent
a0a00eef6e
commit
ed7cb6f704
32
Bug-fix-in-ssse3-quantize-function.patch
Normal file
32
Bug-fix-in-ssse3-quantize-function.patch
Normal file
@ -0,0 +1,32 @@
|
||||
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
|
@ -6,12 +6,13 @@ Name: libvpx
|
||||
Summary: VP8 Video Codec SDK
|
||||
Version: %{majorver}.%{minorver}.%{tinyver}
|
||||
%global soversion %{version}
|
||||
Release: 3%{?dist}
|
||||
Release: 4%{?dist}
|
||||
License: BSD
|
||||
Group: System Environment/Libraries
|
||||
Source0: http://webm.googlecode.com/files/%{name}-v%{version}.tar.bz2
|
||||
# Thanks to debian.
|
||||
Source2: libvpx.ver
|
||||
Patch0: Bug-fix-in-ssse3-quantize-function.patch
|
||||
URL: http://www.webmproject.org/tools/vp8-sdk/
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: yasm
|
||||
@ -43,6 +44,7 @@ and decoder.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-v%{version}
|
||||
%patch0 -p1 -b .patch0
|
||||
|
||||
%build
|
||||
%ifarch %{ix86}
|
||||
@ -169,6 +171,9 @@ popd
|
||||
%{_bindir}/*
|
||||
|
||||
%changelog
|
||||
* Thu Mar 20 2014 Wim Taymans <wtaymans@redhat.com> - 1.3.0-4
|
||||
- fix Illegal Instruction abort
|
||||
|
||||
* Thu Feb 13 2014 Dan Horák <dan[at]danny.cz> - 1.3.0-3
|
||||
- update library symbol list for 1.3.0 from Debian
|
||||
|
||||
|
@ -23,6 +23,7 @@ vpx_codec_peek_stream_info;
|
||||
vpx_codec_register_put_frame_cb;
|
||||
vpx_codec_register_put_slice_cb;
|
||||
vpx_codec_set_cx_data_buf;
|
||||
vpx_codec_set_frame_buffer_functions;
|
||||
vpx_codec_set_mem_map;
|
||||
vpx_codec_version;
|
||||
vpx_codec_version_extra_str;
|
||||
@ -64,7 +65,10 @@ vpx_svc_encode;
|
||||
vpx_svc_get_buffer;
|
||||
vpx_svc_get_encode_frame_count;
|
||||
vpx_svc_get_frame_size;
|
||||
vpx_svc_get_layer_resolution;
|
||||
vpx_svc_get_message;
|
||||
vpx_svc_get_rc_stats_buffer;
|
||||
vpx_svc_get_rc_stats_buffer_size;
|
||||
vpx_svc_init;
|
||||
vpx_svc_is_keyframe;
|
||||
vpx_svc_release;
|
||||
|
Loading…
Reference in New Issue
Block a user