diff options
author | Aurelien Jacobs <aurel@gnuage.org> | 2009-01-13 23:44:16 +0000 |
---|---|---|
committer | Aurelien Jacobs <aurel@gnuage.org> | 2009-01-13 23:44:16 +0000 |
commit | b250f9c66d3ddd84652d158fb979a5f21e3f2c71 (patch) | |
tree | ef84366029d6f8af6ed82e90c5f188bb7dfc844d /libpostproc | |
parent | 959da985b03570cfe7d239c0ba6d550ecb04c460 (diff) | |
download | ffmpeg-b250f9c66d3ddd84652d158fb979a5f21e3f2c71.tar.gz |
Change semantic of CONFIG_*, HAVE_* and ARCH_*.
They are now always defined to either 0 or 1.
Originally committed as revision 16590 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libpostproc')
-rw-r--r-- | libpostproc/postprocess.c | 61 | ||||
-rw-r--r-- | libpostproc/postprocess_template.c | 156 |
2 files changed, 111 insertions, 106 deletions
diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c index b2f5badaa4..a41f28bc66 100644 --- a/libpostproc/postprocess.c +++ b/libpostproc/postprocess.c @@ -92,7 +92,7 @@ unsigned postproc_version(void) return LIBPOSTPROC_VERSION_INT; } -#ifdef HAVE_ALTIVEC_H +#if HAVE_ALTIVEC_H #include <altivec.h> #endif @@ -102,7 +102,7 @@ unsigned postproc_version(void) #define TEMP_STRIDE 8 //#define NUM_BLOCKS_AT_ONCE 16 //not used yet -#if defined(ARCH_X86) +#if ARCH_X86 DECLARE_ASM_CONST(8, uint64_t, w05)= 0x0005000500050005LL; DECLARE_ASM_CONST(8, uint64_t, w04)= 0x0004000400040004LL; DECLARE_ASM_CONST(8, uint64_t, w20)= 0x0020002000200020LL; @@ -150,7 +150,7 @@ static const char *replaceTable[]= }; -#if defined(ARCH_X86) +#if ARCH_X86 static inline void prefetchnta(void *p) { __asm__ volatile( "prefetchnta (%0)\n\t" @@ -554,45 +554,47 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, //Note: we have C, MMX, MMX2, 3DNOW version there is no 3DNOW+MMX2 one //Plain C versions -#if !(defined (HAVE_MMX) || defined (HAVE_ALTIVEC)) || defined (RUNTIME_CPUDETECT) +#if !(HAVE_MMX || HAVE_ALTIVEC) || defined (RUNTIME_CPUDETECT) #define COMPILE_C #endif -#ifdef HAVE_ALTIVEC +#if HAVE_ALTIVEC #define COMPILE_ALTIVEC #endif //HAVE_ALTIVEC -#if defined(ARCH_X86) +#if ARCH_X86 -#if (defined (HAVE_MMX) && !defined (HAVE_3DNOW) && !defined (HAVE_MMX2)) || defined (RUNTIME_CPUDETECT) +#if (HAVE_MMX && !HAVE_3DNOW && !HAVE_MMX2) || defined (RUNTIME_CPUDETECT) #define COMPILE_MMX #endif -#if defined (HAVE_MMX2) || defined (RUNTIME_CPUDETECT) +#if HAVE_MMX2 || defined (RUNTIME_CPUDETECT) #define COMPILE_MMX2 #endif -#if (defined (HAVE_3DNOW) && !defined (HAVE_MMX2)) || defined (RUNTIME_CPUDETECT) +#if (HAVE_3DNOW && !HAVE_MMX2) || defined (RUNTIME_CPUDETECT) #define COMPILE_3DNOW #endif -#endif /* defined(ARCH_X86) */ +#endif /* ARCH_X86 */ #undef HAVE_MMX +#define HAVE_MMX 0 #undef HAVE_MMX2 +#define HAVE_MMX2 0 #undef HAVE_3DNOW +#define HAVE_3DNOW 0 #undef HAVE_ALTIVEC +#define HAVE_ALTIVEC 0 #ifdef COMPILE_C -#undef HAVE_MMX -#undef HAVE_MMX2 -#undef HAVE_3DNOW #define RENAME(a) a ## _C #include "postprocess_template.c" #endif #ifdef COMPILE_ALTIVEC #undef RENAME -#define HAVE_ALTIVEC +#undef HAVE_ALTIVEC +#define HAVE_ALTIVEC 1 #define RENAME(a) a ## _altivec #include "postprocess_altivec_template.c" #include "postprocess_template.c" @@ -601,9 +603,8 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, //MMX versions #ifdef COMPILE_MMX #undef RENAME -#define HAVE_MMX -#undef HAVE_MMX2 -#undef HAVE_3DNOW +#undef HAVE_MMX +#define HAVE_MMX 1 #define RENAME(a) a ## _MMX #include "postprocess_template.c" #endif @@ -611,9 +612,10 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, //MMX2 versions #ifdef COMPILE_MMX2 #undef RENAME -#define HAVE_MMX -#define HAVE_MMX2 -#undef HAVE_3DNOW +#undef HAVE_MMX +#undef HAVE_MMX2 +#define HAVE_MMX 1 +#define HAVE_MMX2 1 #define RENAME(a) a ## _MMX2 #include "postprocess_template.c" #endif @@ -621,9 +623,12 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, //3DNOW versions #ifdef COMPILE_3DNOW #undef RENAME -#define HAVE_MMX +#undef HAVE_MMX #undef HAVE_MMX2 -#define HAVE_3DNOW +#undef HAVE_3DNOW +#define HAVE_MMX 1 +#define HAVE_MMX2 0 +#define HAVE_3DNOW 1 #define RENAME(a) a ## _3DNow #include "postprocess_template.c" #endif @@ -641,7 +646,7 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[] // difference would not be measurable here but it is much better because // someone might exchange the CPU whithout restarting MPlayer ;) #ifdef RUNTIME_CPUDETECT -#if defined(ARCH_X86) +#if ARCH_X86 // ordered per speed fastest first if(c->cpuCaps & PP_CPU_CAPS_MMX2) postProcess_MMX2(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); @@ -652,7 +657,7 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[] else postProcess_C(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); #else -#ifdef HAVE_ALTIVEC +#if HAVE_ALTIVEC if(c->cpuCaps & PP_CPU_CAPS_ALTIVEC) postProcess_altivec(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); else @@ -660,13 +665,13 @@ static inline void postProcess(const uint8_t src[], int srcStride, uint8_t dst[] postProcess_C(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); #endif #else //RUNTIME_CPUDETECT -#ifdef HAVE_MMX2 +#if HAVE_MMX2 postProcess_MMX2(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); -#elif defined (HAVE_3DNOW) +#elif HAVE_3DNOW postProcess_3DNow(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); -#elif defined (HAVE_MMX) +#elif HAVE_MMX postProcess_MMX(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); -#elif defined (HAVE_ALTIVEC) +#elif HAVE_ALTIVEC postProcess_altivec(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); #else postProcess_C(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c index 05dc837207..908c5c764b 100644 --- a/libpostproc/postprocess_template.c +++ b/libpostproc/postprocess_template.c @@ -31,32 +31,32 @@ #undef PMINUB #undef PMAXUB -#ifdef HAVE_MMX2 +#if HAVE_MMX2 #define REAL_PAVGB(a,b) "pavgb " #a ", " #b " \n\t" -#elif defined (HAVE_3DNOW) +#elif HAVE_3DNOW #define REAL_PAVGB(a,b) "pavgusb " #a ", " #b " \n\t" #endif #define PAVGB(a,b) REAL_PAVGB(a,b) -#ifdef HAVE_MMX2 +#if HAVE_MMX2 #define PMINUB(a,b,t) "pminub " #a ", " #b " \n\t" -#elif defined (HAVE_MMX) +#elif HAVE_MMX #define PMINUB(b,a,t) \ "movq " #a ", " #t " \n\t"\ "psubusb " #b ", " #t " \n\t"\ "psubb " #t ", " #a " \n\t" #endif -#ifdef HAVE_MMX2 +#if HAVE_MMX2 #define PMAXUB(a,b) "pmaxub " #a ", " #b " \n\t" -#elif defined (HAVE_MMX) +#elif HAVE_MMX #define PMAXUB(a,b) \ "psubusb " #a ", " #b " \n\t"\ "paddb " #a ", " #b " \n\t" #endif //FIXME? |255-0| = 1 (should not be a problem ...) -#ifdef HAVE_MMX +#if HAVE_MMX /** * Check if the middle 8x8 Block in the given 8x16 block is flat */ @@ -136,7 +136,7 @@ static inline int RENAME(vertClassify)(uint8_t src[], int stride, PPContext *c){ "psubusb %%mm3, %%mm4 \n\t" " \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pxor %%mm7, %%mm7 \n\t" "psadbw %%mm7, %%mm0 \n\t" #else @@ -176,10 +176,10 @@ static inline int RENAME(vertClassify)(uint8_t src[], int stride, PPContext *c){ * Do a vertical low pass filter on the 8x16 block (only write to the 8x8 block in the middle) * using the 9-Tap Filter (1,1,2,2,4,2,2,1,1)/16 */ -#ifndef HAVE_ALTIVEC +#if !HAVE_ALTIVEC static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*3; __asm__ volatile( //"movv %0 %1 %2\n\t" "movq %2, %%mm0 \n\t" // QP,..., QP @@ -306,7 +306,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb) : "%"REG_a, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW const int l1= stride; const int l2= stride + l1; const int l3= stride + l2; @@ -345,7 +345,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } #endif //HAVE_ALTIVEC @@ -364,7 +364,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) */ static inline void RENAME(vertRK1Filter)(uint8_t *src, int stride, int QP) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*3; // FIXME rounding __asm__ volatile( @@ -426,7 +426,7 @@ static inline void RENAME(vertRK1Filter)(uint8_t *src, int stride, int QP) : "r" (src), "r" ((x86_reg)stride) : "%"REG_a, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW const int l1= stride; const int l2= stride + l1; const int l3= stride + l2; @@ -449,7 +449,7 @@ static inline void RENAME(vertRK1Filter)(uint8_t *src, int stride, int QP) } } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } #endif //0 @@ -462,7 +462,7 @@ static inline void RENAME(vertRK1Filter)(uint8_t *src, int stride, int QP) */ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*3; __asm__ volatile( @@ -548,7 +548,7 @@ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) : "r" (src), "r" ((x86_reg)stride), "m" (co->pQPb) : "%"REG_a, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW const int l1= stride; const int l2= stride + l1; @@ -582,13 +582,13 @@ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) } src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } -#ifndef HAVE_ALTIVEC +#if !HAVE_ALTIVEC static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext *c) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW /* uint8_t tmp[16]; const int l1= stride; @@ -869,7 +869,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext } } */ -#elif defined (HAVE_MMX) +#elif HAVE_MMX src+= stride*4; __asm__ volatile( "pxor %%mm7, %%mm7 \n\t" @@ -978,7 +978,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "movq (%%"REG_c"), %%mm2 \n\t" // 2L0 - 5L1 + 5L2 - 2L3 "movq 8(%%"REG_c"), %%mm3 \n\t" // 2H0 - 5H1 + 5H2 - 2H3 -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "movq %%mm7, %%mm6 \n\t" // 0 "psubw %%mm0, %%mm6 \n\t" "pmaxsw %%mm6, %%mm0 \n\t" // |2L4 - 5L5 + 5L6 - 2L7| @@ -1010,7 +1010,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "psubw %%mm6, %%mm3 \n\t" // |2H0 - 5H1 + 5H2 - 2H3| #endif -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pminsw %%mm2, %%mm0 \n\t" "pminsw %%mm3, %%mm1 \n\t" #else @@ -1074,7 +1074,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "pand %%mm2, %%mm4 \n\t" "pand %%mm3, %%mm5 \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pminsw %%mm0, %%mm4 \n\t" "pminsw %%mm1, %%mm5 \n\t" #else @@ -1101,7 +1101,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext : "r" ((x86_reg)stride), "m" (c->pQPb) : "%"REG_a, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW const int l1= stride; const int l2= stride + l1; const int l3= stride + l2; @@ -1139,14 +1139,14 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext } src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } #endif //HAVE_ALTIVEC -#ifndef HAVE_ALTIVEC +#if !HAVE_ALTIVEC static inline void RENAME(dering)(uint8_t src[], int stride, PPContext *c) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW __asm__ volatile( "pxor %%mm6, %%mm6 \n\t" "pcmpeqb %%mm7, %%mm7 \n\t" @@ -1164,7 +1164,7 @@ static inline void RENAME(dering)(uint8_t src[], int stride, PPContext *c) // %0 eax eax+%1 eax+2%1 %0+4%1 edx edx+%1 edx+2%1 %0+8%1 edx+4%1 #undef FIND_MIN_MAX -#ifdef HAVE_MMX2 +#if HAVE_MMX2 #define REAL_FIND_MIN_MAX(addr)\ "movq " #addr ", %%mm0 \n\t"\ "pminub %%mm0, %%mm7 \n\t"\ @@ -1191,7 +1191,7 @@ FIND_MIN_MAX((%0, %1, 8)) "movq %%mm7, %%mm4 \n\t" "psrlq $8, %%mm7 \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pminub %%mm4, %%mm7 \n\t" // min of pixels "pshufw $0xF9, %%mm7, %%mm4 \n\t" "pminub %%mm4, %%mm7 \n\t" // min of pixels @@ -1216,7 +1216,7 @@ FIND_MIN_MAX((%0, %1, 8)) "movq %%mm6, %%mm4 \n\t" "psrlq $8, %%mm6 \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pmaxub %%mm4, %%mm6 \n\t" // max of pixels "pshufw $0xF9, %%mm6, %%mm4 \n\t" "pmaxub %%mm4, %%mm6 \n\t" @@ -1370,7 +1370,7 @@ DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1, : : "r" (src), "r" ((x86_reg)stride), "m" (c->pQPb), "m"(c->pQPb2) : "%"REG_a, "%"REG_d, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW int y; int min=255; int max=0; @@ -1487,7 +1487,7 @@ DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1, // src[0] = src[7]=src[stride*7]=src[stride*7 + 7]=255; } #endif -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } #endif //HAVE_ALTIVEC @@ -1499,7 +1499,7 @@ DERING_CORE((%0, %1, 8) ,(%%REGd, %1, 4),%%mm2,%%mm4,%%mm0,%%mm3,%%mm5,%%mm1, */ static inline void RENAME(deInterlaceInterpolateLinear)(uint8_t src[], int stride) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= 4*stride; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1552,7 +1552,7 @@ static inline void RENAME(deInterlaceInterpolateLinear)(uint8_t src[], int strid */ static inline void RENAME(deInterlaceInterpolateCubic)(uint8_t src[], int stride) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*3; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1594,7 +1594,7 @@ DEINT_CUBIC((%%REGd, %1), (%0, %1, 8) , (%%REGd, %1, 4), (%%REGc) , (%%REGc, : : "r" (src), "r" ((x86_reg)stride) : "%"REG_a, "%"REG_d, "%"REG_c ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW int x; src+= stride*3; for(x=0; x<8; x++){ @@ -1604,7 +1604,7 @@ DEINT_CUBIC((%%REGd, %1), (%0, %1, 8) , (%%REGd, %1, 4), (%%REGc) , (%%REGc, src[stride*9] = CLIP((-src[stride*6] + 9*src[stride*8] + 9*src[stride*10] - src[stride*12])>>4); src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } /** @@ -1616,7 +1616,7 @@ DEINT_CUBIC((%%REGd, %1), (%0, %1, 8) , (%%REGd, %1, 4), (%%REGc) , (%%REGc, */ static inline void RENAME(deInterlaceFF)(uint8_t src[], int stride, uint8_t *tmp) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*4; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1665,7 +1665,7 @@ DEINT_FF((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) : : "r" (src), "r" ((x86_reg)stride), "r"(tmp) : "%"REG_a, "%"REG_d ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW int x; src+= stride*4; for(x=0; x<8; x++){ @@ -1683,7 +1683,7 @@ DEINT_FF((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } /** @@ -1695,7 +1695,7 @@ DEINT_FF((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) */ static inline void RENAME(deInterlaceL5)(uint8_t src[], int stride, uint8_t *tmp, uint8_t *tmp2) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= stride*4; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1755,7 +1755,7 @@ DEINT_L5(%%mm1, %%mm0, (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) : : "r" (src), "r" ((x86_reg)stride), "r"(tmp), "r"(tmp2) : "%"REG_a, "%"REG_d ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW int x; src+= stride*4; for(x=0; x<8; x++){ @@ -1784,7 +1784,7 @@ DEINT_L5(%%mm1, %%mm0, (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) src++; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } /** @@ -1796,7 +1796,7 @@ DEINT_L5(%%mm1, %%mm0, (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) */ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride, uint8_t *tmp) { -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW src+= 4*stride; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1843,7 +1843,7 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride, uin : : "r" (src), "r" ((x86_reg)stride), "r" (tmp) : "%"REG_a, "%"REG_d ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW int a, b, c, x; src+= 4*stride; @@ -1886,7 +1886,7 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride, uin src += 4; tmp += 4; } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } /** @@ -1897,9 +1897,9 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride, uin */ static inline void RENAME(deInterlaceMedian)(uint8_t src[], int stride) { -#ifdef HAVE_MMX +#ifd HAVE_MMX src+= 4*stride; -#ifdef HAVE_MMX2 +#if HAVE_MMX2 __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" "lea (%%"REG_a", %1, 4), %%"REG_d" \n\t" @@ -2012,7 +2012,7 @@ MEDIAN((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8)) #endif //HAVE_MMX } -#ifdef HAVE_MMX +#if HAVE_MMX /** * transposes and shift the given 8x8 Block into dst1 and dst2 */ @@ -2180,7 +2180,7 @@ static inline void RENAME(transpose2)(uint8_t *dst, int dstStride, uint8_t *src) #endif //HAVE_MMX //static long test=0; -#ifndef HAVE_ALTIVEC +#if !HAVE_ALTIVEC static inline void RENAME(tempNoiseReducer)(uint8_t *src, int stride, uint8_t *tempBlurred, uint32_t *tempBlurredPast, int *maxNoise) { @@ -2191,7 +2191,7 @@ static inline void RENAME(tempNoiseReducer)(uint8_t *src, int stride, #define FAST_L2_DIFF //#define L1_DIFF //u should change the thresholds too if u try that one -#if defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#if HAVE_MMX2 || HAVE_3DNOW __asm__ volatile( "lea (%2, %2, 2), %%"REG_a" \n\t" // 3*stride "lea (%2, %2, 4), %%"REG_d" \n\t" // 5*stride @@ -2479,7 +2479,7 @@ L2_DIFF_CORE((%0, %%REGc) , (%1, %%REGc)) :: "r" (src), "r" (tempBlurred), "r"((x86_reg)stride), "m" (tempBlurredPast) : "%"REG_a, "%"REG_d, "%"REG_c, "memory" ); -#else //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#else //HAVE_MMX2 || HAVE_3DNOW { int y; int d=0; @@ -2562,11 +2562,11 @@ Switch between } } } -#endif //defined (HAVE_MMX2) || defined (HAVE_3DNOW) +#endif //HAVE_MMX2 || HAVE_3DNOW } #endif //HAVE_ALTIVEC -#ifdef HAVE_MMX +#if HAVE_MMX /** * accurate deblock filter */ @@ -2970,7 +2970,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st "movq (%%"REG_c"), %%mm2 \n\t" // 2L0 - 5L1 + 5L2 - 2L3 "movq 8(%%"REG_c"), %%mm3 \n\t" // 2H0 - 5H1 + 5H2 - 2H3 -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "movq %%mm7, %%mm6 \n\t" // 0 "psubw %%mm0, %%mm6 \n\t" "pmaxsw %%mm6, %%mm0 \n\t" // |2L4 - 5L5 + 5L6 - 2L7| @@ -3002,7 +3002,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st "psubw %%mm6, %%mm3 \n\t" // |2H0 - 5H1 + 5H2 - 2H3| #endif -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pminsw %%mm2, %%mm0 \n\t" "pminsw %%mm3, %%mm1 \n\t" #else @@ -3066,7 +3066,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st "pand %%mm2, %%mm4 \n\t" "pand %%mm3, %%mm5 \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 "pminsw %%mm0, %%mm4 \n\t" "pminsw %%mm1, %%mm5 \n\t" #else @@ -3116,18 +3116,18 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ static inline void RENAME(blockCopy)(uint8_t dst[], int dstStride, const uint8_t src[], int srcStride, int levelFix, int64_t *packedOffsetAndScale) { -#ifndef HAVE_MMX +#if !HAVE_MMX int i; #endif if(levelFix){ -#ifdef HAVE_MMX +#if HAVE_MMX __asm__ volatile( "movq (%%"REG_a"), %%mm2 \n\t" // packedYOffset "movq 8(%%"REG_a"), %%mm3 \n\t" // packedYScale "lea (%2,%4), %%"REG_a" \n\t" "lea (%3,%5), %%"REG_d" \n\t" "pxor %%mm4, %%mm4 \n\t" -#ifdef HAVE_MMX2 +#if HAVE_MMX2 #define REAL_SCALED_CPY(src1, src2, dst1, dst2) \ "movq " #src1 ", %%mm0 \n\t"\ "movq " #src1 ", %%mm5 \n\t"\ @@ -3203,7 +3203,7 @@ SCALED_CPY((%%REGa, %4), (%%REGa, %4, 2), (%%REGd, %5), (%%REGd, %5, 2)) &(src[srcStride*i]), BLOCK_SIZE); #endif //HAVE_MMX }else{ -#ifdef HAVE_MMX +#if HAVE_MMX __asm__ volatile( "lea (%0,%2), %%"REG_a" \n\t" "lea (%1,%3), %%"REG_d" \n\t" @@ -3243,7 +3243,7 @@ SIMPLE_CPY((%%REGa, %2), (%%REGa, %2, 2), (%%REGd, %3), (%%REGd, %3, 2)) */ static inline void RENAME(duplicate)(uint8_t src[], int stride) { -#ifdef HAVE_MMX +#if HAVE_MMX __asm__ volatile( "movq (%0), %%mm0 \n\t" "add %1, %0 \n\t" @@ -3280,7 +3280,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ int QPCorrecture= 256*256; int copyAhead; -#ifdef HAVE_MMX +#if HAVE_MMX int i; #endif @@ -3293,7 +3293,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ uint8_t * const tempDst= dstStride > 0 ? c.tempDst : c.tempDst - 23*dstStride; //const int mbWidth= isColor ? (width+7)>>3 : (width+15)>>4; -#ifdef HAVE_MMX +#if HAVE_MMX for(i=0; i<57; i++){ int offset= ((i*c.ppMode.baseDcDiff)>>8) + 1; int threshold= offset*2 + 1; @@ -3351,7 +3351,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ scale= (double)(c.ppMode.maxAllowedY - c.ppMode.minAllowedY) / (double)(white-black); -#ifdef HAVE_MMX2 +#if HAVE_MMX2 c.packedYScale= (uint16_t)(scale*256.0 + 0.5); c.packedYOffset= (((black*c.packedYScale)>>8) - c.ppMode.minAllowedY) & 0xFFFF; #else @@ -3384,7 +3384,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ // with the L1 Cache of the P4 ... or only a few blocks at a time or soemthing for(x=0; x<width; x+=BLOCK_SIZE){ -#ifdef HAVE_MMX2 +#if HAVE_MMX2 /* prefetchnta(srcBlock + (((x>>2)&6) + 5)*srcStride + 32); prefetchnta(srcBlock + (((x>>2)&6) + 6)*srcStride + 32); @@ -3411,7 +3411,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ : "%"REG_a, "%"REG_d ); -#elif defined(HAVE_3DNOW) +#elif HAVE_3DNOW //FIXME check if this is faster on an 3dnow chip or if it is faster without the prefetch or ... /* prefetch(srcBlock + (((x>>3)&3) + 5)*srcStride + 32); prefetch(srcBlock + (((x>>3)&3) + 9)*srcStride + 32); @@ -3457,7 +3457,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ //1% speedup if these are here instead of the inner loop const uint8_t *srcBlock= &(src[y*srcStride]); uint8_t *dstBlock= &(dst[y*dstStride]); -#ifdef HAVE_MMX +#if HAVE_MMX uint8_t *tempBlock1= c.tempBlocks; uint8_t *tempBlock2= c.tempBlocks + 8; #endif @@ -3493,7 +3493,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ // with the L1 Cache of the P4 ... or only a few blocks at a time or soemthing for(x=0; x<width; x+=BLOCK_SIZE){ const int stride= dstStride; -#ifdef HAVE_MMX +#if HAVE_MMX uint8_t *tmpXchg; #endif if(isColor){ @@ -3507,7 +3507,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ yHistogram[ srcBlock[srcStride*12 + 4] ]++; } c.QP= QP; -#ifdef HAVE_MMX +#if HAVE_MMX __asm__ volatile( "movd %1, %%mm7 \n\t" "packuswb %%mm7, %%mm7 \n\t" // 0, 0, 0, QP, 0, 0, 0, QP @@ -3520,7 +3520,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ #endif -#ifdef HAVE_MMX2 +#if HAVE_MMX2 /* prefetchnta(srcBlock + (((x>>2)&6) + 5)*srcStride + 32); prefetchnta(srcBlock + (((x>>2)&6) + 6)*srcStride + 32); @@ -3547,7 +3547,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ : "%"REG_a, "%"REG_d ); -#elif defined(HAVE_3DNOW) +#elif HAVE_3DNOW //FIXME check if this is faster on an 3dnow chip or if it is faster without the prefetch or ... /* prefetch(srcBlock + (((x>>3)&3) + 5)*srcStride + 32); prefetch(srcBlock + (((x>>3)&3) + 9)*srcStride + 32); @@ -3591,12 +3591,12 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ } } -#ifdef HAVE_MMX +#if HAVE_MMX RENAME(transpose1)(tempBlock1, tempBlock2, dstBlock, dstStride); #endif /* check if we have a previous block to deblock it with dstBlock */ if(x - 8 >= 0){ -#ifdef HAVE_MMX +#if HAVE_MMX if(mode & H_X1_FILTER) RENAME(vertX1Filter)(tempBlock1, 16, &c); else if(mode & H_DEBLOCK){ @@ -3617,7 +3617,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ if(mode & H_X1_FILTER) horizX1Filter(dstBlock-4, stride, QP); else if(mode & H_DEBLOCK){ -#ifdef HAVE_ALTIVEC +#if HAVE_ALTIVEC DECLARE_ALIGNED(16, unsigned char, tempBlock[272]); transpose_16x8_char_toPackedAlign_altivec(tempBlock, dstBlock - (4 + 1), stride); @@ -3659,7 +3659,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ dstBlock+=8; srcBlock+=8; -#ifdef HAVE_MMX +#if HAVE_MMX tmpXchg= tempBlock1; tempBlock1= tempBlock2; tempBlock2 = tmpXchg; @@ -3699,9 +3699,9 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ + dstBlock[x +14*dstStride] + dstBlock[x +15*dstStride]; }*/ } -#ifdef HAVE_3DNOW +#if HAVE_3DNOW __asm__ volatile("femms"); -#elif defined (HAVE_MMX) +#elif HAVE_MMX __asm__ volatile("emms"); #endif |