diff --git a/configure.ac b/configure.ac index ee22c1109e431c2579eeabc21adfaeb73f9876b9..1c5dd6dcef8a2c1e0bfb952da4a18affb6483c4d 100644 --- a/configure.ac +++ b/configure.ac @@ -452,80 +452,60 @@ AS_IF([test "x$enable_video" != "xno"], AM_CONDITIONAL(RING_VIDEO, false) ]); -dnl Ring video acceleration compile-time dependencies -AS_IF([test "${SYS}" = linux && test -z "${HAVE_ANDROID_FALSE}"], [ - x11_available="no" - vaapi_available="no" - vdpau_available="no" - dnl ffmpeg's vaapi and vdpau implementations depend on x11 - PKG_CHECK_MODULES([X11], [x11], [x11_available="yes"], []) - AS_IF([test "${x11_available}" = "yes"], [ - PKG_CHECK_MODULES([LIBVA], [libva], [ - PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm], [ - AC_DEFINE([HAVE_VAAPI_ACCEL_DRM], [1], [Vaapi via DRM found]) - ]) - PKG_CHECK_MODULES([LIBVA_X11], [libva-x11], [ - AC_DEFINE([HAVE_VAAPI_ACCEL_X11], [1], [Vaapi via X11 found]) - ]) - AC_CHECK_HEADERS([libavcodec/vaapi.h], [vaapi_available="yes"]) - ], [vaapi_available=no]) - PKG_CHECK_MODULES([VDPAU], [vdpau], [ - AC_CHECK_HEADERS([libavcodec/vdpau.h], [ - AC_DEFINE([HAVE_VDPAU_ACCEL], [1], [Vdpau found]) - vdpau_available="yes" - ]) - ], [vdpau_available="no"]) - ]) -]) -AS_IF([test "${SYS}" = darwin], [ - vt_available="no" - vda_available="no" - AC_CHECK_HEADER([VideoToolbox/VideoToolbox.h], [ - AC_CHECK_HEADER([libavcodec/videotoolbox.h], [ - AC_DEFINE([HAVE_VIDEOTOOLBOX_ACCEL], [1], [VideoToolbox found]) - vt_available="yes" - ], []) - ], []) - AC_CHECK_HEADER([VideoDecodeAcceleration/VDADecoder.h], [ - AC_CHECK_HEADER([libavcodec/vda.h], [ - AC_DEFINE([HAVE_VDA_ACCEL], [1], [VDA found]) - vda_available="yes" - ], []) - ], []) -]) - -AC_ARG_ENABLE([accel], AS_HELP_STRING([--disable-accel], [Disable all hardware accelerations])) -AC_ARG_ENABLE([vdpau], AS_HELP_STRING([--disable-vdpau], [Disable VDPAU hardware acceleration])) -AC_ARG_ENABLE([vaapi], AS_HELP_STRING([--disable-vaapi], [Disable VAAPI hardware acceleration])) -AC_ARG_ENABLE([videotoolbox], AS_HELP_STRING([--disable-videotoolbox], [Disable VideoToolbox hardware acceleration])) -AC_ARG_ENABLE([vda], AS_HELP_STRING([--disable-vda], [Disable VDA hardware acceleration])) - -dnl video acceleration only works if there's video +AC_ARG_ENABLE([accel], AS_HELP_STRING([--disable-accel], [Disable all hardware accelerations (enabled by default)])) +AC_ARG_ENABLE([vdpau], AS_HELP_STRING([--disable-vdpau], [Disable VDPAU hardware acceleration (auto)])) +AC_ARG_ENABLE([vaapi], AS_HELP_STRING([--disable-vaapi], [Disable VAAPI hardware acceleration (auto)])) +AC_ARG_ENABLE([videotoolbox], AS_HELP_STRING([--disable-videotoolbox], [Disable VideoToolbox hardware acceleration (auto)])) +AC_ARG_ENABLE([vda], AS_HELP_STRING([--disable-vda], [Disable VDA hardware acceleration (auto)])) AS_IF([test "x$enable_video" != "xno" -a "x$enable_accel" != "xno"], [ ring_accel="yes" AC_DEFINE([RING_ACCEL], [1], [Hardware acceleration is enabled in Ring]) - AS_IF([test "x$enable_vaapi" != "xno"], [ - AS_IF([test "x${vaapi_available}" = "xyes"], [ - ring_vaapi="yes" - AC_DEFINE([RING_VAAPI], [1], [VAAPI is available in Ring]) - ]) - ]) - AS_IF([test "x$enable_vdpau" != "xno"], [ - AS_IF([test "x${vdpau_available}" = "xyes"], [ - ring_vdpau="yes" - AC_DEFINE([RING_VDPAU], [1], [VDPAU is available in Ring]) + AS_IF([test "${SYS}" = "linux" && test -z "${HAVE_ANDROID_FALSE}"], [ + dnl ffmpeg's vaapi and vdpau implementations depend on x11 + PKG_CHECK_MODULES([X11], [x11], [x11_available="yes"], [x11_available="no"]) + AS_IF([test "${x11_available}" = "yes"], [ + dnl vaapi for linux + AS_IF([test "x$enable_vaapi" != "xno"], [ + PKG_CHECK_MODULES([LIBVA], [libva], [ + PKG_CHECK_MODULES([LIBVA_DRM], [libva-drm], [ + AC_DEFINE([HAVE_VAAPI_ACCEL_DRM], [1], [Defined if vaapi via DRM is available]) + ], []) + PKG_CHECK_MODULES([LIBVA_X11], [libva-x11], [ + AC_DEFINE([HAVE_VAAPI_ACCEL_X11], [1], [Defined if vaapi via X11 is available]) + ], []) + AC_CHECK_HEADERS([libavcodec/vaapi.h], [ + ring_vaapi="yes" + AC_DEFINE([RING_VAAPI], [1], [Defined if vaapi is available in Ring]) + ]) + ], []) + ]) + dnl vdpau linux + AS_IF([test "x$enable_vdpau" != "xno"], [ + PKG_CHECK_MODULES([VDPAU], [vdpau], [ + AC_CHECK_HEADERS([libavcodec/vdpau.h], [ + ring_vdpau="yes" + AC_DEFINE([RING_VDPAU], [1], [Defined if vdpau is available in Ring]) + ]) + ], []) + ]) ]) ]) - AS_IF([test "x$enable_videotoolbox" != "xno"], [ - AS_IF([test "x${vt_available}" = "xyes"], [ - ring_vt="yes" - AC_DEFINE([RING_VIDEOTOOLBOX], [1], [VideoToolbox is available in Ring]) + AS_IF([test "${SYS}" = "darwin"], [ + AS_IF([test "x$enable_videotoolbox" != "xno"], [ + AC_CHECK_HEADER([VideoToolbox/VideoToolbox.h], [ + AC_CHECK_HEADER([libavcodec/videotoolbox.h], [ + ring_vt="yes" + AC_DEFINE([RING_VIDEOTOOLBOX], [1], [Defined if videotoolbox is available in Ring]) + ]) + ]) ]) - ]) - AS_IF([test "x$enable_vda" != "xno"], [ - AS_IF([test "x${vda_available}" = "xyes"], [ - ring_vda="yes" - AC_DEFINE([RING_VDA], [1], [VDA is available in Ring]) + AS_IF([test "x$enable_vda" != "xno"], [ + AC_CHECK_HEADER([VideoDecodeAcceleration/VDADecoder.h], [ + AC_CHECK_HEADER([libavcodec/vda.h], [ + ring_vda="yes" + AC_DEFINE([RING_VDA], [1], [Defined if vda is available in Ring]) + ]) + ]) ]) ]) ])