diff --git a/libpostproc/postprocess.c b/libpostproc/postprocess.c index 2234ba8c76..3c3f68c8ab 100644 --- a/libpostproc/postprocess.c +++ b/libpostproc/postprocess.c @@ -80,7 +80,7 @@ try to unroll inner for(x=0 ... loop to avoid these damn if(x ... checks #include #include #include -//#undef HAVE_MMX2 +//#undef HAVE_MMXEXT //#define HAVE_AMD3DNOW //#undef HAVE_MMX //#undef ARCH_X86 @@ -546,23 +546,23 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, #if ARCH_X86 -#if (HAVE_MMX && !HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT +#if (HAVE_MMX && !HAVE_AMD3DNOW && !HAVE_MMXEXT) || CONFIG_RUNTIME_CPUDETECT #define COMPILE_MMX #endif -#if HAVE_MMX2 || CONFIG_RUNTIME_CPUDETECT +#if HAVE_MMXEXT || CONFIG_RUNTIME_CPUDETECT #define COMPILE_MMX2 #endif -#if (HAVE_AMD3DNOW && !HAVE_MMX2) || CONFIG_RUNTIME_CPUDETECT +#if (HAVE_AMD3DNOW && !HAVE_MMXEXT) || CONFIG_RUNTIME_CPUDETECT #define COMPILE_3DNOW #endif #endif /* ARCH_X86 */ #undef HAVE_MMX #define HAVE_MMX 0 -#undef HAVE_MMX2 -#define HAVE_MMX2 0 +#undef HAVE_MMXEXT +#define HAVE_MMXEXT 0 #undef HAVE_AMD3DNOW #define HAVE_AMD3DNOW 0 #undef HAVE_ALTIVEC @@ -595,9 +595,9 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, #ifdef COMPILE_MMX2 #undef RENAME #undef HAVE_MMX -#undef HAVE_MMX2 +#undef HAVE_MMXEXT #define HAVE_MMX 1 -#define HAVE_MMX2 1 +#define HAVE_MMXEXT 1 #define RENAME(a) a ## _MMX2 #include "postprocess_template.c" #endif @@ -606,10 +606,10 @@ static av_always_inline void do_a_deblock_C(uint8_t *src, int step, int stride, #ifdef COMPILE_3DNOW #undef RENAME #undef HAVE_MMX -#undef HAVE_MMX2 +#undef HAVE_MMXEXT #undef HAVE_AMD3DNOW #define HAVE_MMX 1 -#define HAVE_MMX2 0 +#define HAVE_MMXEXT 0 #define HAVE_AMD3DNOW 1 #define RENAME(a) a ## _3DNow #include "postprocess_template.c" @@ -652,7 +652,7 @@ 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 /* CONFIG_RUNTIME_CPUDETECT */ -#if HAVE_MMX2 +#if HAVE_MMXEXT postProcess_MMX2(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); #elif HAVE_AMD3DNOW postProcess_3DNow(src, srcStride, dst, dstStride, width, height, QPs, QPStride, isColor, c); diff --git a/libpostproc/postprocess_template.c b/libpostproc/postprocess_template.c index 0fb2da4215..a6752df95e 100644 --- a/libpostproc/postprocess_template.c +++ b/libpostproc/postprocess_template.c @@ -30,14 +30,14 @@ #undef PMINUB #undef PMAXUB -#if HAVE_MMX2 +#if HAVE_MMXEXT #define REAL_PAVGB(a,b) "pavgb " #a ", " #b " \n\t" #elif HAVE_AMD3DNOW #define REAL_PAVGB(a,b) "pavgusb " #a ", " #b " \n\t" #endif #define PAVGB(a,b) REAL_PAVGB(a,b) -#if HAVE_MMX2 +#if HAVE_MMXEXT #define PMINUB(a,b,t) "pminub " #a ", " #b " \n\t" #elif HAVE_MMX #define PMINUB(b,a,t) \ @@ -46,7 +46,7 @@ "psubb " #t ", " #a " \n\t" #endif -#if HAVE_MMX2 +#if HAVE_MMXEXT #define PMAXUB(a,b) "pmaxub " #a ", " #b " \n\t" #elif HAVE_MMX #define PMAXUB(a,b) \ @@ -135,7 +135,7 @@ static inline int RENAME(vertClassify)(uint8_t src[], int stride, PPContext *c){ "psubusb %%mm3, %%mm4 \n\t" " \n\t" -#if HAVE_MMX2 +#if HAVE_MMXEXT "pxor %%mm7, %%mm7 \n\t" "psadbw %%mm7, %%mm0 \n\t" #else @@ -178,7 +178,7 @@ static inline int RENAME(vertClassify)(uint8_t src[], int stride, PPContext *c){ #if !HAVE_ALTIVEC static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) { -#if HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= stride*3; __asm__ volatile( //"movv %0 %1 %2\n\t" "movq %2, %%mm0 \n\t" // QP,..., QP @@ -305,7 +305,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW const int l1= stride; const int l2= stride + l1; const int l3= stride + l2; @@ -344,7 +344,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) src++; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } #endif //HAVE_ALTIVEC @@ -357,7 +357,7 @@ static inline void RENAME(doVertLowPass)(uint8_t *src, int stride, PPContext *c) */ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) { -#if HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= stride*3; __asm__ volatile( @@ -443,7 +443,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW const int l1= stride; const int l2= stride + l1; @@ -477,13 +477,13 @@ static inline void RENAME(vertX1Filter)(uint8_t *src, int stride, PPContext *co) } src++; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } #if !HAVE_ALTIVEC static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext *c) { -#if HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW /* uint8_t tmp[16]; const int l1= stride; @@ -872,7 +872,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "movq (%3), %%mm2 \n\t" // 2L0 - 5L1 + 5L2 - 2L3 "movq 8(%3), %%mm3 \n\t" // 2H0 - 5H1 + 5H2 - 2H3 -#if HAVE_MMX2 +#if HAVE_MMXEXT "movq %%mm7, %%mm6 \n\t" // 0 "psubw %%mm0, %%mm6 \n\t" "pmaxsw %%mm6, %%mm0 \n\t" // |2L4 - 5L5 + 5L6 - 2L7| @@ -904,7 +904,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "psubw %%mm6, %%mm3 \n\t" // |2H0 - 5H1 + 5H2 - 2H3| #endif -#if HAVE_MMX2 +#if HAVE_MMXEXT "pminsw %%mm2, %%mm0 \n\t" "pminsw %%mm3, %%mm1 \n\t" #else @@ -968,7 +968,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext "pand %%mm2, %%mm4 \n\t" "pand %%mm3, %%mm5 \n\t" -#if HAVE_MMX2 +#if HAVE_MMXEXT "pminsw %%mm0, %%mm4 \n\t" "pminsw %%mm1, %%mm5 \n\t" #else @@ -995,7 +995,7 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext : "r" ((x86_reg)stride), "m" (c->pQPb), "r"(tmp) : "%"REG_a ); -#else //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW const int l1= stride; const int l2= stride + l1; const int l3= stride + l2; @@ -1033,14 +1033,14 @@ static inline void RENAME(doVertDefFilter)(uint8_t src[], int stride, PPContext } src++; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } #endif //HAVE_ALTIVEC #if !HAVE_ALTIVEC static inline void RENAME(dering)(uint8_t src[], int stride, PPContext *c) { -#if HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW DECLARE_ALIGNED(8, uint64_t, tmp)[3]; __asm__ volatile( "pxor %%mm6, %%mm6 \n\t" @@ -1060,7 +1060,7 @@ static inline void RENAME(dering)(uint8_t src[], int stride, PPContext *c) #undef REAL_FIND_MIN_MAX #undef FIND_MIN_MAX -#if HAVE_MMX2 +#if HAVE_MMXEXT #define REAL_FIND_MIN_MAX(addr)\ "movq " #addr ", %%mm0 \n\t"\ "pminub %%mm0, %%mm7 \n\t"\ @@ -1087,7 +1087,7 @@ FIND_MIN_MAX((%0, %1, 8)) "movq %%mm7, %%mm4 \n\t" "psrlq $8, %%mm7 \n\t" -#if HAVE_MMX2 +#if HAVE_MMXEXT "pminub %%mm4, %%mm7 \n\t" // min of pixels "pshufw $0xF9, %%mm7, %%mm4 \n\t" "pminub %%mm4, %%mm7 \n\t" // min of pixels @@ -1112,7 +1112,7 @@ FIND_MIN_MAX((%0, %1, 8)) "movq %%mm6, %%mm4 \n\t" "psrlq $8, %%mm6 \n\t" -#if HAVE_MMX2 +#if HAVE_MMXEXT "pmaxub %%mm4, %%mm6 \n\t" // max of pixels "pshufw $0xF9, %%mm6, %%mm4 \n\t" "pmaxub %%mm4, %%mm6 \n\t" @@ -1266,7 +1266,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), "q"(tmp) : "%"REG_a, "%"REG_d ); -#else //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW int y; int min=255; int max=0; @@ -1383,7 +1383,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } #endif //HAVE_ALTIVEC @@ -1395,7 +1395,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 HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= 4*stride; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1448,7 +1448,7 @@ static inline void RENAME(deInterlaceInterpolateLinear)(uint8_t src[], int strid */ static inline void RENAME(deInterlaceInterpolateCubic)(uint8_t src[], int stride) { -#if HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= stride*3; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1490,7 +1490,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW int x; src+= stride*3; for(x=0; x<8; x++){ @@ -1500,7 +1500,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } /** @@ -1512,7 +1512,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 HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= stride*4; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1561,7 +1561,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW int x; src+= stride*4; for(x=0; x<8; x++){ @@ -1579,7 +1579,7 @@ DEINT_FF((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) src++; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } /** @@ -1591,7 +1591,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 HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= stride*4; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1651,7 +1651,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW int x; src+= stride*4; for(x=0; x<8; x++){ @@ -1680,7 +1680,7 @@ DEINT_L5(%%mm1, %%mm0, (%%REGd, %1, 2), (%0, %1, 8) , (%%REGd, %1, 4)) src++; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } /** @@ -1692,7 +1692,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 HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW src+= 4*stride; __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" @@ -1739,7 +1739,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW int a, b, c, x; src+= 4*stride; @@ -1782,7 +1782,7 @@ static inline void RENAME(deInterlaceBlendLinear)(uint8_t src[], int stride, uin src += 4; tmp += 4; } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } /** @@ -1795,7 +1795,7 @@ static inline void RENAME(deInterlaceMedian)(uint8_t src[], int stride) { #if HAVE_MMX src+= 4*stride; -#if HAVE_MMX2 +#if HAVE_MMXEXT __asm__ volatile( "lea (%0, %1), %%"REG_a" \n\t" "lea (%%"REG_a", %1, 4), %%"REG_d" \n\t" @@ -1885,7 +1885,7 @@ MEDIAN((%%REGd, %1), (%%REGd, %1, 2), (%0, %1, 8)) : : "r" (src), "r" ((x86_reg)stride) : "%"REG_a, "%"REG_d ); -#endif //HAVE_MMX2 +#endif //HAVE_MMXEXT #else //HAVE_MMX int x, y; src+= 4*stride; @@ -2087,7 +2087,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 HAVE_MMX2 || HAVE_AMD3DNOW +#if HAVE_MMXEXT || HAVE_AMD3DNOW __asm__ volatile( "lea (%2, %2, 2), %%"REG_a" \n\t" // 3*stride "lea (%2, %2, 4), %%"REG_d" \n\t" // 5*stride @@ -2375,7 +2375,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 //HAVE_MMX2 || HAVE_AMD3DNOW +#else //HAVE_MMXEXT || HAVE_AMD3DNOW { int y; int d=0; @@ -2458,7 +2458,7 @@ Switch between } } } -#endif //HAVE_MMX2 || HAVE_AMD3DNOW +#endif //HAVE_MMXEXT || HAVE_AMD3DNOW } #endif //HAVE_ALTIVEC @@ -2865,7 +2865,7 @@ static av_always_inline void RENAME(do_a_deblock)(uint8_t *src, int step, int st "movq (%4), %%mm2 \n\t" // 2L0 - 5L1 + 5L2 - 2L3 "movq 8(%4), %%mm3 \n\t" // 2H0 - 5H1 + 5H2 - 2H3 -#if HAVE_MMX2 +#if HAVE_MMXEXT "movq %%mm7, %%mm6 \n\t" // 0 "psubw %%mm0, %%mm6 \n\t" "pmaxsw %%mm6, %%mm0 \n\t" // |2L4 - 5L5 + 5L6 - 2L7| @@ -2897,7 +2897,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 -#if HAVE_MMX2 +#if HAVE_MMXEXT "pminsw %%mm2, %%mm0 \n\t" "pminsw %%mm3, %%mm1 \n\t" #else @@ -2961,7 +2961,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" -#if HAVE_MMX2 +#if HAVE_MMXEXT "pminsw %%mm0, %%mm4 \n\t" "pminsw %%mm1, %%mm5 \n\t" #else @@ -3024,7 +3024,7 @@ static inline void RENAME(blockCopy)(uint8_t dst[], int dstStride, const uint8_t "lea (%2,%4), %%"REG_a" \n\t" "lea (%3,%5), %%"REG_d" \n\t" "pxor %%mm4, %%mm4 \n\t" -#if HAVE_MMX2 +#if HAVE_MMXEXT #define REAL_SCALED_CPY(src1, src2, dst1, dst2) \ "movq " #src1 ", %%mm0 \n\t"\ "movq " #src1 ", %%mm5 \n\t"\ @@ -3047,7 +3047,7 @@ static inline void RENAME(blockCopy)(uint8_t dst[], int dstStride, const uint8_t "movq %%mm0, " #dst1 " \n\t"\ "movq %%mm1, " #dst2 " \n\t"\ -#else //HAVE_MMX2 +#else //HAVE_MMXEXT #define REAL_SCALED_CPY(src1, src2, dst1, dst2) \ "movq " #src1 ", %%mm0 \n\t"\ "movq " #src1 ", %%mm5 \n\t"\ @@ -3074,7 +3074,7 @@ static inline void RENAME(blockCopy)(uint8_t dst[], int dstStride, const uint8_t "movq %%mm0, " #dst1 " \n\t"\ "movq %%mm1, " #dst2 " \n\t"\ -#endif //HAVE_MMX2 +#endif //HAVE_MMXEXT #define SCALED_CPY(src1, src2, dst1, dst2)\ REAL_SCALED_CPY(src1, src2, dst1, dst2) @@ -3248,7 +3248,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); -#if HAVE_MMX2 +#if HAVE_MMXEXT c.packedYScale= (uint16_t)(scale*256.0 + 0.5); c.packedYOffset= (((black*c.packedYScale)>>8) - c.ppMode.minAllowedY) & 0xFFFF; #else @@ -3281,7 +3281,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>2)&6) + 5)*srcStride + 32); prefetchnta(srcBlock + (((x>>2)&6) + 6)*srcStride + 32); @@ -3417,7 +3417,7 @@ static void RENAME(postProcess)(const uint8_t src[], int srcStride, uint8_t dst[ #endif -#if HAVE_MMX2 +#if HAVE_MMXEXT /* prefetchnta(srcBlock + (((x>>2)&6) + 5)*srcStride + 32); prefetchnta(srcBlock + (((x>>2)&6) + 6)*srcStride + 32); diff --git a/libswscale/swscale.c b/libswscale/swscale.c index ae79eb66e8..07443dbd22 100644 --- a/libswscale/swscale.c +++ b/libswscale/swscale.c @@ -422,7 +422,7 @@ static int swScale(SwsContext *c, const uint8_t *src[], ) { static int warnedAlready=0; int cpu_flags = av_get_cpu_flags(); - if (HAVE_MMX2 && (cpu_flags & AV_CPU_FLAG_SSE2) && !warnedAlready){ + if (HAVE_MMXEXT && (cpu_flags & AV_CPU_FLAG_SSE2) && !warnedAlready){ av_log(c, AV_LOG_WARNING, "Warning: data is not aligned! This can lead to a speedloss\n"); warnedAlready=1; } diff --git a/libswscale/x86/swscale.c b/libswscale/x86/swscale.c index 67cda51ca5..b2e06e3b47 100644 --- a/libswscale/x86/swscale.c +++ b/libswscale/x86/swscale.c @@ -204,7 +204,7 @@ void updateMMXDitherTables(SwsContext *c, int dstY, int lumBufIndex, int chrBufI } } -#if HAVE_MMX2 +#if HAVE_MMXEXT static void yuv2yuvX_sse3(const int16_t *filter, int filterSize, const int16_t **src, uint8_t *dest, int dstW, const uint8_t *dither, int offset)