diff --git a/configure.ac b/configure.ac index d03c40d74b..92d8c735f8 100644 --- a/configure.ac +++ b/configure.ac @@ -1481,12 +1481,24 @@ AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [ dnl *** vp8 *** translit(dnm, m, l) AM_CONDITIONAL(USE_VP8, vp8) AG_GST_CHECK_FEATURE(VP8, [VP8 decoder], vp8, [ + VPX_LIBS="" AG_GST_CHECK_LIBHEADER(VPX, vpx, vpx_codec_version, , - vpx/vpx_codec.h, - HAVE_VP8=yes - VPX_LIBS="-lvpx" - AC_SUBST(VPX_LIBS)) + vpx/vpx_codec.h, [ + HAVE_VP8_ENCODER=no + HAVE_VP8_DECODER=no + AC_CHECK_LIB(vpx, vpx_codec_vp8_cx_algo, [ + HAVE_VP8=yes + AC_DEFINE(HAVE_VP8_ENCODER, 1, [Defined if the VP8 encoder is available]) + VPX_LIBS="-lvpx" + ]) + AC_CHECK_LIB(vpx, vpx_codec_vp8_dx_algo, [ + HAVE_VP8=yes + AC_DEFINE(HAVE_VP8_DECODER, 1, [Defined if the VP8 decoder is available]) + VPX_LIBS="-lvpx" + ]) + ]) + AC_SUBST(VPX_LIBS) ]) else diff --git a/ext/vp8/gstvp8dec.c b/ext/vp8/gstvp8dec.c index f54bcb418b..1e059c8356 100644 --- a/ext/vp8/gstvp8dec.c +++ b/ext/vp8/gstvp8dec.c @@ -44,7 +44,7 @@ #include "gstvp8utils.h" -#if CONFIG_VP8_DECODER +#ifdef HAVE_VP8_DECODER GST_DEBUG_CATEGORY_STATIC (gst_vp8dec_debug); #define GST_CAT_DEFAULT gst_vp8dec_debug @@ -532,4 +532,4 @@ gst_vp8_dec_handle_frame (GstBaseVideoDecoder * decoder, GstVideoFrame * frame) return ret; } -#endif /* CONFIG_VP8_DECODER */ +#endif /* HAVE_VP8_DECODER */ diff --git a/ext/vp8/gstvp8enc.c b/ext/vp8/gstvp8enc.c index 04609789c1..0d6224badf 100644 --- a/ext/vp8/gstvp8enc.c +++ b/ext/vp8/gstvp8enc.c @@ -45,7 +45,7 @@ #include "gstvp8utils.h" -#if CONFIG_VP8_ENCODER +#ifdef HAVE_VP8_ENCODER GST_DEBUG_CATEGORY_STATIC (gst_vp8enc_debug); #define GST_CAT_DEFAULT gst_vp8enc_debug @@ -844,4 +844,4 @@ gst_vp8_enc_sink_event (GstPad * pad, GstEvent * event) return ret; } -#endif /* CONFIG_VP8_ENCODER */ +#endif /* HAVE_VP8_ENCODER */ diff --git a/ext/vp8/plugin.c b/ext/vp8/plugin.c index 471c31093d..4f4f194f95 100644 --- a/ext/vp8/plugin.c +++ b/ext/vp8/plugin.c @@ -25,20 +25,18 @@ #include -#include - GType gst_vp8_dec_get_type (void); GType gst_vp8_enc_get_type (void); static gboolean plugin_init (GstPlugin * plugin) { -#if CONFIG_VP8_DECODER +#ifdef HAVE_VP8_DECODER gst_element_register (plugin, "vp8dec", GST_RANK_PRIMARY, gst_vp8_dec_get_type ()); #endif -#if CONFIG_VP8_ENCODER +#ifdef HAVE_VP8_DECODER gst_element_register (plugin, "vp8enc", GST_RANK_PRIMARY, gst_vp8_enc_get_type ()); #endif