esac
])
have_mmx="no"
+have_mmxext="no"
AS_IF([test "${enable_mmx}" != "no"], [
ARCH="${ARCH} mmx"
VLC_SAVE_FLAGS
have_mmx="yes"
])
+ AC_CACHE_CHECK([if $CC groks MMX EXT inline assembly],
+ [ac_cv_mmxext_inline], [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
+void *p;
+asm volatile("maskmovq %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
+]])
+ ], [
+ ac_cv_mmxext_inline=yes
+ ], [
+ ac_cv_mmxext_inline=no
+ ])
+ ])
VLC_RESTORE_FLAGS
+ AS_IF([test "${ac_cv_mmxext_inline}" != "no"], [
+ AC_DEFINE(CAN_COMPILE_MMXEXT, 1, [Define to 1 if MMX EXT inline assembly is available.])
+ have_mmxext="yes"
+ ])
])
AM_CONDITIONAL([HAVE_MMX], [test "${have_mmx}" = "yes"])
+AM_CONDITIONAL([HAVE_MMXEXT], [test "${have_mmxext}" = "yes"])
dnl Check for fully workin SSE2 intrinsics
dnl We need support for -mmmx, we need <emmintrin.h>, and we also need a
])
AM_CONDITIONAL([HAVE_SSE2], [test "$have_sse2" = "yes"])
+VLC_SAVE_FLAGS
+CFLAGS="${CFLAGS} -mmmx"
+have_3dnow="no"
+AC_CACHE_CHECK([if $CC groks 3D Now! inline assembly], [ac_cv_3dnow_inline], [
+ AC_COMPILE_IFELSE([AC_LANG_PROGRAM(,[[
+void *p;
+asm volatile("pfadd %%mm1,%%mm2"::"r"(p):"mm1", "mm2");
+]])
+ ], [
+ ac_cv_3dnow_inline=yes
+ ], [
+ ac_cv_3dnow_inline=no
+ ])
+])
+VLC_RESTORE_FLAGS
+AS_IF([test "${ac_cv_3dnow_inline}" != "no"], [
+ AC_DEFINE(CAN_COMPILE_3DNOW, 1,
+ [Define to 1 if 3D Now! inline assembly is available.])
+ have_3dnow="yes"
+])
+AM_CONDITIONAL([HAVE_3DNOW], [test "$have_3dnow" = "yes"])
+
+
AC_ARG_ENABLE(neon,
[AS_HELP_STRING([--disable-neon],
[disable NEON optimizations (default auto)])],, [
])
AS_IF([test "${enable_neon}" != "no"], [
VLC_SAVE_FLAGS
- CFLAGS="${CFLAGS} -mfpu=neon"
- AC_CACHE_CHECK([if $CC groks NEON inline assembly], [ac_cv_neon_inline], [
+ CFLAGS="${CFLAGS} -mfpu=neon -mhard-float"
+ AC_CACHE_CHECK([if $CCAS groks ARM NEON assembly], [ac_cv_arm_neon], [
AC_COMPILE_IFELSE([
AC_LANG_PROGRAM(,[[
asm volatile("vqmovun.s64 d0, q1":::"d0");
-asm volatile("ssat r0, #1, r0":::"r0"); /* assume ARMv6 */
]])
], [
- ac_cv_neon_inline="-mfpu=neon"
+ ac_cv_arm_neon="yes"
], [
- ac_cv_neon_inline="no"
+ ac_cv_arm_neon="no"
])
])
VLC_RESTORE_FLAGS
- AS_IF([test "$ac_cv_neon_inline" != "no"], [
- NEON_CFLAGS="$ac_cv_neon_inline"
- ])
-], [
- ac_cv_neon_inline="no"
])
-AC_SUBST(NEON_CFLAGS)
-AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_neon_inline}" != "no"])
+AM_CONDITIONAL(HAVE_NEON, [test "${ac_cv_arm_neon}" = "yes"])
AC_ARG_ENABLE(altivec,
dnl
dnl OpenCV wrapper and example filters
dnl
-PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv], (OpenCV (computer vision) filter), [off])
+PKG_ENABLE_MODULES_VLC([OPENCV], [opencv_example opencv_wrapper], [opencv > 2.0], (OpenCV (computer vision) filter), [auto])
dnl