encoder: h264: fix timing_info_present_flag value in subset SPS.
[platform/upstream/gstreamer-vaapi.git] / configure.ac
index be45f77..e383de4 100644 (file)
@@ -1,7 +1,7 @@
 # gstreamer-vaapi package version number
 m4_define([gst_vaapi_major_version], [0])
 m4_define([gst_vaapi_minor_version], [5])
-m4_define([gst_vaapi_micro_version], [4])
+m4_define([gst_vaapi_micro_version], [9])
 m4_define([gst_vaapi_pre_version],   [1])
 m4_define([gst_vaapi_version],
           [gst_vaapi_major_version.gst_vaapi_minor_version.gst_vaapi_micro_version])
@@ -10,9 +10,11 @@ m4_append([gst_vaapi_version], gst_vaapi_pre_version, [.pre])
 ])
 
 # gstreamer-vaapi library (libtool) version number
-m4_define([gst_vaapi_lt_current],       [3])
+m4_define([gst_vaapi_lt_current],       [5])
 m4_define([gst0_vaapi_lt_current_bias], [0])
 m4_define([gst1_vaapi_lt_current_bias], [2])
+m4_define([gst2_vaapi_lt_current_bias], [4])
+m4_define([gst4_vaapi_lt_current_bias], [5])
 m4_define([gst_vaapi_lt_revision],      [0])
 m4_define([gst_vaapi_lt_age],           [0])
 
@@ -20,25 +22,33 @@ m4_define([gst_vaapi_lt_age],           [0])
 m4_define([glib_version], [2.28])
 
 # gstreamer version number
-m4_define([gst_api_version],            [1.0])
+m4_define([gst_api_version],            [autodetect])
 m4_define([gst0_version],               [0.10.36])
 m4_define([gst0_plugins_base_version],  [0.10.31])
 m4_define([gst0_plugins_bad_version],   [0.10.22])
 m4_define([gst1_version],               [1.0.0])
 m4_define([gst1_plugins_base_version],  [1.0.0])
 m4_define([gst1_plugins_bad_version],   [1.0.0])
+m4_define([gst12_version],              [1.1.90])
+m4_define([gst12_plugins_base_version], [1.1.0])
+m4_define([gst12_plugins_bad_version],  [1.1.0])
+m4_define([gst14_version],              [1.2.90])
+m4_define([gst14_plugins_base_version], [1.3.0])
+m4_define([gst14_plugins_bad_version],  [1.3.0])
 
 # Wayland minimum version number
 m4_define([wayland_api_version], [1.0.0])
 
 # VA-API minimum version number
 m4_define([va_api_version],     [0.30.4])
+m4_define([va_api_enc_version], [0.34.0])
 m4_define([va_api_drm_version], [0.33.0])
 m4_define([va_api_x11_version], [0.31.0])
 m4_define([va_api_glx_version], [0.32.0])
 m4_define([va_api_wld_version], [0.33.0])
 
 # libva package version number
+m4_define([libva_enc_package_version], [1.2.0])
 m4_define([libva_drm_package_version], [1.1.0])
 m4_define([libva_x11_package_version], [1.0.3])
 m4_define([libva_glx_package_version], [1.0.9])
