[MPlayer-users] mplayer svn compile fails w/ icc 10.1

Reimar Döffinger Reimar.Doeffinger at stud.uni-karlsruhe.de
Thu Feb 28 13:10:46 CET 2008


On Thu, Feb 28, 2008 at 01:50:12AM -0800, Sam Logen wrote:
> Anyway, I recently installed gentoo on a pentium-m
> laptop with a mix of gcc and icc compiling (Icc v.
> 10.1.012).  So I got to compiling mplayer, and I
> noticed that mplayer's svn repos have comments on
> making the source compatible with icc > 10.1.

There is still one issue remaining in FFmpeg code (libswscale to be
precise) and many issues in in the imported mp3lib and liba52
libs which I'd be reluctant to modify for MPlayer.
You can use attached patch to avoid the remaining issues (and read the
recent thread about it if you still have problems or want to know more).

Greetings,
Reimar Döffinger
-------------- next part --------------
Index: liba52/imdct.c
===================================================================
--- liba52/imdct.c	(revision 26108)
+++ liba52/imdct.c	(working copy)
@@ -73,7 +73,7 @@
 	7, 23, 39, 55, 71, 87, 103, 119, 15, 31, 47,  63, 79, 95, 111, 127
 }; 
 
-static uint8_t attribute_used bit_reverse_512[] = {
+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, 
@@ -121,19 +121,19 @@
 #if defined(ARCH_X86) || defined(ARCH_X86_64)
 // NOTE: SSE needs 16byte alignment or it will segfault 
 // 
-static float __attribute__((aligned(16))) sseSinCos1c[256];
-static float __attribute__((aligned(16))) sseSinCos1d[256];
-static float attribute_used __attribute__((aligned(16))) ps111_1[4]={1,1,1,-1};
+float __attribute__((aligned(16))) sseSinCos1c[256];
+float __attribute__((aligned(16))) sseSinCos1d[256];
+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];
-static float __attribute__((aligned(16))) sseW3[32];
-static float __attribute__((aligned(16))) sseW4[64];
-static float __attribute__((aligned(16))) sseW5[128];
-static float __attribute__((aligned(16))) sseW6[256];
-static float __attribute__((aligned(16))) *sseW[7]=
+float __attribute__((aligned(16))) sseW1[8];
+float __attribute__((aligned(16))) sseW2[16];
+float __attribute__((aligned(16))) sseW3[32];
+float __attribute__((aligned(16))) sseW4[64];
+float __attribute__((aligned(16))) sseW5[128];
+float __attribute__((aligned(16))) sseW6[256];
+float __attribute__((aligned(16))) *sseW[7]=
 	{NULL /*sseW0*/,sseW1,sseW2,sseW3,sseW4,sseW5,sseW6};
-static float __attribute__((aligned(16))) sseWindow[512];
+float __attribute__((aligned(16))) sseWindow[512];
 #endif
 
 /* Root values for IFFT */
Index: liba52/resample_mmx.c
===================================================================
--- liba52/resample_mmx.c	(revision 26108)
+++ liba52/resample_mmx.c	(working copy)
@@ -31,10 +31,10 @@
 #include "a52_internal.h"
 
 
-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;
+uint64_t attribute_used __attribute__((aligned(8))) magicF2W= 0x43c0000043c00000LL;
+//uint64_t attribute_used __attribute__((aligned(8))) wm1010= 0xFFFF0000FFFF0000LL;
+uint64_t attribute_used __attribute__((aligned(8))) wm0101= 0x0000FFFF0000FFFFLL;
+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;
Index: mp3lib/dct64_3dnow.c
===================================================================
--- mp3lib/dct64_3dnow.c	(revision 26108)
+++ mp3lib/dct64_3dnow.c	(working copy)
@@ -13,7 +13,7 @@
 #include "mangle.h"
 
 static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL;
-static float attribute_used plus_1f = 1.0;
+float attribute_used plus_1f = 1.0;
 
 void dct64_MMX_3dnow(short *a,short *b,real *c)
 {
Index: mp3lib/decode_i586.c
===================================================================
--- mp3lib/decode_i586.c	(revision 26108)
+++ mp3lib/decode_i586.c	(working copy)
@@ -33,9 +33,9 @@
 #include "mangle.h"
 #define real float /* ugly - but only way */
 
-static int attribute_used buffs[1088]={0};
-static int attribute_used bo=1;
-static int attribute_used saved_ebp=0;
+int attribute_used buffs[1088]={0};
+int attribute_used bo=1;
+int attribute_used saved_ebp=0;
 
 int synth_1to1_pent(real *bandPtr, int channel, short *samples)
 {
Index: mp3lib/decode_mmx.c
===================================================================
--- mp3lib/decode_mmx.c	(revision 26108)
+++ mp3lib/decode_mmx.c	(working copy)
@@ -12,8 +12,8 @@
 #define real float /* ugly - but only way */
 
 extern void (*dct64_MMX_func)(short*, short*, real*);
-static unsigned long long attribute_used __attribute__((aligned(8))) null_one = 0x0000ffff0000ffffULL;
-static unsigned long long attribute_used __attribute__((aligned(8))) one_null = 0xffff0000ffff0000ULL;
+unsigned long long attribute_used __attribute__((aligned(8))) null_one = 0x0000ffff0000ffffULL;
+unsigned long long attribute_used __attribute__((aligned(8))) one_null = 0xffff0000ffff0000ULL;
 unsigned int __attribute__((aligned(16))) costab_mmx[] =
 {
 	1056974725,
Index: libswscale/swscale.c
===================================================================
--- libswscale/swscale.c	(revision 26108)
+++ libswscale/swscale.c	(working copy)
@@ -189,10 +189,10 @@
 DECLARE_ASM_CONST(8, uint64_t, bm11111000)=0xFFFFFFFFFF000000LL;
 DECLARE_ASM_CONST(8, uint64_t, bm01010101)=0x00FF00FF00FF00FFLL;
 
-static volatile uint64_t attribute_used __attribute__((aligned(8))) b5Dither;
-static volatile uint64_t attribute_used __attribute__((aligned(8))) g5Dither;
-static volatile uint64_t attribute_used __attribute__((aligned(8))) g6Dither;
-static volatile uint64_t attribute_used __attribute__((aligned(8))) r5Dither;
+volatile uint64_t attribute_used __attribute__((aligned(8))) b5Dither;
+volatile uint64_t attribute_used __attribute__((aligned(8))) g5Dither;
+volatile uint64_t attribute_used __attribute__((aligned(8))) g6Dither;
+volatile uint64_t attribute_used __attribute__((aligned(8))) r5Dither;
 
 const DECLARE_ALIGNED(8, uint64_t, ff_dither4[2]) = {
         0x0103010301030103LL,


More information about the MPlayer-users mailing list