diff options
author | Patrick Kursawe <phosphan@gentoo.org> | 2004-03-17 15:36:46 +0000 |
---|---|---|
committer | Patrick Kursawe <phosphan@gentoo.org> | 2004-03-17 15:36:46 +0000 |
commit | c6effc70060b61ea44ba4241a6e971f887ddbccd (patch) | |
tree | 3531b23daf4551151b852caab377626a23a4f691 /media-video | |
parent | stable on sparc (diff) | |
download | historical-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/ChangeLog | 8 | ||||
-rw-r--r-- | media-video/xmovie/Manifest | 8 | ||||
-rw-r--r-- | media-video/xmovie/files/digest-xmovie-1.8-r3 | 1 | ||||
-rw-r--r-- | media-video/xmovie/files/xmovie-1.8-gcc3.3.patch | 335 | ||||
-rw-r--r-- | media-video/xmovie/metadata.xml | 8 | ||||
-rw-r--r-- | media-video/xmovie/xmovie-1.8-r3.ebuild | 37 | ||||
-rw-r--r-- | media-video/xmovie/xmovie-1.8-r4.ebuild | 11 |
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 } |