pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/multimedia/ffmpeg4



Module Name:    pkgsrc
Committed By:   rin
Date:           Tue Jul  7 09:23:06 UTC 2020

Modified Files:
        pkgsrc/multimedia/ffmpeg4: Makefile distinfo
Added Files:
        pkgsrc/multimedia/ffmpeg4/patches:
            patch-libswscale_ppc_yuv2rgb__altivec.c

Log Message:
Fix build for powerpc machines that have AltiVec but no VSX support.

Workaround for upstream commit 3a557c5d88b7b15b5954ba2743febb055549b536:
https://github.com/FFmpeg/FFmpeg/commit/3a557c5d88b7b15b5954ba2743febb055549b53

Bump revision.


To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 pkgsrc/multimedia/ffmpeg4/Makefile
cvs rdiff -u -r1.18 -r1.19 pkgsrc/multimedia/ffmpeg4/distinfo
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/multimedia/ffmpeg4/patches/patch-libswscale_ppc_yuv2rgb__altivec.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/multimedia/ffmpeg4/Makefile
diff -u pkgsrc/multimedia/ffmpeg4/Makefile:1.33 pkgsrc/multimedia/ffmpeg4/Makefile:1.34
--- pkgsrc/multimedia/ffmpeg4/Makefile:1.33     Fri Jun 26 21:02:27 2020
+++ pkgsrc/multimedia/ffmpeg4/Makefile  Tue Jul  7 09:23:06 2020
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.33 2020/06/26 21:02:27 nia Exp $
+# $NetBSD: Makefile,v 1.34 2020/07/07 09:23:06 rin Exp $
 
 PKGNAME=       ${DISTNAME:S/ffmpeg/ffmpeg4/}
-PKGREVISION=   1
+PKGREVISION=   2
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      https://ffmpeg.org/
 COMMENT=       Decoding, encoding and streaming software (v4.x)

Index: pkgsrc/multimedia/ffmpeg4/distinfo
diff -u pkgsrc/multimedia/ffmpeg4/distinfo:1.18 pkgsrc/multimedia/ffmpeg4/distinfo:1.19
--- pkgsrc/multimedia/ffmpeg4/distinfo:1.18     Mon Jun 29 19:22:34 2020
+++ pkgsrc/multimedia/ffmpeg4/distinfo  Tue Jul  7 09:23:06 2020
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.18 2020/06/29 19:22:34 nia Exp $
+$NetBSD: distinfo,v 1.19 2020/07/07 09:23:06 rin Exp $
 
 SHA1 (ffmpeg-4.3.tar.xz) = dd618212469347feb5deb8934023ef6e1ae5f533
 RMD160 (ffmpeg-4.3.tar.xz) = 8e5d102b55e2f8b1c4da585eb9d003ab03e5e30e
@@ -19,3 +19,4 @@ SHA1 (patch-libavdevice_sunau__enc.c) = 
 SHA1 (patch-libavutil_common.h) = d0f1093bc82567807b39dde990ee347f90a082c9
 SHA1 (patch-libavutil_x86_asm.h) = 8f48f9e8ec08b5176bb40fc0021f3bb913dbef22
 SHA1 (patch-libavutil_x86_cpu.c) = 9c97e68fde0fcb19741e034a803d509040ea4487
+SHA1 (patch-libswscale_ppc_yuv2rgb__altivec.c) = 79b439ea89fd5926a20a725d0a2ca1b091366ea5

Added files:

Index: pkgsrc/multimedia/ffmpeg4/patches/patch-libswscale_ppc_yuv2rgb__altivec.c
diff -u /dev/null pkgsrc/multimedia/ffmpeg4/patches/patch-libswscale_ppc_yuv2rgb__altivec.c:1.1
--- /dev/null   Tue Jul  7 09:23:06 2020
+++ pkgsrc/multimedia/ffmpeg4/patches/patch-libswscale_ppc_yuv2rgb__altivec.c   Tue Jul  7 09:23:06 2020
@@ -0,0 +1,51 @@
+$NetBSD: patch-libswscale_ppc_yuv2rgb__altivec.c,v 1.1 2020/07/07 09:23:06 rin Exp $
+
+Fix build for powerpc machines that have AltiVec but no VSX support.
+
+Workaround for upstream commit 3a557c5d88b7b15b5954ba2743febb055549b536:
+https://github.com/FFmpeg/FFmpeg/commit/3a557c5d88b7b15b5954ba2743febb055549b536
+
+--- libswscale/ppc/yuv2rgb_altivec.c.orig      2020-06-16 03:54:24.000000000 +0900
++++ libswscale/ppc/yuv2rgb_altivec.c   2020-07-07 17:01:02.342931087 +0900
+@@ -283,6 +283,23 @@ static inline void cvtyuvtoRGB(SwsContex
+  * ------------------------------------------------------------------------------
+  */
+ 
++#if HAVE_VSX
++static inline vector unsigned char ffmpeg_vec_xl(const ubyte *xi)
++{
++    return vec_xl(0, xi)
++}
++#else
++static inline vector unsigned char ffmpeg_vec_xl(const ubyte *xi)
++{
++    const vector unsigned char *xivP;
++    vector unsigned char align_perm;
++
++    xivP = (const vector unsigned char *) xi;
++    align_perm = vec_lvsl(0, xi);
++    return (vector unsigned char) vec_perm(xivP[0], xivP[1], align_perm);
++}
++#endif
++
+ #define DEFCSP420_CVT(name, out_pixels)                                       \
+ static int altivec_ ## name(SwsContext *c, const unsigned char **in,          \
+                             int *instrides, int srcSliceY, int srcSliceH,     \
+@@ -335,13 +352,13 @@ static int altivec_ ## name(SwsContext *
+         vec_dstst(oute, (0x02000002 | (((w * 3 + 32) / 32) << 16)), 1);       \
+                                                                               \
+         for (j = 0; j < w / 16; j++) {                                        \
+-            y0 = vec_xl(0, y1i);                                              \
++            y0 = ffmpeg_vec_xl(y1i);                                          \
+                                                                               \
+-            y1 = vec_xl(0, y2i);                                              \
++            y1 = ffmpeg_vec_xl(y2i);                                          \
+                                                                               \
+-            u = (vector signed char) vec_xl(0, ui);                           \
++            u = (vector signed char) ffmpeg_vec_xl(ui);                       \
+                                                                               \
+-            v = (vector signed char) vec_xl(0, vi);                           \
++            v = (vector signed char) ffmpeg_vec_xl(vi);                       \
+                                                                               \
+             u = (vector signed char)                                          \
+                     vec_sub(u,                                                \



Home | Main Index | Thread Index | Old Index