[FFmpeg-cvslog] x86: more specific checks for availability of required assembly capabilities

Diego Biurrun git at videolan.org
Sat Sep 8 13:01:29 CEST 2012


ffmpeg | branch: master | Diego Biurrun <diego at biurrun.de> | Tue Sep  4 08:30:16 2012 +0200| [1169f0d0afc0454633cfcfad73643f0458521c67] | committer: Diego Biurrun

x86: more specific checks for availability of required assembly capabilities

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=1169f0d0afc0454633cfcfad73643f0458521c67
---

 libavcodec/x86/dnxhdenc.c     |    8 ++++----
 libavcodec/x86/lpc.c          |    8 ++++----
 libavcodec/x86/mpegaudiodec.c |    9 +++++----
 libswscale/swscale.c          |    2 +-
 4 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/libavcodec/x86/dnxhdenc.c b/libavcodec/x86/dnxhdenc.c
index c344afe..43ee246 100644
--- a/libavcodec/x86/dnxhdenc.c
+++ b/libavcodec/x86/dnxhdenc.c
@@ -24,7 +24,7 @@
 #include "libavutil/x86/asm.h"
 #include "libavcodec/dnxhdenc.h"
 
-#if HAVE_INLINE_ASM
+#if HAVE_SSE2_INLINE
 
 static void get_pixels_8x4_sym_sse2(DCTELEM *block, const uint8_t *pixels, int line_size)
 {
@@ -52,14 +52,14 @@ static void get_pixels_8x4_sym_sse2(DCTELEM *block, const uint8_t *pixels, int l
     );
 }
 
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
 
 void ff_dnxhdenc_init_x86(DNXHDEncContext *ctx)
 {
-#if HAVE_INLINE_ASM
+#if HAVE_SSE2_INLINE
     if (av_get_cpu_flags() & AV_CPU_FLAG_SSE2) {
         if (ctx->cid_table->bit_depth == 8)
             ctx->get_pixels_8x4_sym = get_pixels_8x4_sym_sse2;
     }
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
 }
diff --git a/libavcodec/x86/lpc.c b/libavcodec/x86/lpc.c
index 82f7761..b8c77e2 100644
--- a/libavcodec/x86/lpc.c
+++ b/libavcodec/x86/lpc.c
@@ -24,7 +24,7 @@
 #include "libavutil/internal.h"
 #include "libavcodec/lpc.h"
 
-#if HAVE_INLINE_ASM
+#if HAVE_SSE2_INLINE
 
 static void lpc_apply_welch_window_sse2(const int32_t *data, int len,
                                         double *w_data)
@@ -139,16 +139,16 @@ static void lpc_compute_autocorr_sse2(const double *data, int len, int lag,
     }
 }
 
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
 
 av_cold void ff_lpc_init_x86(LPCContext *c)
 {
+#if HAVE_SSE2_INLINE
     int mm_flags = av_get_cpu_flags();
 
-#if HAVE_INLINE_ASM
     if (mm_flags & (AV_CPU_FLAG_SSE2|AV_CPU_FLAG_SSE2SLOW)) {
         c->lpc_apply_welch_window = lpc_apply_welch_window_sse2;
         c->lpc_compute_autocorr   = lpc_compute_autocorr_sse2;
     }
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
 }
diff --git a/libavcodec/x86/mpegaudiodec.c b/libavcodec/x86/mpegaudiodec.c
index d2573dd..e7c7fbb 100644
--- a/libavcodec/x86/mpegaudiodec.c
+++ b/libavcodec/x86/mpegaudiodec.c
@@ -36,7 +36,7 @@ void ff_four_imdct36_float_avx(float *out, float *buf, float *in, float *win,
 
 DECLARE_ALIGNED(16, static float, mdct_win_sse)[2][4][4*40];
 
-#if HAVE_INLINE_ASM
+#if HAVE_SSE2_INLINE
 
 #define MACS(rt, ra, rb) rt+=(ra)*(rb)
 #define MLSS(rt, ra, rb) rt-=(ra)*(rb)
@@ -180,7 +180,7 @@ static void apply_window_mp3(float *in, float *win, int *unused, float *out,
     *out = sum;
 }
 
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
 
 #if HAVE_YASM
 #define DECL_IMDCT_BLOCKS(CPU1, CPU2)                                       \
@@ -240,11 +240,12 @@ void ff_mpadsp_init_mmx(MPADSPContext *s)
         }
     }
 
-#if HAVE_INLINE_ASM
+#if HAVE_SSE2_INLINE
     if (mm_flags & AV_CPU_FLAG_SSE2) {
         s->apply_window_float = apply_window_mp3;
     }
-#endif /* HAVE_INLINE_ASM */
+#endif /* HAVE_SSE2_INLINE */
+
 #if HAVE_YASM
     if (mm_flags & AV_CPU_FLAG_AVX && HAVE_AVX) {
         s->imdct36_blocks_float = imdct36_blocks_avx;
diff --git a/libswscale/swscale.c b/libswscale/swscale.c
index 94f51cf..4f0a049 100644
--- a/libswscale/swscale.c
+++ b/libswscale/swscale.c
@@ -661,7 +661,7 @@ static int swScale(SwsContext *c, const uint8_t *src[],
     if (isPlanar(dstFormat) && isALPHA(dstFormat) && !alpPixBuf)
         fillPlane(dst[3], dstStride[3], dstW, dstY - lastDstY, lastDstY, 255);
 
-#if HAVE_MMXEXT && HAVE_INLINE_ASM
+#if HAVE_MMXEXT_INLINE
     if (av_get_cpu_flags() & AV_CPU_FLAG_MMXEXT)
         __asm__ volatile ("sfence" ::: "memory");
 #endif



More information about the ffmpeg-cvslog mailing list