@@ -85,15 +95,36 @@ 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@:>@]),
+    [], [enable_encoders="yes"])
+
 AC_ARG_ENABLE(drm,
     AS_HELP_STRING([--enable-drm],
                    [enable DRM backend @<:@default=yes@:>@]),
@@ -146,6 +177,32 @@ dnl ---------------------------------------------------------------------------
 dnl -- GStreamer                                                             --
 dnl ---------------------------------------------------------------------------
 
+dnl If GStreamer API version is to be autodetected, then always try
+dnl with the latest version first
+AC_MSG_CHECKING([for GStreamer API version])
+if test "$GST_API_VERSION" = "autodetect"; then
+    gst_pkg_versions="1.0 0.10"
+else
+    AS_VERSION_COMPARE([$GST_API_VERSION], [1.0],
+        [gst_pkg_versions="0.10"], [gst_pkg_versions="1.0"],
+        dnl GStreamer 1.2.x APIs don't have their own namespace
+        [gst_pkg_versions="1.0"])
+fi
+for gst_pkg_version in ${gst_pkg_versions}; do
+    if $PKG_CONFIG --exists "gstreamer-$gst_pkg_version"; then
+        gst_version=`$PKG_CONFIG --modversion "gstreamer-$gst_pkg_version"`
+        gst_major_version=`echo "$gst_version" | cut -d'.' -f1`
+        gst_minor_version=`echo "$gst_version" | cut -d'.' -f2`
+        GST_API_VERSION="${gst_major_version}.${gst_minor_version}"
+        GST_PKG_VERSION="$gst_pkg_version"
+        break
+    fi
+done
+if test -z "$GST_PKG_VERSION"; then
+    AC_MSG_ERROR([version $GST_API_VERSION not found])
+fi
+AC_MSG_RESULT([$GST_API_VERSION])
+
 dnl Versions for GStreamer and plugins-base
 case $GST_API_VERSION in
 0.10)
@@ -158,6 +215,16 @@ case $GST_API_VERSION in
     GST_PLUGINS_BASE_VERSION_REQUIRED=gst1_plugins_base_version
     GST_PLUGINS_BAD_VERSION_REQUIRED=gst1_plugins_bad_version
     ;;
+1.2)
+    GST_VERSION_REQUIRED=gst12_version
+    GST_PLUGINS_BASE_VERSION_REQUIRED=gst12_plugins_base_version
+    GST_PLUGINS_BAD_VERSION_REQUIRED=gst12_plugins_bad_version
+    ;;
+1.3)
+    GST_VERSION_REQUIRED=gst14_version
+    GST_PLUGINS_BASE_VERSION_REQUIRED=gst14_plugins_base_version
+    GST_PLUGINS_BAD_VERSION_REQUIRED=gst14_plugins_bad_version
+    ;;
 *)
     AC_MSG_ERROR([unsupported GStreamer API version $GST_API_VERSION])
     ;;
@@ -169,18 +236,29 @@ AC_SUBST(GST_PLUGINS_BAD_VERSION_REQUIRED)
 
 USE_GST_API_0_10="no"
 USE_GST_API_1_0p="no"
+USE_GST_API_1_2p="no"
 AS_VERSION_COMPARE([$GST_API_VERSION], [0.10],
     [], [USE_GST_API_0_10="yes"], [])
 AS_VERSION_COMPARE([$GST_API_VERSION], [1.0],
     [], [USE_GST_API_1_0p="yes"], [USE_GST_API_1_0p="yes"])
+AS_VERSION_COMPARE([$GST_API_VERSION], [1.2],
+    [], [USE_GST_API_1_2p="yes"], [USE_GST_API_1_2p="yes"])
 AM_CONDITIONAL([USE_GST_API_0_10], [test "$USE_GST_API_0_10" = "yes"])
 AM_CONDITIONAL([USE_GST_API_1_0p], [test "$USE_GST_API_1_0p" = "yes"])
