+MMX_MODULES="yuvmmx idctmmx motionmmx"
+MMXEXT_MODULES="idctmmxext motionmmxext"
+THREEDNOW_MODULES="imdct3dn downmix3dn"
+SSE_MODULES="imdctsse downmixsse"
+ALTIVEC_MODULES="idctaltivec motionaltivec"
+
+AC_CACHE_CHECK([if \$CC groks MMX inline assembly],
+ [ac_cv_mmx_inline],
+ [AC_TRY_COMPILE(,[void quux(){void *p;asm volatile("packuswb %%mm1,%%mm2"::"r"(p));}],
+ ac_cv_mmx_inline=yes, ac_cv_mmx_inline=no)])
+if test x"$ac_cv_mmx_inline" != x"no"; then
+ ACCEL_MODULES="${ACCEL_MODULES} ${MMX_MODULES}"
+fi
+
+AC_CACHE_CHECK([if \$CC groks MMX EXT inline assembly],
+ [ac_cv_mmxext_inline],
+ [AC_TRY_COMPILE(,[void quux(){void *p;asm volatile("maskmovq %%mm1,%%mm2"::"r"(p));}],
+ ac_cv_mmxext_inline=yes, ac_cv_mmxext_inline=no)])
+if test x"$ac_cv_mmxext_inline" != x"no"; then
+ ACCEL_MODULES="${ACCEL_MODULES} ${MMXEXT_MODULES}"
+fi
+
+AC_CACHE_CHECK([if \$CC groks 3D Now! inline assembly],
+ [ac_cv_3dnow_inline],
+ [AC_TRY_COMPILE(,[void quux(){void *p;asm volatile("pfadd %%mm1,%%mm2"::"r"(p));}],
+ ac_cv_3dnow_inline=yes, ac_cv_3dnow_inline=no)])
+if test x"$ac_cv_3dnow_inline" != x"no"; then
+ AC_DEFINE(HAVE_3DNOW, 1, Define if \$CC groks 3D Now! inline assembly.)
+ ACCEL_MODULES="${ACCEL_MODULES} ${THREEDNOW_MODULES}"
+fi
+
+AC_CACHE_CHECK([if \$CC groks SSE inline assembly],
+ [ac_cv_sse_inline],
+ [AC_TRY_COMPILE(,[void quux(){void *p;asm volatile("xorps %%xmm1,%%xmm2"::"r"(p));}],
+ ac_cv_sse_inline=yes, ac_cv_sse_inline=no)])
+if test x"$ac_cv_sse_inline" != x"no"; then
+ AC_DEFINE(HAVE_SSE, 1, Define if \$CC groks SSE inline assembly.)
+ ACCEL_MODULES="${ACCEL_MODULES} ${SSE_MODULES}"
+fi
+
+AC_CACHE_CHECK([if \$CC groks Altivec inline assembly],
+ [ac_cv_altivec_inline],
+ [AC_TRY_COMPILE(,[void quux(){asm volatile("vperm 0,1,2,3");}],
+ ac_cv_altivec_inline=yes,
+ [save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -Wa,-m7400"
+ AC_TRY_COMPILE(,[void quux(){asm volatile("vperm 0,1,2,3");}],
+ [ac_cv_altivec_inline=yes; CFLAGS_ALTIVEC="-Wa,-m7400"],
+ ac_cv_altivec_inline=no)
+ CFLAGS=$save_CFLAGS
+ ])])
+if test x"$ac_cv_altivec_inline" != x"no"; then
+ AC_DEFINE(HAVE_ALTIVEC, 1, Define if \$CC groks ALTIVEC inline assembly.)
+ ACCEL_MODULES="${ACCEL_MODULES} ${ALTIVEC_MODULES}"
+fi
+
+AC_CACHE_CHECK([if \$CC groks Altivec C extensions],
+ [ac_cv_c_altivec],
+ [save_CFLAGS=$CFLAGS
+ CFLAGS="$CFLAGS -faltivec"
+ # Darwin test
+ AC_TRY_COMPILE(,[void quux(){vec_mtvscr((vector unsigned int)(0));}],
+ ac_cv_c_altivec=-faltivec, [
+ # Linux/PPC test
+ CFLAGS="$save_CFLAGS $CFLAGS_ALTIVEC -fvec"
+ AC_TRY_COMPILE(,[void quux(){vec_mtvscr((vector unsigned int)(0));}],
+ [ac_cv_c_altivec="-fvec"], ac_cv_c_altivec=no)
+ ])
+ CFLAGS=$save_CFLAGS
+ ])
+if test x"$ac_cv_c_altivec" != x"no"; then
+ AC_DEFINE(HAVE_C_ALTIVEC, 1, Define if your compiler groks C altivec extensions.)
+ CFLAGS_ALTIVEC="$CFLAGS_ALTIVEC $ac_cv_c_altivec"
+fi
+
+AC_CACHE_CHECK([if linker needs -framework vecLib],
+ [ac_cv_ld_altivec],
+ [save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -framework vecLib"
+ AC_TRY_LINK([],,ac_cv_ld_altivec=yes,ac_cv_ld_altivec=no)
+ LDFLAGS=$save_LDFLAGS
+ ])
+if test x"$ac_cv_ld_altivec" != x"no"; then
+ LIB_ALTIVEC="-framework vecLib"
+fi
+
+dnl
+dnl libdvdcss: check for DVD ioctls
+dnl
+
+dnl default is no
+CAN_BUILD_LIBDVDCSS=0
+
+dnl for windoze
+AC_CHECK_HEADERS(winioctl.h,[
+ CAN_BUILD_LIBDVDCSS="${HAVE_LIBDVDCSS}"
+])
+
+dnl for Un*x and BeOS