X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=configure.ac;h=e383de44deec7bb43023235707dda5affcb78f33;hb=6d6caf17c965295419d7d9e21645760e05a43c1c;hp=d0bcb46a1ef6e706742224bc18e27c189c341529;hpb=98fa9e7d5912d91cad541e31abf1074740b99e34;p=platform%2Fupstream%2Fgstreamer-vaapi.git diff --git a/configure.ac b/configure.ac index d0bcb46..e383de4 100644 --- a/configure.ac +++ b/configure.ac @@ -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], [8]) +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,10 +10,11 @@ m4_append([gst_vaapi_version], gst_vaapi_pre_version, [.pre]) ]) # gstreamer-vaapi library (libtool) version number -m4_define([gst_vaapi_lt_current], [4]) +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]) @@ -31,6 +32,9 @@ 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]) @@ -91,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@:>@]), @@ -200,6 +220,11 @@ case $GST_API_VERSION in 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]) ;; @@ -269,9 +294,9 @@ PKG_CHECK_MODULES([GST_VIDEO], 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 ]], @@ -315,32 +340,6 @@ 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 ]], - [[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 (deprecated in GStreamer v1.2) if test "$USE_GST_API_1_2p" != "yes"; then PKG_CHECK_MODULES([GST_BASEVIDEO], @@ -352,6 +351,7 @@ 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" + ac_cv_have_gst_vp8_parser="no" else PKG_CHECK_MODULES([GST_CODEC_PARSERS], [gstreamer-codecparsers-$GST_PKG_VERSION >= $GST_PLUGINS_BAD_VERSION_REQUIRED]) @@ -430,10 +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 ]], + [[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) @@ -463,10 +492,9 @@ dnl Check for the GStreamer plugins directory 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]) -case $GST_API_VERSION in +case $GST_PKG_VERSION in 0.10) _gst_plugin_path="$GST_PLUGIN_PATH";; 1.0) _gst_plugin_path="$GST_PLUGIN_PATH_1_0";; -1.2) _gst_plugin_path="$GST_PLUGIN_PATH_1_0";; esac if test -d "$_gst_plugin_path"; then GST_PLUGINS_DIR="$_gst_plugin_path" @@ -682,6 +710,41 @@ 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 ]) +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 + #ifdef HAVE_VA_VA_DEC_VP8_H + #include + #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], @@ -722,11 +785,6 @@ if test "$enable_encoders" = "yes"; then ]) CPPFLAGS="$saved_CPPFLAGS" fi - - if test "$USE_GST_API_1_0p" != "yes"; then - AC_MSG_WARN([GStreamer API < 1.0, disabling encoders]) - USE_ENCODERS=0 - fi fi dnl VA/Wayland API @@ -759,6 +817,10 @@ 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) @@ -806,6 +868,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 @@ -814,16 +877,18 @@ 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_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 ])