Update to 3.5 git snapshot

el8
leigh123linux 7 years ago
parent d2f3c3df1b
commit c019cb0767

1
.gitignore vendored

@ -1,2 +1,3 @@
ffmpeg-*.tar.xz ffmpeg-*.tar.xz
ffmpeg-*.rpm ffmpeg-*.rpm
/ffmpeg-20180116.tar.bz2

@ -1,108 +0,0 @@
From 9dde6ab06c48f9447cd16f39bee33569cddb7be4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin@martin.st>
Date: Thu, 31 Aug 2017 12:06:44 +0300
Subject: [PATCH] arm: Fix SIGBUS on ARM when compiled with binutils 2.29
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
In binutils 2.29, the behavior of the ADR instruction changed so that 1 is
added to the address of a Thumb function (previously nothing was added). This
allows the loaded address to be passed to a BLX instruction and the correct
mode change will occur.
See: https://sourceware.org/bugzilla/show_bug.cgi?id=21458
By using adr with a label that isn't annotated as a thumb function,
we avoid the new behaviour in binutils 2.29 and get the same behaviour
as in prior releases, and as in other assemblers (ms armasm.exe,
clang's built in assembler) - an idea that Janne Grunau came up with.
Signed-off-by: Martin Storsjö <martin@martin.st>
---
libavcodec/arm/h264idct_neon.S | 20 ++++++++++++--------
1 file changed, 12 insertions(+), 8 deletions(-)
diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S
index f588f3e744..b078cf25f9 100644
--- a/libavcodec/arm/h264idct_neon.S
+++ b/libavcodec/arm/h264idct_neon.S
@@ -21,6 +21,7 @@
#include "libavutil/arm/asm.S"
function ff_h264_idct_add_neon, export=1
+h264_idct_add_neon_nothumb:
vld1.64 {d0-d3}, [r1,:128]
vmov.i16 q15, #0
@@ -73,6 +74,7 @@ function ff_h264_idct_add_neon, export=1
endfunc
function ff_h264_idct_dc_add_neon, export=1
+h264_idct_dc_add_neon_nothumb:
mov r3, #0
vld1.16 {d2[],d3[]}, [r1,:16]
strh r3, [r1]
@@ -113,8 +115,8 @@ function ff_h264_idct_add16_neon, export=1
movne lr, #0
cmp lr, #0
ite ne
- adrne lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB
- adreq lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB
+ adrne lr, h264_idct_dc_add_neon_nothumb + CONFIG_THUMB
+ adreq lr, h264_idct_add_neon_nothumb + CONFIG_THUMB
blx lr
2: subs ip, ip, #1
add r1, r1, #32
@@ -138,8 +140,8 @@ function ff_h264_idct_add16intra_neon, export=1
cmp r8, #0
ldrsh r8, [r1]
iteet ne
- adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB
- adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB
+ adrne lr, h264_idct_add_neon_nothumb + CONFIG_THUMB
+ adreq lr, h264_idct_dc_add_neon_nothumb + CONFIG_THUMB
cmpeq r8, #0
blxne lr
subs ip, ip, #1
@@ -166,8 +168,8 @@ function ff_h264_idct_add8_neon, export=1
cmp r8, #0
ldrsh r8, [r1]
iteet ne
- adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB
- adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB
+ adrne lr, h264_idct_add_neon_nothumb + CONFIG_THUMB
+ adreq lr, h264_idct_dc_add_neon_nothumb + CONFIG_THUMB
cmpeq r8, #0
blxne lr
add r12, r12, #1
@@ -267,6 +269,7 @@ endfunc
.endm
function ff_h264_idct8_add_neon, export=1
+h264_idct8_add_neon_nothumb:
vmov.i16 q3, #0
vld1.16 {q8-q9}, [r1,:128]
vst1.16 {q3}, [r1,:128]!
@@ -328,6 +331,7 @@ function ff_h264_idct8_add_neon, export=1
endfunc
function ff_h264_idct8_dc_add_neon, export=1
+h264_idct8_dc_add_neon_nothumb:
mov r3, #0
vld1.16 {d30[],d31[]},[r1,:16]
strh r3, [r1]
@@ -388,8 +392,8 @@ function ff_h264_idct8_add4_neon, export=1
movne lr, #0
cmp lr, #0
ite ne
- adrne lr, X(ff_h264_idct8_dc_add_neon) + CONFIG_THUMB
- adreq lr, X(ff_h264_idct8_add_neon) + CONFIG_THUMB
+ adrne lr, h264_idct8_dc_add_neon_nothumb + CONFIG_THUMB
+ adreq lr, h264_idct8_add_neon_nothumb + CONFIG_THUMB
blx lr
2: subs r12, r12, #4
add r1, r1, #128
--
2.13.6

@ -1,7 +1,7 @@
# TODO: add make test to %%check section # TODO: add make test to %%check section
#global branch oldabi- #global branch oldabi-
#global date 20110612 %global date 20180116
#global rel rc1 #global rel rc1
# Cuda and others are only available on some arches # Cuda and others are only available on some arches
@ -74,8 +74,8 @@
Summary: Digital VCR and streaming server Summary: Digital VCR and streaming server
Name: ffmpeg%{?flavor} Name: ffmpeg%{?flavor}
Version: 3.4.1 Version: 3.5
Release: 5%{?date}%{?date:git}%{?rel}%{?dist} Release: 0.1.%{?date}%{?date:git}%{?rel}%{?dist}
License: %{ffmpeg_license} License: %{ffmpeg_license}
URL: http://ffmpeg.org/ URL: http://ffmpeg.org/
%if 0%{?date} %if 0%{?date}
@ -83,8 +83,6 @@ Source0: ffmpeg-%{?branch}%{date}.tar.bz2
%else %else
Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz Source0: http://ffmpeg.org/releases/ffmpeg-%{version}.tar.xz
%endif %endif
#Backport patch for arm neon
Patch0: 0001-arm-Fix-SIGBUS-on-ARM-when-compiled-with-binutils-2..patch
Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release}
%{?_with_cuda:BuildRequires: cuda-driver-dev-%{_cuda_rpm_version} cuda-misc-headers-%{_cuda_rpm_version} cuda-drivers-devel%{_isa}} %{?_with_cuda:BuildRequires: cuda-driver-dev-%{_cuda_rpm_version} cuda-misc-headers-%{_cuda_rpm_version} cuda-drivers-devel%{_isa}}
%{?_with_libnpp:BuildRequires: cuda-cudart-dev-%{_cuda_rpm_version} cuda-nvcc-%{_cuda_rpm_version} cuda-misc-headers-%{_cuda_rpm_version} cuda-npp-dev-%{_cuda_rpm_version}} %{?_with_libnpp:BuildRequires: cuda-cudart-dev-%{_cuda_rpm_version} cuda-nvcc-%{_cuda_rpm_version} cuda-misc-headers-%{_cuda_rpm_version} cuda-npp-dev-%{_cuda_rpm_version}}
@ -185,6 +183,7 @@ This package contains the libraries for %{name}
%package -n libavdevice%{?flavor} %package -n libavdevice%{?flavor}
Summary: Special devices muxing/demuxing library Summary: Special devices muxing/demuxing library
Requires: %{name}-libs%{_isa} = %{version}-%{release}
%description -n libavdevice%{?flavor} %description -n libavdevice%{?flavor}
Libavdevice is a complementary library to libavf "libavformat". It provides Libavdevice is a complementary library to libavf "libavformat". It provides
@ -299,8 +298,6 @@ echo "git-snapshot-%{?branch}%{date}-RPMFusion" > VERSION
%else %else
%setup -q -n ffmpeg-%{version} %setup -q -n ffmpeg-%{version}
%endif %endif
# backport patch for arm neon
%patch0 -p1
# fix -O3 -g in host_cflags # fix -O3 -g in host_cflags
sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure sed -i "s|check_host_cflags -O3|check_host_cflags %{optflags}|" configure
mkdir -p _doc/examples mkdir -p _doc/examples
@ -311,7 +308,7 @@ cp -pr doc/examples/{*.c,Makefile,README} _doc/examples/
--shlibdir=%{_libdir} \ --shlibdir=%{_libdir} \
%if 0%{?_without_tools:1} %if 0%{?_without_tools:1}
--disable-doc \ --disable-doc \
--disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver \ --disable-ffmpeg --disable-ffplay --disable-ffprobe \
%endif %endif
%ifarch %{ix86} %ifarch %{ix86}
--cpu=%{_target_cpu} \ --cpu=%{_target_cpu} \
@ -376,17 +373,15 @@ install -pm755 tools/qt-faststart %{buildroot}%{_bindir}
%if 0%{!?_without_tools:1} %if 0%{!?_without_tools:1}
%files %files
%doc COPYING.* CREDITS README.md doc/ffserver.conf %doc COPYING.* CREDITS README.md
%{_bindir}/ffmpeg%{?progs_suffix} %{_bindir}/ffmpeg%{?progs_suffix}
%{_bindir}/ffplay%{?progs_suffix} %{_bindir}/ffplay%{?progs_suffix}
%{_bindir}/ffprobe%{?progs_suffix} %{_bindir}/ffprobe%{?progs_suffix}
%{_bindir}/ffserver%{?progs_suffix}
%{!?progs_suffix:%{_bindir}/qt-faststart} %{!?progs_suffix:%{_bindir}/qt-faststart}
%{!?flavor: %{!?flavor:
%{_mandir}/man1/ffmpeg*.1* %{_mandir}/man1/ffmpeg*.1*
%{_mandir}/man1/ffplay*.1* %{_mandir}/man1/ffplay*.1*
%{_mandir}/man1/ffprobe*.1* %{_mandir}/man1/ffprobe*.1*
%{_mandir}/man1/ffserver*.1*
} }
%{_datadir}/%{name} %{_datadir}/%{name}
%endif %endif
@ -412,6 +407,11 @@ install -pm755 tools/qt-faststart %{buildroot}%{_bindir}
%changelog %changelog
* Tue Jan 16 2018 Leigh Scott <leigh123linux@googlemail.com> - 3.5-0.1.20180116git
- Update to 20180116git
- Remove ffserver parts from spec
- Add requires ffmpeg-libs to libavdevice (rfbz#4768)
* Mon Jan 15 2018 Nicolas Chauvet <kwizart@gmail.com> - 3.4.1-5 * Mon Jan 15 2018 Nicolas Chauvet <kwizart@gmail.com> - 3.4.1-5
- Update to libva 2.0.0 - Update to libva 2.0.0

@ -1 +1 @@
726212db1b8a7eff6c25a2bc2e6fa75c ffmpeg-3.4.1.tar.xz 387130b290229656febfe3a8f2d2239f ffmpeg-20180116.tar.bz2

Loading…
Cancel
Save