[FFmpeg-cvslog] Fix compilation with yasm-0.6.2
Carl Eugen Hoyos
git at videolan.org
Thu Jan 12 16:36:41 CET 2012
ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Jan 12 16:35:49 2012 +0100| [ef3a19d5950ebe8a07c4e31b65ecf95e03fd85f5] | committer: Carl Eugen Hoyos
Fix compilation with yasm-0.6.2
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ef3a19d5950ebe8a07c4e31b65ecf95e03fd85f5
---
libavcodec/x86/imdct36_sse.asm | 4 ++++
libavcodec/x86/proresdsp.asm | 2 ++
libavcodec/x86/v210-init.c | 4 ++--
libavcodec/x86/v210.asm | 4 ++++
libswscale/x86/input.asm | 2 ++
libswscale/x86/output.asm | 4 ++++
libswscale/x86/swscale_mmx.c | 2 +-
7 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/libavcodec/x86/imdct36_sse.asm b/libavcodec/x86/imdct36_sse.asm
index 2908459..ffca353 100644
--- a/libavcodec/x86/imdct36_sse.asm
+++ b/libavcodec/x86/imdct36_sse.asm
@@ -371,8 +371,10 @@ DEFINE_IMDCT
INIT_XMM ssse3
DEFINE_IMDCT
+%ifdef HAVE_AVX
INIT_XMM avx
DEFINE_IMDCT
+%endif
INIT_XMM sse
@@ -717,5 +719,7 @@ cglobal four_imdct36_float, 5,5,8, out, buf, in, win, tmp
INIT_XMM sse
DEFINE_FOUR_IMDCT
+%ifdef HAVE_AVX
INIT_XMM avx
DEFINE_FOUR_IMDCT
+%endif
diff --git a/libavcodec/x86/proresdsp.asm b/libavcodec/x86/proresdsp.asm
index d674308..f733bdf 100644
--- a/libavcodec/x86/proresdsp.asm
+++ b/libavcodec/x86/proresdsp.asm
@@ -306,7 +306,9 @@ INIT_XMM
idct_put_fn sse2, 16
INIT_XMM
idct_put_fn sse4, 16
+%ifdef HAVE_AVX
INIT_AVX
idct_put_fn avx, 16
+%endif
%endif
diff --git a/libavcodec/x86/v210-init.c b/libavcodec/x86/v210-init.c
index 4dd6d6d..425c628 100644
--- a/libavcodec/x86/v210-init.c
+++ b/libavcodec/x86/v210-init.c
@@ -34,14 +34,14 @@ av_cold void v210_x86_init(V210DecContext *s)
if (cpu_flags & AV_CPU_FLAG_SSSE3)
s->unpack_frame = ff_v210_planar_unpack_aligned_ssse3;
- if (cpu_flags & AV_CPU_FLAG_AVX)
+ if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX)
s->unpack_frame = ff_v210_planar_unpack_aligned_avx;
}
else {
if (cpu_flags & AV_CPU_FLAG_SSSE3)
s->unpack_frame = ff_v210_planar_unpack_unaligned_ssse3;
- if (cpu_flags & AV_CPU_FLAG_AVX)
+ if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX)
s->unpack_frame = ff_v210_planar_unpack_unaligned_avx;
}
#endif
diff --git a/libavcodec/x86/v210.asm b/libavcodec/x86/v210.asm
index 344bed0..9ce17c2 100644
--- a/libavcodec/x86/v210.asm
+++ b/libavcodec/x86/v210.asm
@@ -76,10 +76,14 @@ cglobal v210_planar_unpack_%1_%2, 5, 5
INIT_XMM
v210_planar_unpack unaligned, ssse3
+%ifdef HAVE_AVX
INIT_AVX
v210_planar_unpack unaligned, avx
+%endif
INIT_XMM
v210_planar_unpack aligned, ssse3
+%ifdef HAVE_AVX
INIT_AVX
v210_planar_unpack aligned, avx
+%endif
diff --git a/libswscale/x86/input.asm b/libswscale/x86/input.asm
index 0e54522..b1ee82c 100644
--- a/libswscale/x86/input.asm
+++ b/libswscale/x86/input.asm
@@ -233,6 +233,7 @@ YUYV_TO_UV_FN 3, uyvy
NVXX_TO_UV_FN 5, nv12
NVXX_TO_UV_FN 5, nv21
+%ifdef HAVE_AVX
INIT_XMM avx
; in theory, we could write a yuy2-to-y using vpand (i.e. AVX), but
; that's not faster in practice
@@ -240,3 +241,4 @@ YUYV_TO_UV_FN 3, yuyv
YUYV_TO_UV_FN 3, uyvy, 1
NVXX_TO_UV_FN 5, nv12
NVXX_TO_UV_FN 5, nv21
+%endif
diff --git a/libswscale/x86/output.asm b/libswscale/x86/output.asm
index 0ec2038..ff72677 100644
--- a/libswscale/x86/output.asm
+++ b/libswscale/x86/output.asm
@@ -265,10 +265,12 @@ yuv2planeX_fn sse4, 9, 7, 5
yuv2planeX_fn sse4, 10, 7, 5
yuv2planeX_fn sse4, 16, 8, 5
+%ifdef HAVE_AVX
INIT_AVX
yuv2planeX_fn avx, 8, 10, 7
yuv2planeX_fn avx, 9, 7, 5
yuv2planeX_fn avx, 10, 7, 5
+%endif
; %1=outout-bpc, %2=alignment (u/a)
%macro yuv2plane1_mainloop 2
@@ -402,8 +404,10 @@ yuv2plane1_fn 16, 6, 3
INIT_XMM sse4
yuv2plane1_fn 16, 5, 3
+%ifdef HAVE_AVX
INIT_XMM avx
yuv2plane1_fn 8, 5, 5
yuv2plane1_fn 9, 5, 3
yuv2plane1_fn 10, 5, 3
yuv2plane1_fn 16, 5, 3
+%endif
diff --git a/libswscale/x86/swscale_mmx.c b/libswscale/x86/swscale_mmx.c
index 66c4f69..d0bb861 100644
--- a/libswscale/x86/swscale_mmx.c
+++ b/libswscale/x86/swscale_mmx.c
@@ -465,7 +465,7 @@ switch(c->dstBpc){ \
c->yuv2plane1 = ff_yuv2plane1_16_sse4;
}
- if (cpu_flags & AV_CPU_FLAG_AVX) {
+ if (HAVE_AVX && cpu_flags & AV_CPU_FLAG_AVX) {
ASSIGN_VSCALEX_FUNC(c->yuv2planeX, avx,);
ASSIGN_VSCALE_FUNC(c->yuv2plane1, avx, avx, 1);
More information about the ffmpeg-cvslog
mailing list