mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00
video: mac hardware acceleration
Adds VideoToolbox and VDA hardware accelerations. VideoToolbox supports H.264, H.263 and MPEG4, while VDA only supports H.264. VDA is implemented in case libav is used instead of FFmpeg, as only the latter implements VideoToolbox. This being said, Ring will prefer VideoToolbox. VideoToolbox is OSX 10.8+ and iOS 8+. VDA is OSX 10.6.3+. Both have their respective configure switches. Change-Id: I588fcbb92809a9d6a56bb9b6a7ac3a59874c0186 Tuleap: #1090 Reviewed-by: Anthony Léonard <anthony.leonard@savoirfairelinux.com>
This commit is contained in:

committed by
Anthony Léonard

parent
424059d1a5
commit
bd02113e92
34
configure.ac
34
configure.ac
@ -463,10 +463,30 @@ AS_IF([test "${SYS}" = linux && test -z "${HAVE_ANDROID_FALSE}"], [
|
||||
], [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
|
||||
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])
|
||||
@ -482,10 +502,24 @@ AS_IF([test "x$enable_video" != "xno" -a "x$enable_accel" != "xno"], [
|
||||
AC_DEFINE([RING_VDPAU], [1], [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 "x$enable_vda" != "xno"], [
|
||||
AS_IF([test "x${vda_available}" = "xyes"], [
|
||||
ring_vda="yes"
|
||||
AC_DEFINE([RING_VDA], [1], [VDA is available in Ring])
|
||||
])
|
||||
])
|
||||
])
|
||||
AM_CONDITIONAL([RING_ACCEL], [test "x${ring_accel}" = "xyes"])
|
||||
AM_CONDITIONAL([RING_VAAPI], [test "x${ring_vaapi}" = "xyes"])
|
||||
AM_CONDITIONAL([RING_VDPAU], [test "x${ring_vdpau}" = "xyes"])
|
||||
AM_CONDITIONAL([RING_VIDEOTOOLBOX], [test "x${ring_vt}" = "xyes"])
|
||||
AM_CONDITIONAL([RING_VDA], [test "x${ring_vda}" = "xyes"])
|
||||
|
||||
dnl check for GnuTLS
|
||||
PKG_CHECK_MODULES([GNUTLS], [gnutls >= 3.4.14], [HAVE_GNUTLS=1], [HAVE_GNUTLS=0])
|
||||
|
Reference in New Issue
Block a user