[MPlayer-dev-eng] updated gcc 3.4 fix

VMiklos mamajom at axelero.hu
Mon Apr 26 20:40:22 CEST 2004


On Mon, 26 Apr 2004, matthieu castet wrote:

> why not this in mp3lib ?

> if i have time i will try it.

here is a full patch updated to current cvs

it contains the current liba52 and postproc parts

Alex, in mp3lib intwindiv needs attribute_used in tabinit_MMX.c!

udv / greetings

---
       __________     VMiklos / FrugalWare & EL Team
  ____/__/___|___\__. E-mail: mamajom at axelero dot hu
O__O  _ |   |   _  |  Homepage: http://www.vmiklos.tk
'--`-(_)'---'--(_)-'  gpg --keyserver pgp.mit.edu --recv-keys 03915096

-------------- next part --------------
diff -Naur main.orig/liba52/imdct.c main/liba52/imdct.c
--- main.orig/liba52/imdct.c	2003-01-27 22:47:24.000000000 +0100
+++ main/liba52/imdct.c	2004-04-26 19:44:09.000000000 +0200
@@ -56,7 +56,7 @@
 
 static void fft_128p(complex_t *a);
 
-static const int pm128[128] __attribute__((aligned(16))) =
+static const int pm128[128] attribute_used __attribute__((aligned(16))) =
 {
 	0, 16, 32, 48, 64, 80,  96, 112,  8, 40, 72, 104, 24, 56,  88, 120,
 	4, 20, 36, 52, 68, 84, 100, 116, 12, 28, 44,  60, 76, 92, 108, 124,
@@ -69,7 +69,7 @@
 }; 
 
 /* 128 point bit-reverse LUT */
