summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Kursawe <phosphan@gentoo.org>2004-03-17 15:36:46 +0000
committerPatrick Kursawe <phosphan@gentoo.org>2004-03-17 15:36:46 +0000
commitc6effc70060b61ea44ba4241a6e971f887ddbccd (patch)
tree3531b23daf4551151b852caab377626a23a4f691 /media-video
parentstable on sparc (diff)
downloadhistorical-c6effc70060b61ea44ba4241a6e971f887ddbccd.tar.gz
historical-c6effc70060b61ea44ba4241a6e971f887ddbccd.tar.bz2
historical-c6effc70060b61ea44ba4241a6e971f887ddbccd.zip
Fixing compile error with gcc 3.3, patch by brandy in bug #32965
Diffstat (limited to 'media-video')
-rw-r--r--media-video/xmovie/ChangeLog8
-rw-r--r--media-video/xmovie/Manifest8
-rw-r--r--media-video/xmovie/files/digest-xmovie-1.8-r31
-rw-r--r--media-video/xmovie/files/xmovie-1.8-gcc3.3.patch335
-rw-r--r--media-video/xmovie/metadata.xml8
-rw-r--r--media-video/xmovie/xmovie-1.8-r3.ebuild37
-rw-r--r--media-video/xmovie/xmovie-1.8-r4.ebuild11
7 files changed, 360 insertions, 48 deletions
diff --git a/media-video/xmovie/ChangeLog b/media-video/xmovie/ChangeLog
index 8b9a2a755a0a..11c8a2f8c768 100644
--- a/media-video/xmovie/ChangeLog
+++ b/media-video/xmovie/ChangeLog
@@ -1,6 +1,10 @@
# ChangeLog for media-video/xmovie
-# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.8 2003/07/12 21:12:58 aliz Exp $
+# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/ChangeLog,v 1.9 2004/03/17 15:36:46 phosphan Exp $
+
+ 17 Mar 2004; Patrick Kursawe <phosphan@gentoo.org> xmovie-1.8-r3.ebuild,
+ xmovie-1.8-r4.ebuild, files/xmovie-1.8-gcc3.3.patch:
+ Fixing compile error with gcc 3.3, patch by brandy in bug #32965
*xmovie-1.8-r4 (21 Oct 2002)
diff --git a/media-video/xmovie/Manifest b/media-video/xmovie/Manifest
index 03db1878902c..632af2d6a4d8 100644
--- a/media-video/xmovie/Manifest
+++ b/media-video/xmovie/Manifest
@@ -1,6 +1,6 @@
-MD5 7a786f792902253d66cd69ca19bdfb1f ChangeLog 1542
-MD5 c86e57e96f294baaaf1f846ba5674f80 xmovie-1.8-r3.ebuild 769
-MD5 cf124ef026f3d65903363fc207779ae2 xmovie-1.8-r4.ebuild 967
-MD5 acb8578092f8aa9eb217ccfa3bb24dd5 files/digest-xmovie-1.8-r3 63
+MD5 9dc39b5dfb35f82a67c23fad0ae76275 xmovie-1.8-r4.ebuild 1038
+MD5 d2a0a27f1ea760a0c1fbf57cb5d4c7ff ChangeLog 1744
+MD5 9ef4af14dad87b03fde8e43f19e08d26 metadata.xml 225
MD5 acb8578092f8aa9eb217ccfa3bb24dd5 files/digest-xmovie-1.8-r4 63
MD5 512cf8d4e2a29820295f602c0289683e files/xmovie-gcc3-gentoo.patch 35110
+MD5 401c10db71e32a6ff3ec7d5718624d6a files/xmovie-1.8-gcc3.3.patch 18050
diff --git a/media-video/xmovie/files/digest-xmovie-1.8-r3 b/media-video/xmovie/files/digest-xmovie-1.8-r3
deleted file mode 100644
index 169bced7bd86..000000000000
--- a/media-video/xmovie/files/digest-xmovie-1.8-r3
+++ /dev/null
@@ -1 +0,0 @@
-MD5 cffbbc1ed8031375a91dce43759c5c65 xmovie-1.8.tar.gz 4692906
diff --git a/media-video/xmovie/files/xmovie-1.8-gcc3.3.patch b/media-video/xmovie/files/xmovie-1.8-gcc3.3.patch
new file mode 100644
index 000000000000..e9e798517b01
--- /dev/null
+++ b/media-video/xmovie/files/xmovie-1.8-gcc3.3.patch
@@ -0,0 +1,335 @@
+diff -ur xmovie-1.8/avifile/audiodecoder/mpeg/mpegtoraw.cpp xmovie-1.8-gentoo/avifile/audiodecoder/mpeg/mpegtoraw.cpp
+--- xmovie-1.8/avifile/audiodecoder/mpeg/mpegtoraw.cpp 2001-05-20 15:02:39.000000000 +1200
++++ xmovie-1.8-gentoo/avifile/audiodecoder/mpeg/mpegtoraw.cpp 2003-11-09 12:34:40.000000000 +1300
+@@ -553,8 +556,7 @@
+ }
+ }
+ #ifdef DEBUG
+- fprintf(stderr, "MPEG %d audio layer %d (%d kbps), at %d Hz %s [%d]\n", version+1, layer, bitrate[version][layer-1][bitrateindex], (mpeg25) ? frequencies[2][frequency] : frequencies[version][frequency], (mode == single) ? "mono" : "stere
+-o", framesize);
++ fprintf(stderr, "MPEG %d audio layer %d (%d kbps), at %d Hz %s [%d]\n", version+1, layer, bitrate[version][layer-1][bitrateindex], (mpeg25) ? frequencies[2][frequency] : frequencies[version][frequency], (mode == single) ? "mono" : "stereo", framesize);
+ #endif
+
+
+diff -ur xmovie-1.8/avifile/loader/win32.c xmovie-1.8-gentoo/avifile/loader/win32.c
+--- xmovie-1.8/avifile/loader/win32.c 2001-05-20 15:02:39.000000000 +1200
++++ xmovie-1.8-gentoo/avifile/loader/win32.c 2003-11-09 12:32:21.000000000 +1300
+@@ -1083,12 +1083,12 @@
+ {
+ #warning FIXME
+ if(s1)
+- dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string 0x%x='%s',
+- size %d, dest buffer 0x%x, dest size %d) => 1 ( L\"\\0\" )\n",
++ dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string 0x%x='%s', "
++ "size %d, dest buffer 0x%x, dest size %d) => 1 ( L\"\\0\" )\n",
+ v1, v2, s1, s1, siz1, s2, siz2);
+ else
+- dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string NULL,
+- size %d, dest buffer 0x%x, dest size %d) => 1 ( L\"\\0\" )\n",
++ dbgprintf("MultiByteToWideChar(codepage %d, flags 0x%x, string NULL, "
++ "size %d, dest buffer 0x%x, dest size %d) => 1 ( L\"\\0\" )\n",
+ v1, v2, siz1, s2, siz2);
+
+ if(s2==0)
+@@ -1593,12 +1593,12 @@
+ {
+ long result=CreateFileMappingA(hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, name);
+ if(!name)
+- dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x,
+- flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0) => %d\n",
++ dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x, "
++ "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0) => %d\n",
+ hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, result);
+ else
+- dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x,
+- flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0x%x='%s') => %d\n",
++ dbgprintf("CreateFileMappingA(file 0x%x, lpAttr 0x%x, "
++ "flProtect 0x%x, dwMaxHigh 0x%x, dwMaxLow 0x%x, name 0x%x='%s') => %d\n",
+ hFile, lpAttr, flProtect, dwMaxHigh, dwMaxLow, name, name, result);
+ return result;
+ }
+diff -ur xmovie-1.8/libmpeg3/video/output.c xmovie-1.8-gentoo/libmpeg3/video/output.c
+--- xmovie-1.8/libmpeg3/video/output.c 2001-05-20 15:02:38.000000000 +1200
++++ xmovie-1.8-gentoo/libmpeg3/video/output.c 2003-11-09 12:46:11.000000000 +1300
+@@ -219,82 +219,80 @@
+ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
++asm(
+ /* Output will be 0x00rrggbb with the 00 trailing so this can also be used */
+ /* for bgr24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- movd (%1), %%mm1; /* Load u 0x00000000000000cr */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */
+- movd (%2), %%mm2; /* Load v 0x00000000000000cb */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy u to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift u */
+- movq %%mm2, %%mm5; /* Copy v to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */
+- psllq $16, %%mm5; /* Shift v */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */
++ "movd (%0), %%mm0;\n" /* Load y 0x00000000000000yy */
++ "movd (%1), %%mm1;\n" /* Load u 0x00000000000000cr */
++ "movq %%mm0, %%mm3;\n" /* Copy y to temp */
++ "psllq $16, %%mm1;\n" /* Shift u 0x0000000000cr0000 */
++ "movd (%2), %%mm2;\n" /* Load v 0x00000000000000cb */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "movq %%mm1, %%mm4;\n" /* Copy u to temp */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x0000000000yy00yy */
++ "psllq $16, %%mm4;\n" /* Shift u */
++ "movq %%mm2, %%mm5;\n" /* Copy v to temp */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "por %%mm4, %%mm1;\n" /* Overlay new u byte 0x000000cr00cr0000 */
++ "psllq $16, %%mm5;\n" /* Shift v */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x000000yy00yy00yy */
++ "por %%mm5, %%mm2;\n" /* Overlay new v byte 0x0000000000cb00cb */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */
+- psubw mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */
+- pmullw mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */
+- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
+- psubw mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */
+- pmullw mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */
++ "psubw mpeg3_MMX_U_80, %%mm1;\n" /* Subtract 128 from u 0x000000uu00uu0000 */
++ "pmullw mpeg3_MMX_U_COEF, %%mm1;\n" /* Multiply u coeffs 0x0000uuuuuuuu0000 */
++ "psllw $6, %%mm0;\n" /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
++ "psubw mpeg3_MMX_V_80, %%mm2;\n" /* Subtract 128 from v 0x0000000000cb00cb */
++ "pmullw mpeg3_MMX_V_COEF, %%mm2;\n" /* Multiply v coeffs 0x0000crcrcrcrcrcr */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */
+- paddsw %%mm1, %%mm0; /* Add u to result */
+- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */
+- movd %%mm0, (%3); /* Store output */
+- "
++ "paddsw %%mm1, %%mm0;\n" /* Add u to result */
++ "paddsw %%mm2, %%mm0;\n" /* Add v to result 0x0000rrrrggggbbbb */
++ "psraw $6, %%mm0;\n" /* Demote precision */
++ "packuswb %%mm0, %%mm0;\n" /* Pack into ARGB 0x0000000000rrggbb */
++ "movd %%mm0, (%3);\n" /* Store output */
+ :
+ : "r" (&y), "r" (&u), "r" (&v), "r" (output));
+ }
+
+ inline void mpeg3_601_bgra32_mmx(unsigned long y,
+- unsigned long u,
+- unsigned long v,
++ unsigned long u,
++ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
++asm(
+ /* Output will be 0x00rrggbb with the 00 trailing so this can also be used */
+ /* for bgr24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- psubsw mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */
+- movd (%1), %%mm1; /* Load u 0x00000000000000cr */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift u 0x0000000000cr0000 */
+- movd (%2), %%mm2; /* Load v 0x00000000000000cb */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy u to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift u */
+- movq %%mm2, %%mm5; /* Copy v to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new u byte 0x000000cr00cr0000 */
+- psllq $16, %%mm5; /* Shift v */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new v byte 0x0000000000cb00cb */
++ "movd (%0), %%mm0;\n" /* Load y 0x00000000000000yy */
++ "psubsw mpeg3_MMX_601_Y_DIFF, %%mm0;\n" /* Subtract 16 from y */
++ "movd (%1), %%mm1;\n" /* Load u 0x00000000000000cr */
++ "movq %%mm0, %%mm3;\n" /* Copy y to temp */
++ "psllq $16, %%mm1;\n" /* Shift u 0x0000000000cr0000 */
++ "movd (%2), %%mm2;\n" /* Load v 0x00000000000000cb */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "movq %%mm1, %%mm4;\n" /* Copy u to temp */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x0000000000yy00yy */
++ "psllq $16, %%mm4;\n" /* Shift u */
++ "movq %%mm2, %%mm5;\n" /* Copy v to temp */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "por %%mm4, %%mm1;\n" /* Overlay new u byte 0x000000cr00cr0000 */
++ "psllq $16, %%mm5;\n" /* Shift v */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x000000yy00yy00yy */
++ "por %%mm5, %%mm2;\n" /* Overlay new v byte 0x0000000000cb00cb */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x000000uu00uu0000 mm2: 0x0000000000vv00vv */
+- pmullw mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale and shift y coeffs */
+- psubw mpeg3_MMX_U_80, %%mm1; /* Subtract 128 from u 0x000000uu00uu0000 */
+- pmullw mpeg3_MMX_U_COEF, %%mm1; /* Multiply u coeffs 0x0000uuuuuuuu0000 */
+- psubw mpeg3_MMX_V_80, %%mm2; /* Subtract 128 from v 0x0000000000cb00cb */
+- pmullw mpeg3_MMX_V_COEF, %%mm2; /* Multiply v coeffs 0x0000crcrcrcrcrcr */
++ "pmullw mpeg3_MMX_601_Y_COEF, %%mm0;\n" /* Scale and shift y coeffs */
++ "psubw mpeg3_MMX_U_80, %%mm1;\n" /* Subtract 128 from u 0x000000uu00uu0000 */
++ "pmullw mpeg3_MMX_U_COEF, %%mm1;\n" /* Multiply u coeffs 0x0000uuuuuuuu0000 */
++ "psubw mpeg3_MMX_V_80, %%mm2;\n" /* Subtract 128 from v 0x0000000000cb00cb */
++ "pmullw mpeg3_MMX_V_COEF, %%mm2;\n" /* Multiply v coeffs 0x0000crcrcrcrcrcr */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x0000uuuuuuuu0000 mm2: 0x00000000vvvvvvvv */
+- paddsw %%mm1, %%mm0; /* Add u to result */
+- paddsw %%mm2, %%mm0; /* Add v to result 0x0000rrrrggggbbbb */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into ARGB 0x0000000000rrggbb */
+- movd %%mm0, (%3); /* Store output */
+- "
++ "paddsw %%mm1, %%mm0;\n" /* Add u to result */
++ "paddsw %%mm2, %%mm0;\n" /* Add v to result 0x0000rrrrggggbbbb */
++ "psraw $6, %%mm0;\n" /* Demote precision */
++ "packuswb %%mm0, %%mm0;\n" /* Pack into ARGB 0x0000000000rrggbb */
++ "movd %%mm0, (%3);\n" /* Store output */
+ :
+ : "r" (&y), "r" (&u), "r" (&v), "r" (output));
+ }
+@@ -305,86 +303,84 @@
+ static long long mpeg3_MMX_V_COEF_RGB = 0x0000006fffea0000;
+
+ inline void mpeg3_rgba32_mmx(unsigned long y,
+- unsigned long u,
+- unsigned long v,
++ unsigned long u,
++ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
++asm(
+ /* Output will be 0x00bbggrr with the 00 trailing so this can also be used */
+ /* for rgb24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- movd (%1), %%mm1; /* Load v 0x00000000000000vv */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */
+- movd (%2), %%mm2; /* Load u 0x00000000000000uu */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy v to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift v */
+- movq %%mm2, %%mm5; /* Copy u to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */
+- psllq $16, %%mm5; /* Shift u */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */
++ "movd (%0), %%mm0;\n" /* Load y 0x00000000000000yy */
++ "movd (%1), %%mm1;\n" /* Load v 0x00000000000000vv */
++ "movq %%mm0, %%mm3;\n" /* Copy y to temp */
++ "psllq $16, %%mm1;\n" /* Shift v 0x0000000000vv0000 */
++ "movd (%2), %%mm2;\n" /* Load u 0x00000000000000uu */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "movq %%mm1, %%mm4;\n" /* Copy v to temp */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x0000000000yy00yy */
++ "psllq $16, %%mm4;\n" /* Shift v */
++ "movq %%mm2, %%mm5;\n" /* Copy u to temp */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "por %%mm4, %%mm1;\n" /* Overlay new v byte 0x000000vv00vv0000 */
++ "psllq $16, %%mm5;\n" /* Shift u */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x000000yy00yy00yy */
++ "por %%mm5, %%mm2;\n" /* Overlay new u byte 0x0000000000uu00uu */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */
+- psubw mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */
+- pmullw mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */
+- psllw $6, %%mm0; /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
+- psubw mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */
+- pmullw mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
++ "psubw mpeg3_MMX_V_80_RGB, %%mm1;\n" /* Subtract 128 from v 0x000000vv00vv0000 */
++ "pmullw mpeg3_MMX_V_COEF_RGB, %%mm1;\n" /* Multiply v coeffs 0x0000vvvvvvvv0000 */
++ "psllw $6, %%mm0;\n" /* Shift y coeffs 0x0000yyy0yyy0yyy0 */
++ "psubw mpeg3_MMX_U_80_RGB, %%mm2;\n" /* Subtract 128 from u 0x0000000000uu00uu */
++ "pmullw mpeg3_MMX_U_COEF_RGB, %%mm2;\n" /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */
+- paddsw %%mm1, %%mm0; /* Add v to result */
+- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */
+- movd %%mm0, (%3); /* Store output */
+- "
++ "paddsw %%mm1, %%mm0;\n" /* Add v to result */
++ "paddsw %%mm2, %%mm0;\n" /* Add u to result 0x0000bbbbggggrrrr */
++ "psraw $6, %%mm0;\n" /* Demote precision */
++ "packuswb %%mm0, %%mm0;\n" /* Pack into RGBA 0x0000000000bbggrr */
++ "movd %%mm0, (%3);\n" /* Store output */
+ :
+ : "r" (&y), "r" (&v), "r" (&u), "r" (output));
+ }
+
+ inline void mpeg3_601_rgba32_mmx(unsigned long y,
+- unsigned long u,
+- unsigned long v,
++ unsigned long u,
++ unsigned long v,
+ unsigned long *output)
+ {
+-asm("
++asm(
+ /* Output will be 0x00bbggrr with the 00 trailing so this can also be used */
+ /* for rgb24. */
+- movd (%0), %%mm0; /* Load y 0x00000000000000yy */
+- psubsw mpeg3_MMX_601_Y_DIFF, %%mm0; /* Subtract 16 from y */
+- movd (%1), %%mm1; /* Load v 0x00000000000000vv */
+- movq %%mm0, %%mm3; /* Copy y to temp */
+- psllq $16, %%mm1; /* Shift v 0x0000000000vv0000 */
+- movd (%2), %%mm2; /* Load u 0x00000000000000uu */
+- psllq $16, %%mm3; /* Shift y */
+- movq %%mm1, %%mm4; /* Copy v to temp */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x0000000000yy00yy */
+- psllq $16, %%mm4; /* Shift v */
+- movq %%mm2, %%mm5; /* Copy u to temp */
+- psllq $16, %%mm3; /* Shift y */
+- por %%mm4, %%mm1; /* Overlay new v byte 0x000000vv00vv0000 */
+- psllq $16, %%mm5; /* Shift u */
+- por %%mm3, %%mm0; /* Overlay new y byte 0x000000yy00yy00yy */
+- por %%mm5, %%mm2; /* Overlay new u byte 0x0000000000uu00uu */
++ "movd (%0), %%mm0;\n" /* Load y 0x00000000000000yy */
++ "psubsw mpeg3_MMX_601_Y_DIFF, %%mm0;\n" /* Subtract 16 from y */
++ "movd (%1), %%mm1;\n" /* Load v 0x00000000000000vv */
++ "movq %%mm0, %%mm3;\n" /* Copy y to temp */
++ "psllq $16, %%mm1;\n" /* Shift v 0x0000000000vv0000 */
++ "movd (%2), %%mm2;\n" /* Load u 0x00000000000000uu */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "movq %%mm1, %%mm4;\n" /* Copy v to temp */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x0000000000yy00yy */
++ "psllq $16, %%mm4;\n" /* Shift v */
++ "movq %%mm2, %%mm5;\n" /* Copy u to temp */
++ "psllq $16, %%mm3;\n" /* Shift y */
++ "por %%mm4, %%mm1;\n" /* Overlay new v byte 0x000000vv00vv0000 */
++ "psllq $16, %%mm5;\n" /* Shift u */
++ "por %%mm3, %%mm0;\n" /* Overlay new y byte 0x000000yy00yy00yy */
++ "por %%mm5, %%mm2;\n" /* Overlay new u byte 0x0000000000uu00uu */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x000000vv00vv0000 mm2: 0x0000000000uu00uu */
+- pmullw mpeg3_MMX_601_Y_COEF, %%mm0; /* Scale y coeffs */
+- psubw mpeg3_MMX_V_80_RGB, %%mm1; /* Subtract 128 from v 0x000000vv00vv0000 */
+- pmullw mpeg3_MMX_V_COEF_RGB, %%mm1; /* Multiply v coeffs 0x0000vvvvvvvv0000 */
+- psubw mpeg3_MMX_U_80_RGB, %%mm2; /* Subtract 128 from u 0x0000000000uu00uu */
+- pmullw mpeg3_MMX_U_COEF_RGB, %%mm2; /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
++ "pmullw mpeg3_MMX_601_Y_COEF, %%mm0;\n" /* Scale y coeffs */
++ "psubw mpeg3_MMX_V_80_RGB, %%mm1;\n" /* Subtract 128 from v 0x000000vv00vv0000 */
++ "pmullw mpeg3_MMX_V_COEF_RGB, %%mm1;\n" /* Multiply v coeffs 0x0000vvvvvvvv0000 */
++ "psubw mpeg3_MMX_U_80_RGB, %%mm2;\n" /* Subtract 128 from u 0x0000000000uu00uu */
++ "pmullw mpeg3_MMX_U_COEF_RGB, %%mm2;\n" /* Multiply u coeffs 0x0000uuuuuuuuuuuu */
+
+ /* mm0: 0x000000yy00yy00yy mm1: 0x0000vvvvvvvv0000 mm2: 0x00000000uuuuuuuu */
+- paddsw %%mm1, %%mm0; /* Add v to result */
+- paddsw %%mm2, %%mm0; /* Add u to result 0x0000bbbbggggrrrr */
+- psraw $6, %%mm0; /* Demote precision */
+- packuswb %%mm0, %%mm0; /* Pack into RGBA 0x0000000000bbggrr */
+- movd %%mm0, (%3); /* Store output */
+- "
++ "paddsw %%mm1, %%mm0;\n" /* Add v to result */
++ "paddsw %%mm2, %%mm0;\n" /* Add u to result 0x0000bbbbggggrrrr */
++ "psraw $6, %%mm0;\n" /* Demote precision */
++ "packuswb %%mm0, %%mm0;\n" /* Pack into RGBA 0x0000000000bbggrr */
++ "movd %%mm0, (%3);\n" /* Store output */
+ :
+ : "r" (&y), "r" (&v), "r" (&u), "r" (output));
+ }
diff --git a/media-video/xmovie/metadata.xml b/media-video/xmovie/metadata.xml
new file mode 100644
index 000000000000..1cadc2e4ec21
--- /dev/null
+++ b/media-video/xmovie/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>video</herd>
+<maintainer>
+ <email>media-video@gentoo.org</email>
+</maintainer>
+</pkgmetadata>
diff --git a/media-video/xmovie/xmovie-1.8-r3.ebuild b/media-video/xmovie/xmovie-1.8-r3.ebuild
deleted file mode 100644
index 1ec37ed3a854..000000000000
--- a/media-video/xmovie/xmovie-1.8-r3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/xmovie-1.8-r3.ebuild,v 1.7 2003/09/11 01:22:29 msterret Exp $
-
-S=${WORKDIR}/${P}
-DESCRIPTION="A Player for MPEG and Quicktime movies"
-SRC_URI="http://heroinewarrior.com/${P}.tar.gz"
-HOMEPAGE="http://heroines.sourceforge.net/"
-
-RDEPEND="virtual/x11
- =dev-libs/glib-1.2*
- >=media-libs/libpng-1.2.1"
-
-DEPEND="${RDEPEND}
- >=dev-lang/nasm-0.98"
-
-SLOT="0"
-LICENSE="GPL-2"
-KEYWORDS="x86"
-
-src_compile() {
- local myconf
- use mmx || myconf="${myconf} --no-mmx"
-
- ./configure ${myconf} || die
- emake || die
-
-}
-
-src_install () {
-
- into /usr
- dobin xmovie/`uname -m`/xmovie
- dodoc README
- dohtml docs/*.html
-
-}
diff --git a/media-video/xmovie/xmovie-1.8-r4.ebuild b/media-video/xmovie/xmovie-1.8-r4.ebuild
index 034b79f5272b..a559af6c1ffd 100644
--- a/media-video/xmovie/xmovie-1.8-r4.ebuild
+++ b/media-video/xmovie/xmovie-1.8-r4.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/xmovie-1.8-r4.ebuild,v 1.5 2003/09/11 01:22:29 msterret Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/xmovie/xmovie-1.8-r4.ebuild,v 1.6 2004/03/17 15:36:46 phosphan Exp $
-inherit gcc
+inherit gcc eutils
S=${WORKDIR}/${P}
DESCRIPTION="A Player for MPEG and Quicktime movies"
@@ -23,10 +23,13 @@ KEYWORDS="x86"
src_unpack() {
unpack ${A}
+ cd ${S}
if [ `gcc-major-version` = '3' ] ;
then
# gcc3.2 fix (from bug #7227)
- cd ${S} && patch -p1 <${FILESDIR}/xmovie-gcc3-gentoo.patch || die
+ epatch ${FILESDIR}/xmovie-gcc3-gentoo.patch
+ # gcc 3.3 fix from bug #32965
+ epatch ${FILESDIR}/xmovie-1.8-gcc3.3.patch
fi
}