ffmpeg: update to 4.3.1.
This commit is contained in:
parent
90e25c36ae
commit
983c2234db
2 changed files with 79 additions and 3 deletions
60
srcpkgs/ffmpeg/files/altivec.patch
Normal file
60
srcpkgs/ffmpeg/files/altivec.patch
Normal 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
|
||||
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue