mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-21 15:56:42 +00:00
vp8: Only enable the encoder or decoder if it's available in libvpx
Fixes bug #619172.
This commit is contained in:
parent
e428c10605
commit
d3c9d84fdf
4 changed files with 22 additions and 12 deletions
20
configure.ac
20
configure.ac
|
@ -1481,12 +1481,24 @@ AG_GST_CHECK_FEATURE(ZBAR, [ZBar barcode detector], zbar, [
|
||||||
dnl *** vp8 ***
|
dnl *** vp8 ***
|
||||||
translit(dnm, m, l) AM_CONDITIONAL(USE_VP8, vp8)
|
translit(dnm, m, l) AM_CONDITIONAL(USE_VP8, vp8)
|
||||||
AG_GST_CHECK_FEATURE(VP8, [VP8 decoder], vp8, [
|
AG_GST_CHECK_FEATURE(VP8, [VP8 decoder], vp8, [
|
||||||
|
VPX_LIBS=""
|
||||||
AG_GST_CHECK_LIBHEADER(VPX, vpx,
|
AG_GST_CHECK_LIBHEADER(VPX, vpx,
|
||||||
vpx_codec_version, ,
|
vpx_codec_version, ,
|
||||||
vpx/vpx_codec.h,
|
vpx/vpx_codec.h, [
|
||||||
HAVE_VP8=yes
|
HAVE_VP8_ENCODER=no
|
||||||
VPX_LIBS="-lvpx"
|
HAVE_VP8_DECODER=no
|
||||||
AC_SUBST(VPX_LIBS))
|
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
|
else
|
||||||
|
|
|
@ -44,7 +44,7 @@
|
||||||
|
|
||||||
#include "gstvp8utils.h"
|
#include "gstvp8utils.h"
|
||||||
|
|
||||||
#if CONFIG_VP8_DECODER
|
#ifdef HAVE_VP8_DECODER
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (gst_vp8dec_debug);
|
GST_DEBUG_CATEGORY_STATIC (gst_vp8dec_debug);
|
||||||
#define GST_CAT_DEFAULT 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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_VP8_DECODER */
|
#endif /* HAVE_VP8_DECODER */
|
||||||
|
|
|
@ -45,7 +45,7 @@
|
||||||
|
|
||||||
#include "gstvp8utils.h"
|
#include "gstvp8utils.h"
|
||||||
|
|
||||||
#if CONFIG_VP8_ENCODER
|
#ifdef HAVE_VP8_ENCODER
|
||||||
|
|
||||||
GST_DEBUG_CATEGORY_STATIC (gst_vp8enc_debug);
|
GST_DEBUG_CATEGORY_STATIC (gst_vp8enc_debug);
|
||||||
#define GST_CAT_DEFAULT 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;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_VP8_ENCODER */
|
#endif /* HAVE_VP8_ENCODER */
|
||||||
|
|
|
@ -25,20 +25,18 @@
|
||||||
|
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>
|
||||||
|
|
||||||
#include <vpx/vpx_config.h>
|
|
||||||
|
|
||||||
GType gst_vp8_dec_get_type (void);
|
GType gst_vp8_dec_get_type (void);
|
||||||
GType gst_vp8_enc_get_type (void);
|
GType gst_vp8_enc_get_type (void);
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
plugin_init (GstPlugin * plugin)
|
plugin_init (GstPlugin * plugin)
|
||||||
{
|
{
|
||||||
#if CONFIG_VP8_DECODER
|
#ifdef HAVE_VP8_DECODER
|
||||||
gst_element_register (plugin, "vp8dec", GST_RANK_PRIMARY,
|
gst_element_register (plugin, "vp8dec", GST_RANK_PRIMARY,
|
||||||
gst_vp8_dec_get_type ());
|
gst_vp8_dec_get_type ());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if CONFIG_VP8_ENCODER
|
#ifdef HAVE_VP8_DECODER
|
||||||
gst_element_register (plugin, "vp8enc", GST_RANK_PRIMARY,
|
gst_element_register (plugin, "vp8enc", GST_RANK_PRIMARY,
|
||||||
gst_vp8_enc_get_type ());
|
gst_vp8_enc_get_type ());
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in a new issue