summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Jezak <josejx@gentoo.org>2006-07-08 23:09:21 +0000
committerJoseph Jezak <josejx@gentoo.org>2006-07-08 23:09:21 +0000
commitfa0e4df1a088dd5d3a657b2a043f720d58af8638 (patch)
tree246a44cf3610b0b1d6cdde31fdcc84a9b88b5c3b /media-video/avidemux
parentRequire arts forcefully as per bug #139689. (diff)
downloadgentoo-2-fa0e4df1a088dd5d3a657b2a043f720d58af8638.tar.gz
gentoo-2-fa0e4df1a088dd5d3a657b2a043f720d58af8638.tar.bz2
gentoo-2-fa0e4df1a088dd5d3a657b2a043f720d58af8638.zip
Added altivec patch from bug #107209.
(Portage version: 2.1.1_pre2-r1)
Diffstat (limited to 'media-video/avidemux')
-rw-r--r--media-video/avidemux/ChangeLog6
-rw-r--r--media-video/avidemux/avidemux-2.0.42-r1.ebuild3
-rw-r--r--media-video/avidemux/files/avidemux-altivec.patch253
-rw-r--r--media-video/avidemux/files/digest-avidemux-2.0.242
-rw-r--r--media-video/avidemux/files/digest-avidemux-2.1_pre16
5 files changed, 267 insertions, 3 deletions
diff --git a/media-video/avidemux/ChangeLog b/media-video/avidemux/ChangeLog
index 733384f66313..b3b7bf1ed644 100644
--- a/media-video/avidemux/ChangeLog
+++ b/media-video/avidemux/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/avidemux
# Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.97 2006/04/14 05:28:11 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.98 2006/07/08 23:09:21 josejx Exp $
+
+ 08 Jul 2006; Joseph Jezak <josejx@gentoo.org>
+ +files/avidemux-altivec.patch, avidemux-2.0.42-r1.ebuild:
+ Added altivec patch from bug #107209.
14 Apr 2006; Mark Loeser <halcy0n@gentoo.org>
+files/avidemux-extra-qualification.diff, avidemux-2.0.42-r1.ebuild:
diff --git a/media-video/avidemux/avidemux-2.0.42-r1.ebuild b/media-video/avidemux/avidemux-2.0.42-r1.ebuild
index 17243fa6a8a4..583dd02a32b6 100644
--- a/media-video/avidemux/avidemux-2.0.42-r1.ebuild
+++ b/media-video/avidemux/avidemux-2.0.42-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.0.42-r1.ebuild,v 1.4 2006/04/14 05:28:11 halcy0n Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.0.42-r1.ebuild,v 1.5 2006/07/08 23:09:21 josejx Exp $
inherit eutils flag-o-matic fixheadtails
@@ -70,6 +70,7 @@ src_unpack() {
EPATCH_SUFFIX="patch" epatch ${WORKDIR}/${PV}/patches/
epatch "${FILESDIR}"/avidemux-extra-qualification.diff
+ epatch "${FILESDIR}"/avidemux-altivec.patch
cp ${WORKDIR}/${PV}/m4/* ${S}/m4 || die "cp m4 failed"
diff --git a/media-video/avidemux/files/avidemux-altivec.patch b/media-video/avidemux/files/avidemux-altivec.patch
new file mode 100644
index 000000000000..0a3ea73c6ac9
--- /dev/null
+++ b/media-video/avidemux/files/avidemux-altivec.patch
@@ -0,0 +1,253 @@
+--- avidemux/ADM_colorspace/yv12rgb_altivec.cpp.bak 2006-01-07 23:37:35.000000000 -0500
++++ avidemux/ADM_colorspace/yv12rgb_altivec.cpp 2006-01-07 23:38:46.000000000 -0500
+@@ -53,9 +53,9 @@
+ #define vecbyte vector unsigned char
+ #define vecshort vector unsigned short
+
+-uint8_t altivecYV12RGB(uint8_t * ptr_y,
++void altivecYV12RGB(uint8_t * ptr_y,
+ uint8_t * ptr_u,
+- uint8_t * ptr_v, uint8_t * ptr2, uint32_t w);
++ uint8_t * ptr_v, uint8_t * ptr2, int w);
+
+ // A pack of constant vectors we will use later
+ // we more or less rely on gcc to have good register allocation
+@@ -78,9 +78,9 @@
+ // We handle 8 pixels at a time
+ // My first altivec code :)
+ //____________________________________
+-uint8_t altivecYV12RGB(uint8_t * ptr_y,
++void altivecYV12RGB(uint8_t * ptr_y,
+ uint8_t * ptr_u,
+- uint8_t * ptr_v, uint8_t * ptr2, uint32_t w)
++ uint8_t * ptr_v, uint8_t * ptr2, int w)
+ {
+
+ vector unsigned char y,y2,u,v;
+@@ -280,7 +280,7 @@
+
+ }
+
+- return 1;
++ return;
+ }
+ //
+
+--- avidemux/ADM_colorspace/yv2bmp.cpp.bak 2006-01-07 23:40:11.000000000 -0500
++++ avidemux/ADM_colorspace/yv2bmp.cpp 2006-01-07 23:39:24.000000000 -0500
+@@ -29,9 +29,9 @@
+ #include "colorspace.h"
+ #include "ADM_toolkit/ADM_cpuCap.h"
+ #ifdef HAVE_ALTIVEC
+-extern uint8_t altivecYV12RGB(uint8_t * ptr_y,
++extern void altivecYV12RGB(uint8_t * ptr_y,
+ uint8_t * ptr_u,
+- uint8_t * ptr_v, uint8_t * ptr2, uint32_t w);
++ uint8_t * ptr_v, uint8_t * ptr2, int w);
+ #endif
+
+ static void swapRnB (uint8_t * ptr, uint32_t w);
+--- adm_lavcodec/libpostproc/postprocess_altivec_template.c.bak 2006-01-08 01:52:55.000000000 -0500
++++ adm_lavcodec/libpostproc/postprocess_altivec_template.c 2006-01-08 01:52:14.000000000 -0500
+@@ -1228,12 +1228,12 @@
+
+
+
+- const VECS16 vec_m=(VECS16)(0,1,2,3,3,2,1,0);
+- const VECS16 vec_m2=(VECS16)(0,-1,0,2,0,-1,0,0);
+- const VECS16 vec_sign=(VECS16)(0,1,1,1,-1,-1,-1,0);
+- const VECS16 vec_sign2=(VECS16)(0,-1,-1,-1,1,1,1,0);
++ const VECS16 vec_m=(VECS16)AVV(0,1,2,3,3,2,1,0);
++ const VECS16 vec_m2=(VECS16)AVV(0,-1,0,2,0,-1,0,0);
++ const VECS16 vec_sign=(VECS16)AVV(0,1,1,1,-1,-1,-1,0);
++ const VECS16 vec_sign2=(VECS16)AVV(0,-1,-1,-1,1,1,1,0);
+
+- const VEC16 vec_const=(VEC16)(4,0x11,0xFFFF,0,0,0,0,0);
++ const VEC16 vec_const=(VEC16)AVV(4,0x11,0xFFFF,0,0,0,0,0);
+
+ const VECS8 neg1=(VECS8)vec_splat(vec_const,2); // -1
+ const VEC16 vec_shift=vec_splat(vec_const,0); // 3
+--- adm_lavcodec/libpostproc/postprocess_template.c.bak 2006-01-08 01:57:42.000000000 -0500
++++ adm_lavcodec/libpostproc/postprocess_template.c 2006-01-08 01:54:45.000000000 -0500
+@@ -513,7 +513,7 @@
+
+
+
+- const VEC16 vec_const=(VEC16)(4,0x11,0xFFFF,0,0,0,0,0);
++ const VEC16 vec_const=(VEC16)AVV(4,0x11,0xFFFF,0,0,0,0,0);
+ const VEC8 vec_zero=(VEC8)vec_splat(vec_const,3); //0
+ const VEC16 neg1=vec_splat(vec_const,2); //FFFFF
+ const VEC16 vec_shift=vec_splat(vec_const,0); //4
+--- adm_lavcodec/ppc/fdct_altivec.c.bak 2006-07-08 16:51:08.000000000 -0400
++++ adm_lavcodec/ppc/fdct_altivec.c 2006-07-08 18:04:23.000000000 -0400
+@@ -18,7 +18,7 @@
+ */
+
+
+-#include "../common.h"
++#include "common.h"
+ #include "../dsputil.h"
+ #include "dsputil_altivec.h"
+ #include "gcc_fixes.h"
+@@ -214,8 +214,8 @@
+
+ /* setup constants {{{ */
+ /* mzero = -0.0 */
+- vu32(mzero) = vec_splat_u32(-1);
+- vu32(mzero) = vec_sl(vu32(mzero), vu32(mzero));
++ mzero = ((vector float)vec_splat_u32(-1));
++ mzero = ((vector float)vec_sl(vu32(mzero), vu32(mzero)));
+ cp = fdctconsts;
+ cnsts0 = vec_ld(0, cp); cp++;
+ cnsts1 = vec_ld(0, cp); cp++;
+@@ -227,43 +227,43 @@
+ #define MERGE_S16(hl,a,b) vec_merge##hl(vs16(a), vs16(b))
+
+ bp = (vector signed short*)block;
+- vs16(b00) = vec_ld(0, bp);
+- vs16(b40) = vec_ld(16*4, bp);
+- vs16(b01) = MERGE_S16(h, b00, b40);
+- vs16(b11) = MERGE_S16(l, b00, b40);
++ b00 = ((vector float)vec_ld(0, bp));
++ b40 = ((vector float)vec_ld(16*4, bp));
++ b01 = ((vector float)MERGE_S16(h, b00, b40));
++ b11 = ((vector float)MERGE_S16(l, b00, b40));
+ bp++;
+- vs16(b10) = vec_ld(0, bp);
+- vs16(b50) = vec_ld(16*4, bp);
+- vs16(b21) = MERGE_S16(h, b10, b50);
+- vs16(b31) = MERGE_S16(l, b10, b50);
++ b10 = ((vector float)vec_ld(0, bp));
++ b50 = ((vector float)vec_ld(16*4, bp));
++ b21 = ((vector float)MERGE_S16(h, b10, b50));
++ b31 = ((vector float)MERGE_S16(l, b10, b50));
+ bp++;
+- vs16(b20) = vec_ld(0, bp);
+- vs16(b60) = vec_ld(16*4, bp);
+- vs16(b41) = MERGE_S16(h, b20, b60);
+- vs16(b51) = MERGE_S16(l, b20, b60);
++ b20 = ((vector float)vec_ld(0, bp));
++ b60 = ((vector float)vec_ld(16*4, bp));
++ b41 = ((vector float)MERGE_S16(h, b20, b60));
++ b51 = ((vector float)MERGE_S16(l, b20, b60));
+ bp++;
+- vs16(b30) = vec_ld(0, bp);
+- vs16(b70) = vec_ld(16*4, bp);
+- vs16(b61) = MERGE_S16(h, b30, b70);
+- vs16(b71) = MERGE_S16(l, b30, b70);
+-
+- vs16(x0) = MERGE_S16(h, b01, b41);
+- vs16(x1) = MERGE_S16(l, b01, b41);
+- vs16(x2) = MERGE_S16(h, b11, b51);
+- vs16(x3) = MERGE_S16(l, b11, b51);
+- vs16(x4) = MERGE_S16(h, b21, b61);
+- vs16(x5) = MERGE_S16(l, b21, b61);
+- vs16(x6) = MERGE_S16(h, b31, b71);
+- vs16(x7) = MERGE_S16(l, b31, b71);
+-
+- vs16(b00) = MERGE_S16(h, x0, x4);
+- vs16(b10) = MERGE_S16(l, x0, x4);
+- vs16(b20) = MERGE_S16(h, x1, x5);
+- vs16(b30) = MERGE_S16(l, x1, x5);
+- vs16(b40) = MERGE_S16(h, x2, x6);
+- vs16(b50) = MERGE_S16(l, x2, x6);
+- vs16(b60) = MERGE_S16(h, x3, x7);
+- vs16(b70) = MERGE_S16(l, x3, x7);
++ b30 = ((vector float)vec_ld(0, bp));
++ b70 = ((vector float)vec_ld(16*4, bp));
++ b61 = ((vector float)MERGE_S16(h, b30, b70));
++ b71 = ((vector float)MERGE_S16(l, b30, b70));
++
++ x0 = ((vector float)MERGE_S16(h, b01, b41));
++ x1 = ((vector float)MERGE_S16(l, b01, b41));
++ x2 = ((vector float)MERGE_S16(h, b11, b51));
++ x3 = ((vector float)MERGE_S16(l, b11, b51));
++ x4 = ((vector float)MERGE_S16(h, b21, b61));
++ x5 = ((vector float)MERGE_S16(l, b21, b61));
++ x6 = ((vector float)MERGE_S16(h, b31, b71));
++ x7 = ((vector float)MERGE_S16(l, b31, b71));
++
++ b00 = ((vector float)MERGE_S16(h, x0, x4));
++ b10 = ((vector float)MERGE_S16(l, x0, x4));
++ b20 = ((vector float)MERGE_S16(h, x1, x5));
++ b30 = ((vector float)MERGE_S16(l, x1, x5));
++ b40 = ((vector float)MERGE_S16(h, x2, x6));
++ b50 = ((vector float)MERGE_S16(l, x2, x6));
++ b60 = ((vector float)MERGE_S16(h, x3, x7));
++ b70 = ((vector float)MERGE_S16(l, x3, x7));
+
+ #undef MERGE_S16
+ /* }}} */
+@@ -275,32 +275,32 @@
+ */
+ #if 1
+ /* fdct rows {{{ */
+- vs16(x0) = vec_add(vs16(b00), vs16(b70));
+- vs16(x7) = vec_sub(vs16(b00), vs16(b70));
+- vs16(x1) = vec_add(vs16(b10), vs16(b60));
+- vs16(x6) = vec_sub(vs16(b10), vs16(b60));
+- vs16(x2) = vec_add(vs16(b20), vs16(b50));
+- vs16(x5) = vec_sub(vs16(b20), vs16(b50));
+- vs16(x3) = vec_add(vs16(b30), vs16(b40));
+- vs16(x4) = vec_sub(vs16(b30), vs16(b40));
++ x0 = ((vector float)vec_add(vs16(b00), vs16(b70)));
++ x7 = ((vector float)vec_sub(vs16(b00), vs16(b70)));
++ x1 = ((vector float)vec_add(vs16(b10), vs16(b60)));
++ x6 = ((vector float)vec_sub(vs16(b10), vs16(b60)));
++ x2 = ((vector float)vec_add(vs16(b20), vs16(b50)));
++ x5 = ((vector float)vec_sub(vs16(b20), vs16(b50)));
++ x3 = ((vector float)vec_add(vs16(b30), vs16(b40)));
++ x4 = ((vector float)vec_sub(vs16(b30), vs16(b40)));
+
+- vs16(b70) = vec_add(vs16(x0), vs16(x3));
+- vs16(b10) = vec_add(vs16(x1), vs16(x2));
++ b70 = ((vector float)vec_add(vs16(x0), vs16(x3)));
++ b10 = ((vector float)vec_add(vs16(x1), vs16(x2)));
+
+- vs16(b00) = vec_add(vs16(b70), vs16(b10));
+- vs16(b40) = vec_sub(vs16(b70), vs16(b10));
++ b00 = ((vector float)vec_add(vs16(b70), vs16(b10)));
++ b40 = ((vector float)vec_sub(vs16(b70), vs16(b10)));
+
+ #define CTF0(n) \
+- vs32(b##n##1) = vec_unpackl(vs16(b##n##0)); \
+- vs32(b##n##0) = vec_unpackh(vs16(b##n##0)); \
++ b##n##1 = ((vector float)vec_unpackl(vs16(b##n##0))); \
++ b##n##0 = ((vector float)vec_unpackh(vs16(b##n##0))); \
+ b##n##1 = vec_ctf(vs32(b##n##1), 0); \
+ b##n##0 = vec_ctf(vs32(b##n##0), 0);
+
+ CTF0(0);
+ CTF0(4);
+
+- vs16(b20) = vec_sub(vs16(x0), vs16(x3));
+- vs16(b60) = vec_sub(vs16(x1), vs16(x2));
++ b20 = ((vector float)vec_sub(vs16(x0), vs16(x3)));
++ b60 = ((vector float)vec_sub(vs16(x1), vs16(x2)));
+
+ CTF0(2);
+ CTF0(6);
+@@ -321,8 +321,8 @@
+ b61 = vec_madd(cnst, b61, x1);
+
+ #define CTFX(x,b) \
+- vs32(b##0) = vec_unpackh(vs16(x)); \
+- vs32(b##1) = vec_unpackl(vs16(x)); \
++ b##0 = ((vector float)vec_unpackh(vs16(x))); \
++ b##1 = ((vector float)vec_unpackl(vs16(x))); \
+ b##0 = vec_ctf(vs32(b##0), 0); \
+ b##1 = vec_ctf(vs32(b##1), 0); \
+
+@@ -473,9 +473,9 @@
+ #define CTS(n) \
+ b##n##0 = vec_round(b##n##0); \
+ b##n##1 = vec_round(b##n##1); \
+- vs32(b##n##0) = vec_cts(b##n##0, 0); \
+- vs32(b##n##1) = vec_cts(b##n##1, 0); \
+- vs16(b##n##0) = vec_pack(vs32(b##n##0), vs32(b##n##1)); \
++ b##n##0 = ((vector float)vec_cts(b##n##0, 0)); \
++ b##n##1 = ((vector float)vec_cts(b##n##1, 0)); \
++ b##n##0 = ((vector float)vec_pack(vs32(b##n##0), vs32(b##n##1))); \
+ vec_st(vs16(b##n##0), 0, bp);
+
+ bp = (vector signed short*)block;
diff --git a/media-video/avidemux/files/digest-avidemux-2.0.24 b/media-video/avidemux/files/digest-avidemux-2.0.24
index b97f20afb138..aa45a9442cd5 100644
--- a/media-video/avidemux/files/digest-avidemux-2.0.24
+++ b/media-video/avidemux/files/digest-avidemux-2.0.24
@@ -1 +1,3 @@
MD5 c4482219ede0f6e0be8ddc61bf753589 avidemux-2.0.24.tar.gz 2637501
+RMD160 3d710e59cacfd93fcb739698c7703fb8e1789dfd avidemux-2.0.24.tar.gz 2637501
+SHA256 b0d1bdaab5d6828feaac5a06254f2dfcc8cc85f1a09419077ca8059a047bcf9b avidemux-2.0.24.tar.gz 2637501
diff --git a/media-video/avidemux/files/digest-avidemux-2.1_pre1 b/media-video/avidemux/files/digest-avidemux-2.1_pre1
index 07e9b2932d30..891ea9cdb6e4 100644
--- a/media-video/avidemux/files/digest-avidemux-2.1_pre1
+++ b/media-video/avidemux/files/digest-avidemux-2.1_pre1
@@ -1,2 +1,6 @@
-MD5 f5a3f530e86501eba55c8e37dbeb371c avidemux_2.1_step1.tar.gz 3884153
MD5 d9f1c619324e88983bad8084a375bd74 avidemux-patches-b1.tar.bz2 21734
+RMD160 c6473248fd2d526655f6a66fb5306d08cdbabcd6 avidemux-patches-b1.tar.bz2 21734
+SHA256 362511c9571c71204aac0446d0412f31682b962cc2b23cbf1381c02421f72851 avidemux-patches-b1.tar.bz2 21734
+MD5 f5a3f530e86501eba55c8e37dbeb371c avidemux_2.1_step1.tar.gz 3884153
+RMD160 b466c6e6e4071b86032eff9763375f85dc9c3f5e avidemux_2.1_step1.tar.gz 3884153
+SHA256 4ca0456f30d3760fa73e56b44ee39f13872d2ac080e9a2ff631a99dea3e81be6 avidemux_2.1_step1.tar.gz 3884153