+AM_CONDITIONAL([USE_GST_API_1_2p], [test "$USE_GST_API_1_2p" = "yes"])
+
+dnl GStreamer 1.2.x APIs don't have their own namespace
+GST_PKG_VERSION="$GST_API_VERSION"
+if test "$USE_GST_API_1_2p" = "yes"; then
+    GST_PKG_VERSION="1.0"
+fi
+AC_SUBST([GST_PKG_VERSION])
 
 dnl GStreamer Core
 PKG_CHECK_MODULES([GST],
-    [gstreamer-$GST_API_VERSION >= $GST_VERSION_REQUIRED])
+    [gstreamer-$GST_PKG_VERSION >= $GST_VERSION_REQUIRED])
 PKG_CHECK_MODULES([GST_BASE],
-    [gstreamer-base-$GST_API_VERSION >= $GST_VERSION_REQUIRED])
+    [gstreamer-base-$GST_PKG_VERSION >= $GST_VERSION_REQUIRED])
 
 AC_CACHE_CHECK([for GstBaseSink::query hook], ac_cv_have_gst_base_sink_query, [
     saved_CPPFLAGS="$CPPFLAGS"
@@ -203,22 +281,22 @@ fi
 
 dnl GStreamer -base plugins
 PKG_CHECK_MODULES([GST_PLUGINS_BASE],
-    [gstreamer-plugins-base-$GST_API_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
+    [gstreamer-plugins-base-$GST_PKG_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
 if test "$GST_API_VERSION" = "0.10"; then
 PKG_CHECK_MODULES([GST_INTERFACES],
-    [gstreamer-interfaces-$GST_API_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
+    [gstreamer-interfaces-$GST_PKG_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
 fi
 
 dnl ... GstVideoOverlayComposition (gstreamer-video)
 PKG_CHECK_MODULES([GST_VIDEO],
-    [gstreamer-video-$GST_API_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
+    [gstreamer-video-$GST_PKG_VERSION >= $GST_PLUGINS_BASE_VERSION_REQUIRED])
 
 AC_CACHE_CHECK([for GstVideoOverlayComposition],
     ac_cv_have_gst_video_overlay_composition, [
     saved_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $GST_CFLAGS"
+    CPPFLAGS="$CPPFLAGS $GST_CFLAGS $GST_VIDEO_CFLAGS"
     saved_LIBS="$LIBS"
-    LIBS="$LIBS $GST_LIBS"
+    LIBS="$LIBS $GST_LIBS $GST_VIDEO_LIBS"
     AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM(
             [[#include <gst/video/video-overlay-composition.h>]],
@@ -262,44 +340,22 @@ if test "$ac_cv_have_gst_video_overlay_hwcaps" = "yes"; then
         [Defined to 1 if GstVideoOverlayComposition API supports HW hints.])
 fi
 
-dnl ... GstVideoDecoder (gstreamer-video)
-AC_CACHE_CHECK([for GstVideoDecoder],
-    ac_cv_have_gst_video_decoder, [
-    saved_CPPFLAGS="$CPPFLAGS"
-    CPPFLAGS="$CPPFLAGS $GST_CFLAGS $GST_VIDEO_CFLAGS"
-    saved_LIBS="$LIBS"
-    LIBS="$LIBS $GST_LIBS $GST_VIDEO_LIBS"
-    AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-            [[#include <gst/video/gstvideodecoder.h>]],
-            [[GstVideoCodecFrame *f;
-              GstVideoDecoder vdec;
-              f = g_slice_new0(GstVideoCodecFrame);
-              f->ref_count = 1;
-              gst_video_decoder_have_frame(&vdec);
-              gst_video_decoder_finish_frame(&vdec, f);
-              gst_video_codec_frame_unref(f);]])],
-        [ac_cv_have_gst_video_decoder="yes"],
-        [ac_cv_have_gst_video_decoder="no"]
-    )
-    CPPFLAGS="$saved_CPPFLAGS"
-    LIBS="$saved_LIBS"
-])
-AM_CONDITIONAL([USE_LOCAL_GST_VIDEO_DECODER],
-    [test "$ac_cv_have_gst_video_decoder" != "yes"])
-
-dnl GStreamer -bad plugins
+dnl GStreamer -bad plugins (deprecated in GStreamer v1.2)
+if test "$USE_GST_API_1_2p" != "yes"; then
 PKG_CHECK_MODULES([GST_BASEVIDEO],
-    [gstreamer-basevideo-$GST_API_VERSION >= $GST_PLUGINS_BAD_VERSION_REQUIRED])
+    [gstreamer-basevideo-$GST_PKG_VERSION >= $GST_PLUGINS_BAD_VERSION_REQUIRED])
+fi
 
 dnl ... bitstream parsers
 if test "$enable_builtin_codecparsers" = "yes"; then
     ac_cv_have_gst_mpeg2_parser="no"
     ac_cv_have_gst_h264_parser="no"
     ac_cv_have_gst_jpeg_parser="no"
-fi
+    ac_cv_have_gst_vp8_parser="no"
+else
 PKG_CHECK_MODULES([GST_CODEC_PARSERS],
-    [gstreamer-codecparsers-$GST_API_VERSION >= $GST_PLUGINS_BAD_VERSION_REQUIRED])
+    [gstreamer-codecparsers-$GST_PKG_VERSION >= $GST_PLUGINS_BAD_VERSION_REQUIRED])
+fi
 
 dnl ... MPEG-2 parser, with the required extensions
 AC_CACHE_CHECK([for MPEG-2 parser],
@@ -314,6 +370,10 @@ AC_CACHE_CHECK([for MPEG-2 parser],
             [[GstMpegVideoSequenceHdr seq_hdr;
               GstMpegVideoSequenceExt seq_ext;
               GstMpegVideoSequenceDisplayExt seq_dpy;
+              GstMpegVideoSliceHdr slice_hdr;
+              GstMpegVideoPacket packet;
+              gst_mpeg_video_packet_parse_slice_header(&packet, &slice_hdr,
+                  &seq_hdr, NULL);
               gst_mpeg_video_finalise_mpeg2_sequence_header(&seq_hdr,
                   &seq_ext, &seq_dpy);]])],
         [ac_cv_have_gst_mpeg2_parser="yes"],
@@ -370,9 +430,39 @@ AC_CACHE_CHECK([for JPEG parser],
 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"
+    CPPFLAGS="$CPPFLAGS $GST_CFLAGS $GST_CODEC_PARSERS_CFLAGS"
+    saved_LIBS="$LIBS"
+    LIBS="$LIBS $GST_LIBS $GST_CODEC_PARSERS_LIBS"
+    AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+            [[#include <gst/codecparsers/gstvp8parser.h>]],
+            [[GstVp8FrameHdr frame_hdr;]])],
+        [ac_cv_have_gst_vp8_parser="yes"],
+        [ac_cv_have_gst_vp8_parser="no"]
+    )
+    CPPFLAGS="$saved_CPPFLAGS"
+    LIBS="$saved_LIBS"
+])
+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;;
 1.0)    lt_bias=gst1_vaapi_lt_current_bias;;
+1.2)    lt_bias=gst2_vaapi_lt_current_bias;;
+1.3)    lt_bias=gst4_vaapi_lt_current_bias;;
 esac
 GST_VAAPI_MAJOR_VERSION=`expr gst_vaapi_lt_current - "$lt_bias"`
 AC_SUBST(GST_VAAPI_MAJOR_VERSION)
@@ -399,14 +489,19 @@ GST_PLUGIN_LDFLAGS="-module -avoid-version -export-symbols-regex '^([_]*gst_plug
 AC_SUBST(GST_PLUGIN_LDFLAGS)
 
 dnl Check for the GStreamer plugins directory
-AC_ARG_VAR([GST_PLUGIN_PATH], [installation path for gstreamer-vaapi plugin elements])
+AC_ARG_VAR([GST_PLUGIN_PATH], [installation path for gstreamer-vaapi plugin elements for GStreamer 0.10])
+AC_ARG_VAR([GST_PLUGIN_PATH_1_0], [installation path for gstreamer-vaapi plugin elements for GStreamer 1.0])
 AC_MSG_CHECKING([for GStreamer plugins directory])
-if test -d "$GST_PLUGIN_PATH"; then
-    GST_PLUGINS_DIR="$GST_PLUGIN_PATH"
+case $GST_PKG_VERSION in
+0.10)   _gst_plugin_path="$GST_PLUGIN_PATH";;
+1.0)    _gst_plugin_path="$GST_PLUGIN_PATH_1_0";;
+esac
+if test -d "$_gst_plugin_path"; then
+    GST_PLUGINS_DIR="$_gst_plugin_path"
 else
-    GST_PLUGINS_DIR=`$PKG_CONFIG gstreamer-$GST_API_VERSION --variable pluginsdir`
+    GST_PLUGINS_DIR=`$PKG_CONFIG gstreamer-$GST_PKG_VERSION --variable pluginsdir`
     if test -z "$GST_PLUGINS_DIR"; then
-        GST_PLUGINS_DIR="\$(libdir)/gstreamer-$GST_API_VERSION"
+        GST_PLUGINS_DIR="\$(libdir)/gstreamer-$GST_PKG_VERSION"
     fi
 fi
 AC_MSG_RESULT([$GST_PLUGINS_DIR])
@@ -460,6 +555,23 @@ if test $HAVE_XRANDR -eq 1; then
         [Defined to 1 if the XRandR extension exists.])
 fi
 
+dnl Check for XRender
+HAVE_XRENDER=0
+if test $USE_X11 -eq 1; then
+    HAVE_XRENDER=1
+    PKG_CHECK_MODULES([XRENDER], [xrender], [:], [HAVE_XRENDER=0])
+    if test $HAVE_XRENDER -eq 1; then
+        saved_CPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$CPPFLAGS $XRENDER_CFLAGS"
+        AC_CHECK_HEADERS([X11/extensions/Xrender.h], [:], [HAVE_XRENDER=0])
+        CPPFLAGS="$saved_CPPFLAGS"
+    fi
+fi
+if test $HAVE_XRENDER -eq 1; then
+    AC_DEFINE_UNQUOTED([HAVE_XRENDER], [1],
+        [Defined to 1 if the XRender extension exists.])
+fi
+
 dnl OpenGL
 enable_opengl="no"
 if test "$enable_glx" = "yes"; then
@@ -566,6 +678,12 @@ if test $USE_GLX -eq 1; then
 fi
 AC_SUBST(LIBVA_GLX_PKGNAME)
 
+dnl Check for va_dec_jpeg.h header
+saved_CPPFLAGS="$CPPFLAGS"
+CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
+AC_CHECK_HEADERS([va/va_dec_jpeg.h], [], [], [#include <va/va.h>])
+CPPFLAGS="$saved_CPPFLAGS"
+
 dnl Check for JPEG decoding API (0.32.1+)
 USE_JPEG_DECODER=0
 AC_CACHE_CHECK([for JPEG decoding API],
@@ -576,7 +694,11 @@ AC_CACHE_CHECK([for JPEG decoding API],
     LIBS="$LIBS $LIBVA_LIBS"
     AC_COMPILE_IFELSE(
         [AC_LANG_PROGRAM(
-            [[#include <va/va.h>]],
+            [[#include <va/va.h>
+              #ifdef HAVE_VA_VA_DEC_JPEG_H
+              #include <va/va_dec_jpeg.h>
+              #endif
+            ]],
             [[VAPictureParameterBufferJPEGBaseline pic_param;
               VASliceParameterBufferJPEGBaseline slice_param;
               VAHuffmanTableBufferJPEGBaseline huffman_table;
@@ -588,6 +710,83 @@ 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],
+    ac_cv_have_vp8_decoding_api, [
+    saved_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
+    saved_LIBS="$LIBS"
+    LIBS="$LIBS $LIBVA_LIBS"
+    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;
+              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"]
+    )
+    CPPFLAGS="$saved_CPPFLAGS"
+    LIBS="$saved_LIBS"
+])
+
+
+dnl Check for vpp (video post-processing) support
+USE_VA_VPP=0
+AC_CACHE_CHECK([for video post-postprocessing API],
+    ac_cv_have_va_vpp_api, [
+    saved_CPPFLAGS="$CPPFLAGS"
+    CPPFLAGS="$CPPFLAGS $LIBVA_CFLAGS"
+    saved_LIBS="$LIBS"
+    LIBS="$LIBS $LIBVA_LIBS"
+    AC_COMPILE_IFELSE(
+        [AC_LANG_PROGRAM(
+            [[#include <va/va.h>
+              #include <va/va_vpp.h>]],
+            [[VADisplay va_dpy;
+              VAContextID vpp_ctx;
+              VAProcFilterType filters[VAProcFilterCount];
+              unsigned int num_filters = VAProcFilterCount;
+              vaQueryVideoProcFilters(va_dpy, vpp_ctx, filters, &num_filters);
+              ]])],
+        [ac_cv_have_va_vpp_api="yes" USE_VA_VPP=1],
+        [ac_cv_have_va_vpp_api="no"]
+    )
+    CPPFLAGS="$saved_CPPFLAGS"
+    LIBS="$saved_LIBS"
+])
+
+dnl Check for encoding support
+USE_ENCODERS=0
+if test "$enable_encoders" = "yes"; then
+    PKG_CHECK_MODULES([LIBVA], [libva >= va_api_enc_version],
+        [HAVE_VA_ENC=1], [HAVE_VA_ENC=0])
+
+    if test $HAVE_VA_ENC -eq 1; then
+        saved_CPPFLAGS="$CPPFLAGS"
+        CPPFLAGS="$LIBVA_CFLAGS"
+        AC_CHECK_HEADERS([va/va_enc_mpeg2.h va/va_enc_h264.h],
+            [USE_ENCODERS=1], [HAVE_VA_ENC=0 USE_ENCODERS=0],
+            [#include <va/va.h>
+            ])
+        CPPFLAGS="$saved_CPPFLAGS"
+    fi
+fi
+
 dnl VA/Wayland API
 if test "$enable_wayland" = "yes"; then
     PKG_CHECK_MODULES([LIBVA_WAYLAND], [libva-wayland >= va_api_wld_version],
@@ -606,10 +805,22 @@ case ":$USE_X11:$USE_GLX:$USE_WAYLAND:$USE_DRM:" in
     ;;
 esac
 
+AC_DEFINE_UNQUOTED([USE_ENCODERS], $USE_ENCODERS,
+    [Defined to 1 if video encoders are used])
+AM_CONDITIONAL([USE_ENCODERS], [test $USE_ENCODERS -eq 1])
+
+AC_DEFINE_UNQUOTED(USE_VA_VPP, $USE_VA_VPP,
+    [Defined to 1 if video post-processing is used])
+AM_CONDITIONAL(USE_VA_VPP, test $USE_VA_VPP -eq 1)
+
 AC_DEFINE_UNQUOTED(USE_JPEG_DECODER, $USE_JPEG_DECODER,
     [Defined to 1 if JPEG decoder is used])
 AM_CONDITIONAL(USE_JPEG_DECODER, test $USE_JPEG_DECODER -eq 1)
 
+AC_DEFINE_UNQUOTED(USE_VP8_DECODER, $USE_VP8_DECODER,
+    [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,
     [Defined to 1 if DRM is enabled])
 AM_CONDITIONAL(USE_DRM, test $USE_DRM -eq 1)
@@ -657,23 +868,27 @@ 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
     gst-libs/gst/codecparsers/Makefile
     gst-libs/gst/vaapi/Makefile
     gst-libs/gst/video/Makefile
     gst/Makefile
     gst/vaapi/Makefile
+    patches/Makefile
+    patches/videoparsers/Makefile
     pkgconfig/Makefile
-    pkgconfig/gstreamer-vaapi-$GST_API_VERSION.pc:\
+    pkgconfig/gstreamer-vaapi-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi.pc.in
-    pkgconfig/gstreamer-vaapi-drm-$GST_API_VERSION.pc:\
+    pkgconfig/gstreamer-vaapi-drm-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi-drm.pc.in
-    pkgconfig/gstreamer-vaapi-glx-$GST_API_VERSION.pc:\
+    pkgconfig/gstreamer-vaapi-glx-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi-glx.pc.in
-    pkgconfig/gstreamer-vaapi-wayland-$GST_API_VERSION.pc:\
+    pkgconfig/gstreamer-vaapi-wayland-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi-wayland.pc.in
-    pkgconfig/gstreamer-vaapi-x11-$GST_API_VERSION.pc:\
+    pkgconfig/gstreamer-vaapi-x11-$GST_PKG_VERSION.pc:\
 pkgconfig/gstreamer-vaapi-x11.pc.in
     tests/Makefile
 ])
@@ -695,5 +910,6 @@ echo $PACKAGE configuration summary:
 echo
 echo GStreamer API version ............ : $GST_API_VERSION
 echo VA-API version ................... : $VA_VERSION_STR
+echo Video encoding ................... : $(yesno $USE_ENCODERS)
 echo Video outputs .................... : $VIDEO_OUTPUTS
 echo