diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_libraries/ADM_utilities/ADM_imageUtils.cpp avidemux_2.4.1/avidemux/ADM_libraries/ADM_utilities/ADM_imageUtils.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_libraries/ADM_utilities/ADM_imageUtils.cpp 2008-03-12 07:47:59.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_libraries/ADM_utilities/ADM_imageUtils.cpp 2008-03-13 04:43:33.000000000 +0300 @@ -150,7 +150,7 @@ return df; } #if defined( ARCH_X86 ) || defined (ARCH_X86_64) -static uint64_t noise64; +static uint64_t noise64 asm("noise64"); static uint32_t computeDiffMMX(uint8_t *s1,uint8_t *s2,uint32_t noise,uint32_t l) { uint32_t df=0; diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_video/ADM_interlaced.cpp avidemux_2.4.1/avidemux/ADM_video/ADM_interlaced.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_video/ADM_interlaced.cpp 2008-03-12 07:48:00.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_video/ADM_interlaced.cpp 2008-03-13 04:59:01.000000000 +0300 @@ -73,13 +73,13 @@ #if (defined( ARCH_X86) || defined(ARCH_X86_64)) && defined(ASM_ILACING) static uint32_t ADMVideo_interlaceCount_MMX( uint8_t *src ,uint32_t w, uint32_t h); -static uint8_t *_l_p=NULL; -static uint8_t *_l_c=NULL; -static uint8_t *_l_n=NULL; +static uint8_t *_l_p asm("_l_p") =NULL; +static uint8_t *_l_c asm("_l_c") =NULL; +static uint8_t *_l_n asm("_l_n") =NULL; -static int64_t _l_h; +static int64_t _l_h asm("_l_h"); -static mmx_t _lthresh,_added,_total,_lwrd; +static mmx_t _lthresh, _added, _total asm("_total"), _lwrd; static mmx_t _l255; static mmx_t _l0; diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidBlend.cpp avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidBlend.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidBlend.cpp 2008-03-12 07:48:00.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidBlend.cpp 2008-03-13 05:02:49.000000000 +0300 @@ -40,15 +40,15 @@ #include "admmangle.h" #ifdef ARCH_X86_64 -static int64_t _l_w,_l_h; +static int64_t _l_w asm("_l_w"), _l_h asm("_l_h"); #else - static int32_t _l_w,_l_h; + static int32_t _l_w asm("_l_w"), _l_h asm("_l_h"); #endif - static uint8_t *_l_p,*_l_c,*_l_n; - static uint8_t *_l_e,*_l_e2; + static uint8_t *_l_p asm("_l_p"), *_l_c asm("_l_c"), *_l_n asm("_l_n"); + static uint8_t *_l_e asm("_l_e"), *_l_e2 asm("_l_e2"); #define EXPAND(x) (x)+((x)<<16)+((x)<<32) +((x)<<48) -static uint64_t __attribute__((used)) _mmTHRESH1=EXPAND((uint64_t )THRES1); -static uint64_t __attribute__((used)) full_ones=0xFFFFFFFFFFFFFFFFLL; +static uint64_t __attribute__((used)) _mmTHRESH1 asm("_mmTHRESH1") =EXPAND((uint64_t )THRES1); +static uint64_t __attribute__((used)) full_ones asm("full_ones") =0xFFFFFFFFFFFFFFFFLL; static void myBlendASM(void); diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidDeintASM.cpp avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidDeintASM.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidDeintASM.cpp 2008-03-12 07:48:00.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidDeintASM.cpp 2008-03-13 04:38:50.000000000 +0300 @@ -45,9 +45,9 @@ void myDeintASM(void); - static int32_t _l_w,_l_h,_l_all; - static uint8_t *_l_p,*_l_c,*_l_n; - static uint8_t *_l_e,*_l_e2; + static int32_t _l_w,_l_h, _l_all asm("_l_all"); + static uint8_t *_l_p asm("_l_p"), *_l_c asm("_l_c"), *_l_n asm("_l_n"); + static uint8_t *_l_e asm("_l_e"), *_l_e2 asm("_l_e2"); #define EXPAND(x) (x)+((x)<<16)+((x)<<32) +((x)<<48) static mmx_t _mmTHRESH1; static mmx_t _mmTHRESH2; diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidFlux.cpp avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidFlux.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidFlux.cpp 2008-03-12 07:48:00.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidFlux.cpp 2008-03-13 06:06:57.000000000 +0300 @@ -44,8 +44,8 @@ #include "ADM_assert.h" -static int16_t scaletab[16]; -static uint64_t scaletab_MMX[65536]; +static int16_t scaletab[16] asm("scaletab"); +static uint64_t scaletab_MMX[65536] asm("scaletab_MMX"); void initScaleTab( void ) { @@ -72,18 +72,20 @@ //#define ASM_FLUX BUILD_CREATE(fluxsmooth_create,ADMVideoFlux); -static uint64_t spat_thresh ASM_CONST =0LL; -static uint64_t temp_thresh ASM_CONST =0LL; -static uint64_t ASM_CONST _l_counter_init,_l_indexer,_l_prev_pels,_l_next_pels; -static long int _l_src_pitch ASM_CONST =0; -static long int _l_dst_pitch ASM_CONST =0; -static int _l_xmax ASM_CONST=0; +static uint64_t spat_thresh asm("spat_thresh") ASM_CONST =0LL; +static uint64_t temp_thresh asm("temp_thresh") ASM_CONST =0LL; +static uint64_t ASM_CONST _l_counter_init asm("_l_counter_init"), + _l_indexer asm("_l_indexer"), _l_prev_pels asm("_l_prev_pels"), + _l_next_pels asm("_l_next_pels"); +static long int _l_src_pitch asm("_l_src_pitch") ASM_CONST =0; +static long int _l_dst_pitch asm("_l_dst_pitch") ASM_CONST =0; +static int _l_xmax asm("_l_xmax") ASM_CONST=0; -static int ycnt; -static uint8_t * _l_currp; -static uint8_t * _l_prevp; -static uint8_t * _l_nextp; -static uint8_t * _l_destp; +static int ycnt asm("ycnt"); +static uint8_t * _l_currp asm("_l_currp"); +static uint8_t * _l_prevp asm("_l_prevp"); +static uint8_t * _l_nextp asm("_l_nextp"); +static uint8_t * _l_destp asm("_l_destp"); static uint32_t size; diff -urdH avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidResampleFPS.cpp avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidResampleFPS.cpp --- avidemux_2.4.1-gcc43-inlines/avidemux/ADM_videoFilter/ADM_vidResampleFPS.cpp 2008-03-12 07:48:00.000000000 +0300 +++ avidemux_2.4.1/avidemux/ADM_videoFilter/ADM_vidResampleFPS.cpp 2008-03-13 04:45:37.000000000 +0300 @@ -174,7 +174,7 @@ return 1; } #if (defined( ARCH_X86) || defined(ARCH_X86_64)) -static uint64_t low,high; +static uint64_t low asm("low"), high asm("high"); static void blendMMX(uint8_t *src, uint8_t *src2, uint8_t *dst, uint8_t alpha, uint8_t beta,uint32_t count) { uint32_t left=count&3;