Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.
[platform/upstream/gstreamer-vaapi.git] / configure.ac
index ab19b03..2b60cf5 100644 (file)
@@ -1,7 +1,7 @@
 # gstreamer-vaapi package version number
 m4_define([gst_vaapi_major_version], [0])
 m4_define([gst_vaapi_minor_version], [1])
-m4_define([gst_vaapi_micro_version], [2])
+m4_define([gst_vaapi_micro_version], [3])
 m4_define([gst_vaapi_version],
           [gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
 
@@ -75,6 +75,11 @@ AC_ARG_ENABLE(glx,
                    [enable OpenGL/X11 @<:@default=yes@:>@]),
     [], [enable_glx="yes"])
 
+AC_ARG_ENABLE(vaapi-glx,
+    AC_HELP_STRING([--enable-vaapi-glx],
+                   [enable VA/GLX extensions @<:@default=yes@:>@]),
+    [], [enable_vaapi_glx="yes"])
+
 AC_ARG_ENABLE(vaapisink-glx,
     AC_HELP_STRING([--enable-vaapisink-glx],
                    [enable OpenGL/X11 to vaapisink @<:@default=yes@:>@]),
@@ -220,15 +225,20 @@ if test "$ac_cv_have_vaapi_x11" = "no"; then
 fi
 AC_SUBST(LIBVA_X11_PKGNAME)
 
-dnl ... VA-API >= 0.31 or -sds
-LIBVA_GLX_PKGNAME="libva-glx"
-PKG_CHECK_MODULES(LIBVA_GLX, [$LIBVA_GLX_PKGNAME],
-    [ac_cv_have_vaapi_glx="yes"],
-    [ac_cv_have_vaapi_glx="no"]
-)
-if test "$ac_cv_have_vaapi_glx" = "no"; then
-    AC_MSG_WARN([could not find VA/GLX extensions. Disabling GLX support])
-    USE_GLX=0
+dnl ... VA-API >= 0.31 or -sds (VA/GLX extensions)
+USE_VAAPI_GLX=0
+if test $USE_GLX -eq 1; then
+    if test "$enable_vaapi_glx" = "yes"; then
+        LIBVA_GLX_PKGNAME="libva-glx"
+        PKG_CHECK_MODULES(LIBVA_GLX, [$LIBVA_GLX_PKGNAME],
+            [ac_cv_have_vaapi_glx="yes" USE_VAAPI_GLX=1],
+            [ac_cv_have_vaapi_glx="no"]
+        )
+    fi
+    if test $USE_VAAPI_GLX -eq 0; then
+        AC_MSG_WARN([VA/GLX not found or disabled. Fallbacking to TFP+FBO])
+        LIBVA_GLX_PKGNAME="$LIBVA_X11_PKGNAME"
+    fi
 fi
 AC_SUBST(LIBVA_GLX_PKGNAME)
 
@@ -242,9 +252,23 @@ else
     USE_VAAPISINK_GLX=0
 fi
 
-AC_DEFINE_UNQUOTED(USE_GLX, $USE_GLX, [Defined to 1 if GLX is enabled])
+dnl Check for FFmpeg
+PKG_CHECK_MODULES(LIBAVFORMAT, [libavformat])
+AC_CHECK_HEADERS([libavformat/avformat.h])
+
+PKG_CHECK_MODULES(LIBAVCODEC, [libavcodec])
+AC_CHECK_HEADERS([libavcodec/avcodec.h])
+AC_CHECK_HEADERS([libavcodec/vaapi.h], [],
+    AC_MSG_ERROR([The system FFmpeg headers do not support VA-API]))
+
+AC_DEFINE_UNQUOTED(USE_GLX, $USE_GLX,
+    [Defined to 1 if GLX is enabled])
 AM_CONDITIONAL(USE_GLX, test $USE_GLX -eq 1)
 
+AC_DEFINE_UNQUOTED(USE_VAAPI_GLX, $USE_VAAPI_GLX,
+    [Defined to 1 if VA/GLX is enabled])
+AM_CONDITIONAL(USE_VAAPI_GLX, test $USE_VAAPI_GLX -eq 1)
+
 AC_DEFINE_UNQUOTED(USE_VAAPISINK_GLX, $USE_VAAPISINK_GLX,
     [Defined to 1 to enable GLX support to vaapisink])
 AM_CONDITIONAL(USE_VAAPISINK_GLX, test $USE_VAAPISINK_GLX -eq 1)
@@ -274,8 +298,7 @@ debian.upstream/gstreamer-vaapi.install.in
 debian.upstream/gstreamer-vaapi-doc.install.in
     debian.upstream/libgstvaapi$GST_VAAPI_MAJOR_VERSION.install:\
 debian.upstream/libgstvaapi.install.in
-    debian.upstream/libgstvaapi$GST_VAAPI_MAJOR_VERSION-dev.install:\
-debian.upstream/libgstvaapi-dev.install.in
+    debian.upstream/libgstvaapi-dev.install
     debian.upstream/libgstvaapi-x11-$GST_VAAPI_MAJOR_VERSION.install:\
 debian.upstream/libgstvaapi-x11.install.in
     debian.upstream/libgstvaapi-glx-$GST_VAAPI_MAJOR_VERSION.install:\
@@ -296,17 +319,23 @@ pkgconfig/gstreamer-vaapi.pc.in
 pkgconfig/gstreamer-vaapi-glx.pc.in
     pkgconfig/gstreamer-vaapi-x11-$GST_MAJORMINOR.pc:\
 pkgconfig/gstreamer-vaapi-x11.pc.in
-    sys/Makefile
-    sys/vaapiconvert/Makefile
-    sys/vaapisink/Makefile
+    gst/Makefile
+    gst/vaapiconvert/Makefile
+    gst/vaapidecode/Makefile
+    gst/vaapisink/Makefile
     tests/Makefile
 ])
 
 dnl Print summary
+yesno() {
+    test $1 -eq 1 && echo yes || echo no
+}
+
 echo
 echo $PACKAGE configuration summary:
 echo
 echo VA-API version ................... : $VA_VERSION_STR
-echo GLX support ...................... : $(test $USE_GLX  -eq 1 && echo yes || echo no)
-echo Build vaapisink with OpenGL ...... : $(test $USE_VAAPISINK_GLX  -eq 1 && echo yes || echo no)
+echo GLX support ...................... : $(yesno $USE_GLX)
+echo VA/GLX support ................... : $(yesno $USE_VAAPI_GLX)
+echo VaapiSink/GL ..................... : $(yesno $USE_VAAPISINK_GLX)
 echo