-static uint8_t bit_reverse_512[] = {
+static uint8_t attribute_used bit_reverse_512[] = {
 	0x00, 0x40, 0x20, 0x60, 0x10, 0x50, 0x30, 0x70, 
 	0x08, 0x48, 0x28, 0x68, 0x18, 0x58, 0x38, 0x78, 
 	0x04, 0x44, 0x24, 0x64, 0x14, 0x54, 0x34, 0x74, 
@@ -103,7 +103,7 @@
 static complex_t __attribute__((aligned(16))) buf[128];
 static float __attribute__((aligned(16))) sseSinCos1c[256];
 static float __attribute__((aligned(16))) sseSinCos1d[256];
-static float __attribute__((aligned(16))) ps111_1[4]={1,1,1,-1};
+static float attribute_used __attribute__((aligned(16))) ps111_1[4]={1,1,1,-1};
 //static float __attribute__((aligned(16))) sseW0[4];
 static float __attribute__((aligned(16))) sseW1[8];
 static float __attribute__((aligned(16))) sseW2[16];
diff -Naur main.orig/liba52/resample_mmx.c main/liba52/resample_mmx.c
--- main.orig/liba52/resample_mmx.c	2002-11-07 00:54:22.000000000 +0100
+++ main/liba52/resample_mmx.c	2004-04-26 19:48:39.000000000 +0200
@@ -7,10 +7,10 @@
 	and it would mean (C / MMX2 / MMX / 3DNOW) versions 
 */
 
-static uint64_t __attribute__((aligned(8))) magicF2W= 0x43c0000043c00000LL;
-static uint64_t __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000LL;
-static uint64_t __attribute__((aligned(8))) wm0101= 0x0000FFFF0000FFFFLL;
-static uint64_t __attribute__((aligned(8))) wm1100= 0xFFFFFFFF00000000LL;
+static uint64_t attribute_used __attribute__((aligned(8))) magicF2W= 0x43c0000043c00000LL;
+static uint64_t attribute_used __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000LL;
+static uint64_t attribute_used __attribute__((aligned(8))) wm0101= 0x0000FFFF0000FFFFLL;
+static uint64_t attribute_used __attribute__((aligned(8))) wm1100= 0xFFFFFFFF00000000LL;
 
 static int a52_resample_MONO_to_5_MMX(float * _f, int16_t * s16){
     int32_t * f = (int32_t *) _f;
diff -Naur main.orig/mp3lib/tabinit_MMX.c main/mp3lib/tabinit_MMX.c
--- main.orig/mp3lib/tabinit_MMX.c	2004-04-26 12:09:31.000000000 +0200
+++ main/mp3lib/tabinit_MMX.c	2004-04-26 19:48:39.000000000 +0200
@@ -49,7 +49,7 @@
 	  15038
 };
 
-static long intwindiv = 0x47800000;
+static long attribute_used intwindiv = 0x47800000;
 
 void make_decode_tables_MMX(long scaleval)
 {
diff -Naur main.orig/postproc/rgb2rgb.c main/postproc/rgb2rgb.c
--- main.orig/postproc/rgb2rgb.c	2003-10-10 02:11:24.000000000 +0200
+++ main/postproc/rgb2rgb.c	2004-04-26 19:48:39.000000000 +0200
@@ -71,18 +71,18 @@
 #ifdef ARCH_X86
 static const uint64_t mmx_null  __attribute__((aligned(8))) = 0x0000000000000000ULL;
 static const uint64_t mmx_one   __attribute__((aligned(8))) = 0xFFFFFFFFFFFFFFFFULL;
-static const uint64_t mask32b  __attribute__((aligned(8))) = 0x000000FF000000FFULL;
-static const uint64_t mask32g  __attribute__((aligned(8))) = 0x0000FF000000FF00ULL;
-static const uint64_t mask32r  __attribute__((aligned(8))) = 0x00FF000000FF0000ULL;
+static const uint64_t mask32b  attribute_used __attribute__((aligned(8))) = 0x000000FF000000FFULL;
+static const uint64_t mask32g  attribute_used __attribute__((aligned(8))) = 0x0000FF000000FF00ULL;
+static const uint64_t mask32r  attribute_used __attribute__((aligned(8))) = 0x00FF000000FF0000ULL;
 static const uint64_t mask32   __attribute__((aligned(8))) = 0x00FFFFFF00FFFFFFULL;
 static const uint64_t mask3216br __attribute__((aligned(8)))=0x00F800F800F800F8ULL;
 static const uint64_t mask3216g  __attribute__((aligned(8)))=0x0000FC000000FC00ULL;
 static const uint64_t mask3215g  __attribute__((aligned(8)))=0x0000F8000000F800ULL;
 static const uint64_t mul3216  __attribute__((aligned(8))) = 0x2000000420000004ULL;
 static const uint64_t mul3215  __attribute__((aligned(8))) = 0x2000000820000008ULL;
-static const uint64_t mask24b  __attribute__((aligned(8))) = 0x00FF0000FF0000FFULL;
-static const uint64_t mask24g  __attribute__((aligned(8))) = 0xFF0000FF0000FF00ULL;
-static const uint64_t mask24r  __attribute__((aligned(8))) = 0x0000FF0000FF0000ULL;
+static const uint64_t mask24b  attribute_used __attribute__((aligned(8))) = 0x00FF0000FF0000FFULL;
+static const uint64_t mask24g  attribute_used __attribute__((aligned(8))) = 0xFF0000FF0000FF00ULL;
+static const uint64_t mask24r  attribute_used __attribute__((aligned(8))) = 0x0000FF0000FF0000ULL;
 static const uint64_t mask24l  __attribute__((aligned(8))) = 0x0000000000FFFFFFULL;
 static const uint64_t mask24h  __attribute__((aligned(8))) = 0x0000FFFFFF000000ULL;
 static const uint64_t mask24hh  __attribute__((aligned(8))) = 0xffff000000000000ULL;
@@ -104,17 +104,17 @@
 static const uint64_t blue_15mask __attribute__((aligned(8))) = 0x0000001f0000001fULL;
 
 #ifdef FAST_BGR2YV12
-static const uint64_t bgr2YCoeff  __attribute__((aligned(8))) = 0x000000210041000DULL;
-static const uint64_t bgr2UCoeff  __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL;
-static const uint64_t bgr2VCoeff  __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL;
+static const uint64_t bgr2YCoeff  attribute_used __attribute__((aligned(8))) = 0x000000210041000DULL;
+static const uint64_t bgr2UCoeff  attribute_used __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL;
+static const uint64_t bgr2VCoeff  attribute_used __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL;
 #else
-static const uint64_t bgr2YCoeff  __attribute__((aligned(8))) = 0x000020E540830C8BULL;
-static const uint64_t bgr2UCoeff  __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL;
-static const uint64_t bgr2VCoeff  __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL;
+static const uint64_t bgr2YCoeff  attribute_used __attribute__((aligned(8))) = 0x000020E540830C8BULL;
+static const uint64_t bgr2UCoeff  attribute_used __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL;
+static const uint64_t bgr2VCoeff  attribute_used __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL;
 #endif
-static const uint64_t bgr2YOffset __attribute__((aligned(8))) = 0x1010101010101010ULL;
-static const uint64_t bgr2UVOffset __attribute__((aligned(8)))= 0x8080808080808080ULL;
-static const uint64_t w1111       __attribute__((aligned(8))) = 0x0001000100010001ULL;
+static const uint64_t bgr2YOffset attribute_used __attribute__((aligned(8))) = 0x1010101010101010ULL;
+static const uint64_t bgr2UVOffset attribute_used __attribute__((aligned(8)))= 0x8080808080808080ULL;
+static const uint64_t w1111       attribute_used __attribute__((aligned(8))) = 0x0001000100010001ULL;
 
 #if 0
 static volatile uint64_t __attribute__((aligned(8))) b5Dither;
diff -Naur main.orig/postproc/swscale.c main/postproc/swscale.c
--- main.orig/postproc/swscale.c	2004-04-06 02:25:47.000000000 +0200
+++ main/postproc/swscale.c	2004-04-26 19:48:39.000000000 +0200
@@ -183,17 +183,17 @@
 static uint64_t __attribute__((aligned(8))) M24C=   0x0000FF0000FF0000LL;
 
 #ifdef FAST_BGR2YV12
-static const uint64_t bgr2YCoeff  __attribute__((aligned(8))) = 0x000000210041000DULL;
-static const uint64_t bgr2UCoeff  __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL;
-static const uint64_t bgr2VCoeff  __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL;
+static const uint64_t bgr2YCoeff  attribute_used  __attribute__((aligned(8))) = 0x000000210041000DULL;
+static const uint64_t bgr2UCoeff  attribute_used __attribute__((aligned(8))) = 0x0000FFEEFFDC0038ULL;
+static const uint64_t bgr2VCoeff  attribute_used __attribute__((aligned(8))) = 0x00000038FFD2FFF8ULL;
 #else
-static const uint64_t bgr2YCoeff  __attribute__((aligned(8))) = 0x000020E540830C8BULL;
-static const uint64_t bgr2UCoeff  __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL;
-static const uint64_t bgr2VCoeff  __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL;
-#endif
-static const uint64_t bgr2YOffset __attribute__((aligned(8))) = 0x1010101010101010ULL;
-static const uint64_t bgr2UVOffset __attribute__((aligned(8)))= 0x8080808080808080ULL;
-static const uint64_t w1111       __attribute__((aligned(8))) = 0x0001000100010001ULL;
+static const uint64_t bgr2YCoeff  attribute_used __attribute__((aligned(8))) = 0x000020E540830C8BULL;
+static const uint64_t bgr2UCoeff  attribute_used __attribute__((aligned(8))) = 0x0000ED0FDAC23831ULL;
+static const uint64_t bgr2VCoeff  attribute_used __attribute__((aligned(8))) = 0x00003831D0E6F6EAULL;
+#endif
+static const uint64_t bgr2YOffset attribute_used __attribute__((aligned(8))) = 0x1010101010101010ULL;
+static const uint64_t bgr2UVOffset attribute_used  __attribute__((aligned(8)))= 0x8080808080808080ULL;
+static const uint64_t w1111       attribute_used __attribute__((aligned(8))) = 0x0001000100010001ULL;
 #endif
 
 // clipping helper table for C implementations:


More information about the MPlayer-dev-eng mailing list