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'
|
# Template file for 'ffmpeg'
|
||||||
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
|
# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
|
||||||
pkgname=ffmpeg
|
pkgname=ffmpeg
|
||||||
version=4.2.3
|
version=4.3.1
|
||||||
revision=6
|
revision=1
|
||||||
short_desc="Decoding, encoding and streaming software"
|
short_desc="Decoding, encoding and streaming software"
|
||||||
maintainer="Johannes <johannes.brechtmann@gmail.com>"
|
maintainer="Johannes <johannes.brechtmann@gmail.com>"
|
||||||
license="GPL-3.0-or-later"
|
license="GPL-3.0-or-later"
|
||||||
homepage="https://www.ffmpeg.org"
|
homepage="https://www.ffmpeg.org"
|
||||||
changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
|
changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
|
||||||
distfiles="${homepage}/releases/ffmpeg-${version}.tar.xz"
|
distfiles="${homepage}/releases/ffmpeg-${version}.tar.xz"
|
||||||
checksum=9df6c90aed1337634c1fb026fb01c154c29c82a64ea71291ff2da9aacb9aad31
|
checksum=ad009240d46e307b4e03a213a0f49c11b650e445b1f8be0dda2a9212b34d2ffb
|
||||||
|
|
||||||
hostmakedepends="pkg-config perl yasm"
|
hostmakedepends="pkg-config perl yasm"
|
||||||
makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
|
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";;
|
mips*) CFLAGS="-mnan=legacy";;
|
||||||
esac
|
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() {
|
do_configure() {
|
||||||
# Fix gcc on x86_64-musl only
|
# Fix gcc on x86_64-musl only
|
||||||
if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then
|
if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue