New patch for GCC-4.5. Thanks to Archlinux guys
authorMarkos Chandras <hwoarang@gentoo.org>
Fri, 18 Jun 2010 13:47:49 +0000 (13:47 +0000)
committerMarkos Chandras <hwoarang@gentoo.org>
Fri, 18 Jun 2010 13:47:49 +0000 (13:47 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

media-video/avidemux/ChangeLog
media-video/avidemux/Manifest
media-video/avidemux/avidemux-2.5.3-r1.ebuild [moved from media-video/avidemux/avidemux-2.5.3.ebuild with 98% similarity]
media-video/avidemux/files/2.5.3_field_asm_fix.diff [new file with mode: 0644]
media-video/avidemux/files/avidemux-gcc-4.5.patch [deleted file]

index 1dec346d9fefccaa02f78a6ad2724f263ef0836a..2ae50dbfce88b39e1acbb0f970c54430cc6dbf60 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for media-video/avidemux
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.165 2010/06/13 17:16:05 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/ChangeLog,v 1.166 2010/06/18 13:47:49 hwoarang Exp $
+
+*avidemux-2.5.3-r1 (18 Jun 2010)
+
+  18 Jun 2010; Markos Chandras <hwoarang@gentoo.org>
+  +files/2.5.3_field_asm_fix.diff, -avidemux-2.5.3.ebuild,
+  +avidemux-2.5.3-r1.ebuild, -files/avidemux-gcc-4.5.patch:
+  New patch for GCC-4.5. Thanks to Archlinux guys
 
 *avidemux-2.5.3 (13 Jun 2010)
 
index 78968ea70d2818b2d755210ca2fef929d617d42f..05d6b42f1661b97b20a33bdabd28cb7db1a03d42 100644 (file)
@@ -1,3 +1,4 @@
+AUX 2.5.3_field_asm_fix.diff 4377 RMD160 d7f90a7086ac1a1112681832eb9af9d6d0ea73dd SHA1 bfd66b5a5cc98f2f1eedf2f3a9b67a11cdb973df SHA256 6f8093983b0bd53ef50e2f7aa22beb85147c2a4566c0faa9416fb90f282aa6b5
 AUX avidemux-2.4-cmake264.patch 820 RMD160 e02c32891a257dd6e14e2b6aa464232cea222429 SHA1 387804ad24a816a24a036b57692cee9ff13e728f SHA256 693958df6c16d467e3c4a0b9dc56861c2c1bf8eed051de5cd7422b274d5d68af
 AUX avidemux-2.4-i18n.patch 1676 RMD160 5cc06702f8a4d96a12630d4f543035baa5ccac0f SHA1 32557519caeed3b236f48b40d5ee8953b2d03197 SHA256 ab978ed96a2689af2e01ad8b9a08ed9bd4b2f8e4c6721d9598964f1fd8a5e6d2
 AUX avidemux-2.4-libdca.patch 949 RMD160 53ec97b26441f2617566dbb949496be72ecbc07c SHA1 91ff55452ed9bdaabd76fa41add4c405bf6b8405 SHA256 95f49dbe69a4621ef8f33795898623156222e16d0774a6c454e2e303c6290c3e
@@ -7,7 +8,6 @@ AUX avidemux-2.4.4-gcc-4.4.patch 3946 RMD160 1be6fb90f05befb0399ef38ccb6358d082f
 AUX avidemux-2.5.1-build-plugins-fix.patch 438 RMD160 4ddd7d69679940efbb783149e5c994e2036e65ea SHA1 5988536e2d74fe3b050026fee6a22ba0a85d037b SHA256 4316a65d59a3eedd482ae845d586d50e67311cb4a7c8680aca3d67c575c53a1f
 AUX avidemux-2.5.2-altivec-bool.patch 330 RMD160 694d756e3ea022b95833cbf988d363950787358d SHA1 437a342b63d66eb817e46a0a67ea3a4e4069aef8 SHA256 4fe3455a9e7441e19160814147385d98106e69ea21e7172f87c429bfca9e5744
 AUX avidemux-2.5.3-build-plugins-fix.patch 469 RMD160 9788ca88e4016b90e7e4fd2a17db0dd7abdcd324 SHA1 833d977f6ea873d611f01111de8f6e4abf43cc17 SHA256 579fd684d271e4858b35187603065e03a1fb6f2309e9d4e76ae2c30719c78d4c
-AUX avidemux-gcc-4.5.patch 358 RMD160 f8482b5f948d3d9f21493f3645f8ab73e24e22b5 SHA1 9c0d5bf6f2917566afc4ccf8309c8d52a4e1efec SHA256 1dee7a3433d255bb143c104ebf27accf463c4b973909c10a266f553a88e6e624
 AUX lavcodec-mpegvideo_mmx-asm-fix.patch 2443 RMD160 3b1b315ef1e5083f95807ce5419196c832a66aad SHA1 0bd5ca05d373f7fd63cafb03d5514cfc86d8504c SHA256 c6cfcf06da8a254e542077a7ac728be220d41fc0ad3c4b7001ac63de5f36bc6c
 DIST avidemux-2.5-r5428.tar.bz2 11433656 RMD160 ae72e5d03f2c12b1a9e64ed9cd57a00c84eac841 SHA1 d29d7a2d1054108bc20b4371be9c5ab29816a2e6 SHA256 42e3d596d8ac106120f88a77442a5a916fd34c64b09940f70d3156221cd7e50c
 DIST avidemux-2.5.1-patches-1.tar.bz2 3700 RMD160 6150cef25c8411c76816f800bc1d688e2771bebe SHA1 bdc6aab3f19c1ef71f3e04c23435f22452651fd9 SHA256 bcd472ea7c5f96c8bf8f48c2c93d53804912e94c77120dc8739e2c0ab122d69c
@@ -19,6 +19,6 @@ EBUILD avidemux-2.4.4-r2.ebuild 3538 RMD160 e88f8a04653b628a1300b4d73473a320f2a7
 EBUILD avidemux-2.5.1-r2.ebuild 4955 RMD160 bf3971eec4b58d10c6d5241af9f8725d78c9f101 SHA1 66279aae61f9a66503f628c5358a1776e03e33e0 SHA256 4a1a5ddcef86f2e9e0d9141b8172ad31246a499415fb903ac07faf38c22ca374
 EBUILD avidemux-2.5.1_p5428.ebuild 4853 RMD160 8c52be77d9944539bca654db70718ebded38c08b SHA1 b3bb73ec591e2f7f4ff187826f8db43a07318fa1 SHA256 06ac0328e1e963a17a28682cfb6a791eab190b4793b5ee892e73446ae6cc0261
 EBUILD avidemux-2.5.2.ebuild 5052 RMD160 b67fa3f157486611b8640268e9e6133e8c5f6863 SHA1 84e1fe5273be09eb9478b8a09ee521a8a526d816 SHA256 970fb2c56fad5636be75f54b4e7fd3e2ca34b509feb4ffb3f4cfcddde4918a97
-EBUILD avidemux-2.5.3.ebuild 4940 RMD160 1cea2f0db22377e0bd1ff62c637a6d1464261511 SHA1 4abbd9452834d8a90065fd09f106720f6ecc0213 SHA256 4a2f1f69e97762bf91699504fbbdf3095b27fb2a60001f3061f6e68ccd7c5399
-MISC ChangeLog 29424 RMD160 e43fd5838bd1e07c1a75390fca2cbfff60db53c0 SHA1 00a2977674eef1e2d1955657ce2f2f4f5b514c90 SHA256 1fd1128a69d74125189ecbec77e9ffc4f2cceec7e38917544f9dda5c7bce7f6d
+EBUILD avidemux-2.5.3-r1.ebuild 4948 RMD160 e71dc5ad4f304649310d360a3c7c1bd4a5864312 SHA1 433b43c3559f27a43c392503d0dd8e4801c4614e SHA256 99c5ac73822c184747ed560f786f4194e48898ace92804ffc30fcef388322c70
+MISC ChangeLog 29681 RMD160 e5bed2dd6bea669797687a17f8cd72405d4462e7 SHA1 91e0455014676632d58c53f6d880a55c2ca1f94e SHA256 7c1381e382baf91d179450a9bd3915054de75636965abb14f03f2ff3332cb2f6
 MISC metadata.xml 485 RMD160 95a87d5c668b8ebcf81bda32aa17066dd4c8482e SHA1 0b52f00590772f6caa104e4a8ac830ddf230e95c SHA256 07609a99bbf9772db5da33f0a6fe4fd72f1e6d60ccd96961ee9032bcd331b5c6
similarity index 98%
rename from media-video/avidemux/avidemux-2.5.3.ebuild
rename to media-video/avidemux/avidemux-2.5.3-r1.ebuild
index 1d098f02c1a5a8cc9757cb24e7ef7022ac699544..725dcc3bfcda88a9b694431df3c19cb972b7fb1f 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2010 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.5.3.ebuild,v 1.1 2010/06/13 17:16:05 hwoarang Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/avidemux/avidemux-2.5.3-r1.ebuild,v 1.1 2010/06/18 13:47:49 hwoarang Exp $
 
 EAPI="2"
 
@@ -53,7 +53,7 @@ for L in ${AVIDEMUX_LANGS}; do
 done
 
 PATCHES=(
-       "${FILESDIR}/${PN}-gcc-4.5.patch"
+       "${FILESDIR}/${PV}_field_asm_fix.diff"
        "${FILESDIR}/${P}-build-plugins-fix.patch"
 )
 
diff --git a/media-video/avidemux/files/2.5.3_field_asm_fix.diff b/media-video/avidemux/files/2.5.3_field_asm_fix.diff
new file mode 100644 (file)
index 0000000..989559b
--- /dev/null
@@ -0,0 +1,135 @@
+diff --git a/avidemux/ADM_coreImage/src/ADM_interlaceUtil.cpp b/avidemux/ADM_coreImage/src/ADM_interlaceUtil.cpp
+index 33b2a7f..99f0664 100644
+--- a/avidemux/ADM_coreImage/src/ADM_interlaceUtil.cpp
++++ b/avidemux/ADM_coreImage/src/ADM_interlaceUtil.cpp
+@@ -30,19 +30,8 @@ Skip factor=2
+  ***************************************************************************/
+ 
+ #include "ADM_default.h"
+-
+-//#include "ADM_editor/ADM_edit.hxx"
+ #include "ADM_videoFilter.h"
+ 
+-//#define MMX_TRACE
+-#warning remove mmxmacro and debug asm
+-//#define ASM_ILACING
+-
+-
+-#include "ADM_mmxMacros.h"
+-
+-
+-
+ 
+ #define SKIP_FACTOR 2   // 2^SKIPFACTOR=SKIP_LINEAR+1
+ #define SKIP_LINEAR   3
+@@ -62,7 +51,7 @@ Skip factor=2
+ */
+ 
+ #if defined(ADM_CPU_X86) && defined(ASM_ILACING)
+-
++#warning REWRITE IN PLAIN ASM
+ static uint32_t      ADMVideo_interlaceCount_MMX( uint8_t *src ,uint32_t w, uint32_t h);
+ static uint8_t * FUNNY_MANGLE(_l_p)  =NULL;
+ static uint8_t * FUNNY_MANGLE(_l_c) =NULL;
+diff --git a/avidemux/ADM_coreImage/src/ADM_vidFieldASM.cpp b/avidemux/ADM_coreImage/src/ADM_vidFieldASM.cpp
+index 61d11d4..479731c 100644
+--- a/avidemux/ADM_coreImage/src/ADM_vidFieldASM.cpp
++++ b/avidemux/ADM_coreImage/src/ADM_vidFieldASM.cpp
+@@ -20,15 +20,13 @@
+  ***************************************************************************/
+ 
+ #include "ADM_default.h"
+-
+ #include "ADM_videoFilter.h"
+-
+ #include"ADM_vidField.h"
+ 
+ #ifdef ADM_CPU_X86
+ //    #define DEBUG_DEINT 1
+ //    #define MMX_TRACE 1
+-      #include "ADM_mmxMacros.h"
++//    #include "ADM_mmxMacros.h"
+ 
+  void myDeintASM(void);
+ 
+@@ -36,25 +34,27 @@
+  static uint8_t * FUNNY_MANGLE(_l_p) , * FUNNY_MANGLE(_l_c) ,* FUNNY_MANGLE(_l_n);
+  static uint8_t * FUNNY_MANGLE(_l_e) , * FUNNY_MANGLE(_l_e2);
+ #define EXPAND(x) (x)+((x)<<16)+((x)<<32) +((x)<<48)
+-static mmx_t _mmTHRESH1;
+-static mmx_t _mmTHRESH2;
++static uint64_t  __attribute__((used)) __attribute__ ((__aligned__ (8)))  FUNNY_MANGLE(_mmTHRESH1) ;
++static uint64_t  __attribute__((used)) __attribute__ ((__aligned__ (8)))  FUNNY_MANGLE(_mmTHRESH2) ;
+ 
+-#define COMPUTE_MMX \
+-punpcklbw_r2r(mm5,mm0);  /*c  expand 4 bytes -> 4 word */ \
+-punpcklbw_r2r(mm5,mm1);  /*p*/ \
+-punpcklbw_r2r(mm5,mm2); /* n*/ \
+-movq_r2r(mm0,mm3);            /* mm3 also c*/ \
+-psubw_r2r(mm1,mm0) ; /* mm0=mm0-mm1 =  c-p*/ \
+-psubw_r2r(mm2,mm3) ; /* mm3=mm3-mm2 =  c-n*/ \
+-psraw_i2r(1,mm0); /* to protect from overflow*/ \
+-psraw_i2r(1,mm3);\
+-pmullw_r2r(mm0,mm3); /* mm3=(c-p)*(c-n) / 4;*/ \
+-movq_r2r(mm3,mm0) ; /* mm0 also c-p*c-n */ \
+-pcmpgtw_r2r(mm4,mm3); /* keep only > size*/ \
+-pcmpgtw_r2r(mm6,mm0); /* keep only > size*/ \
+-packsswb_r2r(mm5,mm0); \
+-packsswb_r2r(mm5,mm3);
+ 
++#define COMPUTE_MMX \
++__asm__ __volatile__(\
++"punpcklbw %%mm5,%%mm0\n\t" \
++"punpcklbw %%mm5,%%mm1\n\t" \
++"punpcklbw %%mm5,%%mm2\n\t" \
++"movq      %%mm0,%%mm3\n\t" \
++"psubw     %%mm1,%%mm0\n\t" \
++"psubw     %%mm2,%%mm3\n\t" \
++"psraw     $1,%%mm0\n\t" \
++"psraw     $1,%%mm3\n\t" \
++"pmullw    %%mm0,%%mm3\n\t" \
++"movq      %%mm3,%%mm0\n\t" \
++"pcmpgtw   %%mm4,%%mm3\n\t" \
++"pcmpgtw   %%mm6,%%mm0\n\t" \
++"packsswb  %%mm5,%%mm0\n\t" \
++"packsswb  %%mm5,%%mm3\n\t" \
++::)
+ #endif
+ 
+ void ADMVideoFields::hasMotion_C(uint8_t *p,uint8_t *c,
+@@ -90,8 +90,8 @@ void ADMVideoFields::hasMotion_MMX(uint8_t *p,uint8_t *c,
+ {
+ 
+ 
+-                              _mmTHRESH1.uq=EXPAND((uint64_t ) ((_param->motion_trigger*_param->motion_trigger)>>2) );
+-                              _mmTHRESH2.uq=EXPAND((uint64_t ) ((_param->blend_trigger*_param->blend_trigger)>>2) );
++            _mmTHRESH1=EXPAND((uint64_t ) ((_param->motion_trigger*_param->motion_trigger)>>2) );
++            _mmTHRESH2=EXPAND((uint64_t ) ((_param->blend_trigger*_param->blend_trigger)>>2) );
+ 
+                       _l_h=_info.height-2;
+                       _l_w=_info.width>>2;
+@@ -102,10 +102,11 @@ void ADMVideoFields::hasMotion_MMX(uint8_t *p,uint8_t *c,
+                       _l_e=e;
+                       _l_e2=e2;
+ //                    printf("\n MMX \n");
+-
+-                      pxor_r2r(mm5,mm5);
+-                      movq_m2r(_mmTHRESH1,mm4);
+-                      movq_m2r(_mmTHRESH2,mm6);
++             __asm__ __volatile__ (
++                      "pxor %%mm5,%%mm5\n\t"
++                      "movq "Mangle(_mmTHRESH1)",%%mm4\n\t"
++            "movq "Mangle(_mmTHRESH2)",%%mm6\n\t"
++            ::);
+                       myDeintASM();
+ }
+ #if !defined(DEBUG_DEINT)
+@@ -149,7 +150,7 @@ void myDeintASM(void)
+                             :
+                             : "eax", "ecx","edx","esi"
+                             );
+-         emms();
++            __asm__ __volatile__ ("emms");
+ 
+ }
+ #else
diff --git a/media-video/avidemux/files/avidemux-gcc-4.5.patch b/media-video/avidemux/files/avidemux-gcc-4.5.patch
deleted file mode 100644 (file)
index 56ea088..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- avidemux/ADM_coreImage/include/ADM_mmxMacros.h
-+++ avidemux/ADM_coreImage/include/ADM_mmxMacros.h
-@@ -353,7 +353,7 @@
- #define       mmx_m2r(op, mem, reg) \
-       __asm__ __volatile__ (#op " %0, %%" #reg \
-                             : /* nothing */ \
--                            : "X" (mem))
-+                            : "ym" (mem))
- 
- #define       mmx_r2m(op, reg, mem) \
-       __asm__ __volatile__ (#op " %%" #reg ", %0" \