ffmpeg: update to 4.3.1.

This commit is contained in:
Johannes 2020-06-16 20:16:13 +02:00
parent 90e25c36ae
commit 983c2234db
2 changed files with 79 additions and 3 deletions

View file

@ -0,0 +1,60 @@
revert some altivec specific change on all ppc* except ppc64le*
q66: "We should also throw in a revert of FFmpeg/FFmpeg@3a557c5 but only
conditionally, for ppc* but not ppc64le* (the new code is valid for
POWER8 VSX which LE targets as a baseline but not BE)"
This reverts commit 3a557c5d88b7b15b5954ba2743febb055549b536.
---
libswscale/ppc/yuv2rgb_altivec.c | 24 ++++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/libswscale/ppc/yuv2rgb_altivec.c b/libswscale/ppc/yuv2rgb_altivec.c
index 536545293d..c1e2852adb 100644
--- a/libswscale/ppc/yuv2rgb_altivec.c
+++ b/libswscale/ppc/yuv2rgb_altivec.c
@@ -305,6 +305,9 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \
vector signed short R1, G1, B1; \
vector unsigned char R, G, B; \
\
+ const vector unsigned char *y1ivP, *y2ivP, *uivP, *vivP; \
+ vector unsigned char align_perm; \
+ \
vector signed short lCY = c->CY; \
vector signed short lOY = c->OY; \
vector signed short lCRV = c->CRV; \
@@ -335,13 +338,26 @@ static int altivec_ ## name(SwsContext *c, const unsigned char **in, \
vec_dstst(oute, (0x02000002 | (((w * 3 + 32) / 32) << 16)), 1); \
\
for (j = 0; j < w / 16; j++) { \
- y0 = vec_xl(0, y1i); \
+ y1ivP = (const vector unsigned char *) y1i; \
+ y2ivP = (const vector unsigned char *) y2i; \
+ uivP = (const vector unsigned char *) ui; \
+ vivP = (const vector unsigned char *) vi; \
+ \
+ align_perm = vec_lvsl(0, y1i); \
+ y0 = (vector unsigned char) \
+ vec_perm(y1ivP[0], y1ivP[1], align_perm); \
\
- y1 = vec_xl(0, y2i); \
+ align_perm = vec_lvsl(0, y2i); \
+ y1 = (vector unsigned char) \
+ vec_perm(y2ivP[0], y2ivP[1], align_perm); \
\
- u = (vector signed char) vec_xl(0, ui); \
+ align_perm = vec_lvsl(0, ui); \
+ u = (vector signed char) \
+ vec_perm(uivP[0], uivP[1], align_perm); \
\
- v = (vector signed char) vec_xl(0, vi); \
+ align_perm = vec_lvsl(0, vi); \
+ v = (vector signed char) \
+ vec_perm(vivP[0], vivP[1], align_perm); \
\
u = (vector signed char) \
vec_sub(u, \
--
2.27.0

View file

@ -1,15 +1,15 @@
# Template file for 'ffmpeg'
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
pkgname=ffmpeg
version=4.2.3
revision=6
version=4.3.1
revision=1
short_desc="Decoding, encoding and streaming software"
maintainer="Johannes <johannes.brechtmann@gmail.com>"
license="GPL-3.0-or-later"
homepage="https://www.ffmpeg.org"
changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
distfiles="${homepage}/releases/ffmpeg-${version}.tar.xz"
checksum=9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31
checksum=ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb
hostmakedepends="pkg-config perl yasm"
makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
@ -34,6 +34,22 @@ case "$XBPS_TARGET_MACHINE" in
mips*) CFLAGS="-mnan=legacy";;
esac
_apply_patch() {
local args="$1" pname="$(basename $2)"
if [ ! -f ".${pname}_done" ]; then
patch -N $args -i $2
touch .${pname}_done
fi
}
post_patch() {
case "$XBPS_TARGET_MACHINE" in
ppc64le*) ;;
ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;;
esac
}
do_configure() {
# Fix gcc on x86_64-musl only
if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then