build: fix for GStreamer 0.10.
[platform/upstream/gstreamer-vaapi.git] / configure.ac
index 52d268d..7bba4ba 100644 (file)
@@ -95,15 +95,31 @@ AC_ARG_VAR([GIT], [Path to git program, if any])
 AC_PATH_PROG([GIT], [git])
 AM_CONDITIONAL([HAVE_GIT], [test -n "$GIT"])
 
+AC_ARG_VAR([YASM], [Path to yasm program, if any])
+AC_PATH_PROG([YASM], [yasm])
+if test -z "$YASM" -a "$enable_builtin_libvpx" = "yes"; then
+    AC_MSG_ERROR([yasm is needed to build libvpx sources])
+fi
+
 dnl Initialize libtool
 LT_PREREQ([2.2])
 LT_INIT
 
+AC_ARG_ENABLE(builtin_videoparsers,
+    AS_HELP_STRING([--enable-builtin-videoparsers],
+                   [enable built-in videoparsers @<:@default=yes@:>@]),
+    [], [enable_builtin_videoparsers="yes"])
+
 AC_ARG_ENABLE(builtin_codecparsers,
     AS_HELP_STRING([--enable-builtin-codecparsers],
                    [enable built-in codecparsers @<:@default=yes@:>@]),
     [], [enable_builtin_codecparsers="yes"])
 
+AC_ARG_ENABLE(builtin_libvpx,
+    AS_HELP_STRING([--enable-builtin-libvpx],
+                   [enable built-in libvpx @<:@default=yes@:>@]),
+    [], [enable_builtin_libvpx="yes"])
+
 AC_ARG_ENABLE([encoders],
     AS_HELP_STRING([--enable-encoders],
                    [enable video encoders @<:@default=yes@:>@]),
@@ -238,6 +254,14 @@ if test "$USE_GST_API_1_2p" = "yes"; then
 fi
 AC_SUBST([GST_PKG_VERSION])
 
+dnl Validate certain features
+if test "$USE_GST_API_0_10" = "yes"; then
+    if test "$enable_builtin_videoparsers" = "yes"; then
+        AC_MSG_WARN([disabled built-in videoparsers (unsupported)])
+        enable_builtin_videoparsers="no"
+    fi
+fi
+
 dnl GStreamer Core
 PKG_CHECK_MODULES([GST],
     [gstreamer-$GST_PKG_VERSION >= $GST_VERSION_REQUIRED])
@@ -415,6 +439,9 @@ AM_CONDITIONAL([USE_LOCAL_CODEC_PARSERS_JPEG],
     [test "$ac_cv_have_gst_jpeg_parser" != "yes"])
 
 dnl ... VP8 parser, not upstream yet
+if test "$enable_builtin_libvpx" = "yes"; then
+    ac_cv_have_gst_vp8_parser="no"
+fi
 AC_CACHE_CHECK([for VP8 parser],
     ac_cv_have_gst_vp8_parser, [
     saved_CPPFLAGS="$CPPFLAGS"
@@ -433,6 +460,11 @@ AC_CACHE_CHECK([for VP8 parser],
 ])
 AM_CONDITIONAL([USE_LOCAL_CODEC_PARSERS_VP8],
     [test "$ac_cv_have_gst_vp8_parser" != "yes"])
+AM_CONDITIONAL([USE_BUILTIN_LIBVPX], [test "$enable_builtin_libvpx" = "yes"])
+
+dnl ... video parsers
+AM_CONDITIONAL([USE_LOCAL_VIDEO_PARSERS],
+    [test "$enable_builtin_videoparsers" = "yes"])
 
 case $GST_API_VERSION in
 0.10)   lt_bias=gst0_vaapi_lt_current_bias;;
@@ -686,6 +718,12 @@ AC_CACHE_CHECK([for JPEG decoding API],
     LIBS="$saved_LIBS"
 ])
 
+dnl Check for va_dec_vp8.h header
+saved_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
+AC_CHECK_HEADERS([va/va_dec_vp8.h], [], [], [#include <va/va.h>])
+CPPFLAGS="$saved_CPPFLAGS"
+
 dnl Check for VP8 decoding API (0.34+)
 USE_VP8_DECODER=0
 AC_CACHE_CHECK([for VP8 decoding API],
@@ -697,12 +735,16 @@ AC_CACHE_CHECK([for VP8 decoding API],
     AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM(
             [[#include <va/va.h>
+              #ifdef HAVE_VA_VA_DEC_VP8_H
               #include <va/va_dec_vp8.h>
+              #endif
             ]],
             [[VAPictureParameterBufferVP8 pic_param;
               VASliceParameterBufferVP8 slice_param;
               VAProbabilityDataBufferVP8 prob_data;
-              VAIQMatrixBufferVP8 iq_matrix;]])],
+              VAIQMatrixBufferVP8 iq_matrix;
+              slice_param.slice_data_offset = 0;
+              slice_param.slice_data_flag = 0;]])],
         [ac_cv_have_vp8_decoding_api="yes" USE_VP8_DECODER=1],
         [ac_cv_have_vp8_decoding_api="no"]
     )
@@ -784,7 +826,7 @@ AC_DEFINE_UNQUOTED(USE_JPEG_DECODER, $USE_JPEG_DECODER,
 AM_CONDITIONAL(USE_JPEG_DECODER, test $USE_JPEG_DECODER -eq 1)
 
 AC_DEFINE_UNQUOTED(USE_VP8_DECODER, $USE_VP8_DECODER,
-    [Defined to 1 if JPEG decoder is used])
+    [Defined to 1 if VP8 decoder is used])
 AM_CONDITIONAL(USE_VP8_DECODER, test $USE_VP8_DECODER -eq 1)
 
 AC_DEFINE_UNQUOTED(USE_DRM, $USE_DRM,
@@ -834,6 +876,7 @@ debian.upstream/libgstvaapi-x11.install.in
     docs/reference/plugins/Makefile
     docs/reference/plugins/plugins-docs.xml
     ext/Makefile
+    ext/libvpx/Makefile
     gst-libs/Makefile
     gst-libs/gst/Makefile
     gst-libs/gst/base/Makefile
@@ -842,6 +885,8 @@ debian.upstream/libgstvaapi-x11.install.in
     gst-libs/gst/video/Makefile
     gst/Makefile
     gst/vaapi/Makefile
+    patches/Makefile
+    patches/videoparsers/Makefile
     pkgconfig/Makefile
     pkgconfig/gstreamer-vaapi-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi.pc.in