[MPlayer-users] [BUG] Compile with ICC 10.1
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Wed Jan 30 20:26:53 CET 2008
Hello,
On Tue, Jan 29, 2008 at 11:57:14PM +0100, Reimar Döffinger wrote:
> On Tue, Jan 29, 2008 at 11:32:49PM +0100, Guillaume POIRIER wrote:
> > On Jan 29, 2008 11:24 PM, Reimar Döffinger
> > <Reimar.Doeffinger at stud.uni-karlsruhe.de> wrote:
> > >
> > > On Tue, Jan 29, 2008 at 10:53:26PM +0100, Guillaume POIRIER wrote:
> >
> > > > I wasn't compiling with -ipo. I didn't compile with make -jx. :-(This
> > > > problem is still a mystery for me.
> > >
> > > To me it looks like you did not (correctly) apply the patch...
> >
> > Well it doesn't apply cleanly anymore. May I request an updated
> > version to be posted?
>
> I do not yet have one, though it should just be a matter of dropping the
> libavc and libswscale parts and instead modify the define in
> libavutil/mem.h
This one works for me with SVN.
If you disable or use and external liba52 you'll probably have to modify
the mp3lib part though.
-------------- next part --------------
Index: libmpcodecs/vf_fspp.c
===================================================================
--- libmpcodecs/vf_fspp.c (revision 25935)
+++ libmpcodecs/vf_fspp.c (working copy)
@@ -702,7 +702,7 @@
#ifdef HAVE_MMX
-static uint64_t attribute_used __attribute__((aligned(8))) temps[4];//!!
+uint64_t attribute_used __attribute__((aligned(8))) temps[4];//!!
DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_382683433)=FIX64(0.382683433, 14);
DECLARE_ASM_CONST(8, uint64_t, MM_FIX_0_541196100)=FIX64(0.541196100, 14);
Index: liba52/imdct.c
===================================================================
--- liba52/imdct.c (revision 25935)
+++ 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 25935)
+++ 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/decode_i586.c
===================================================================
--- mp3lib/decode_i586.c (revision 25935)
+++ 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/dct64_3dnow.c
===================================================================
--- mp3lib/dct64_3dnow.c (revision 25935)
+++ 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_mmx.c
===================================================================
--- mp3lib/decode_mmx.c (revision 25935)
+++ 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 25935)
+++ 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;
static uint64_t __attribute__((aligned(8))) dither4[2]={
0x0103010301030103LL,
Index: libavcodec/i386/flacdsp_mmx.c
===================================================================
--- libavcodec/i386/flacdsp_mmx.c (revision 11670)
+++ libavcodec/i386/flacdsp_mmx.c (working copy)
@@ -20,8 +20,9 @@
*/
#include "dsputil_mmx.h"
+#include "common.h"
-static void apply_welch_window_sse2(const int32_t *data, int len, double *w_data)
+static void av_noinline apply_welch_window_sse2(const int32_t *data, int len, double *w_data)
{
double c = 2.0 / (len-1.0);
int n2 = len>>1;
Index: libavutil/mem.h
===================================================================
--- libavutil/mem.h (revision 11670)
+++ libavutil/mem.h (working copy)
@@ -26,13 +26,13 @@
#ifndef FFMPEG_MEM_H
#define FFMPEG_MEM_H
-#ifdef __GNUC__
+//#ifdef __GNUC__
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
- #define DECLARE_ASM_CONST(n,t,v) static const t v attribute_used __attribute__ ((aligned (n)))
-#else
- #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
- #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
-#endif
+ #define DECLARE_ASM_CONST(n,t,v) const t v attribute_used __attribute__ ((aligned (n)))
+//#else
+// #define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
+// #define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
+//#endif
/**
* Allocate a block of \p size bytes with alignment suitable for all
More information about the MPlayer-users
mailing list