Commit 074be88b authored by Vikram Fugro's avatar Vikram Fugro Committed by Elvis Presley

Add a GStreamer-based decoder module

GStreamer is a cross-platform multimedia processing
framework for audio/video postprocess/capture/
encode/decode/render.

This module is intended for Audio/Video decoding using
the available GStreamer plugins present in the system.
Currently this module supports only video decoding
and can be extended to audio decoding as well.
ZeroCopy is currently not supported and must be added.

Codecs currently supported are h264, mpeg4, vp8, mpeg2,
flashvideo, wmv1/2/3, vc1.
Signed-off-by: default avatarVikram Fugro <vikram.fugro@gmail.com>
Signed-off-by: default avatarJean-Baptiste <jb@videolan.org>
parent 0df71f11
...@@ -27,6 +27,7 @@ Decoder: ...@@ -27,6 +27,7 @@ Decoder:
* New jpeg image decoder * New jpeg image decoder
* Add tx3g subtitles decoder * Add tx3g subtitles decoder
* Add Media Foundation Transform decoder * Add Media Foundation Transform decoder
* Add decoder module based on GStreamer. Currently supports only video decode.
Encoder: Encoder:
* Support for MPEG-2 encoding using x262 * Support for MPEG-2 encoding using x262
......
...@@ -2255,6 +2255,26 @@ PKG_CHECK_EXISTS([libavutil], [ ...@@ -2255,6 +2255,26 @@ PKG_CHECK_EXISTS([libavutil], [
]) ])
AC_MSG_RESULT([${avfork}]) AC_MSG_RESULT([${avfork}])
dnl
dnl gstreamer stuff
dnl
AC_ARG_ENABLE(gst-decode,
[ --enable-gst-decode GStreamer based decoding support (currently supports only video decoding) (default auto)])
have_gst_decode="no"
AS_IF([test "${enable_gst_decode}" != "no"], [
PKG_CHECK_MODULES([GST_APP], [gstreamer-app-1.0], [
PKG_CHECK_MODULES([GST_VIDEO], [gstreamer-video-1.0], [
have_gst_decode="yes"
], [
AC_MSG_WARN([${GST_VIDEO_PKG_ERRORS}. GStreamer decoder module will not be built.])
])
], [
AC_MSG_WARN([${GST_APP_PKG_ERRORS}. GStreamer modules will not be built.])
])
])
AM_CONDITIONAL([HAVE_GST_DECODE], [test "${have_gst_decode}" = "yes"])
dnl dnl
dnl avcodec decoder/encoder plugin dnl avcodec decoder/encoder plugin
dnl dnl
......
...@@ -151,6 +151,7 @@ $Id$ ...@@ -151,6 +151,7 @@ $Id$
* grain: Grain Video filter * grain: Grain Video filter
* grey_yuv: grayscale to others conversion module * grey_yuv: grayscale to others conversion module
* growl: announce currently playing stream to growl * growl: announce currently playing stream to growl
* gstdecode: GStreamer based decoder module.
* h264: H264 decoder * h264: H264 decoder
* headphone_channel_mixer: headphone channel mixer with virtual spatialization effect * headphone_channel_mixer: headphone channel mixer with virtual spatialization effect
* hevc: HEVC demuxer * hevc: HEVC demuxer
......
...@@ -470,3 +470,10 @@ libquicktime_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' ...@@ -470,3 +470,10 @@ libquicktime_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)'
libquicktime_plugin_la_LIBADD = $(LIBM) libquicktime_plugin_la_LIBADD = $(LIBM)
EXTRA_LTLIBRARIES += libquicktime_plugin.la EXTRA_LTLIBRARIES += libquicktime_plugin.la
codec_LTLIBRARIES += $(LTLIBquicktime) codec_LTLIBRARIES += $(LTLIBquicktime)
libgstdecode_plugin_la_SOURCES = codec/gstdecode.c
libgstdecode_plugin_la_CFLAGS = $(AM_CFLAGS) $(GST_VIDEO_CFLAGS) $(GST_APP_CFLAGS)
libgstdecode_plugin_la_LIBADD = $(GST_VIDEO_LIBS) $(GST_APP_LIBS)
if HAVE_GST_DECODE
codec_LTLIBRARIES += libgstdecode_plugin.la
endif
This diff is collapsed.
...@@ -372,6 +372,7 @@ modules/codec/fdkaac.c ...@@ -372,6 +372,7 @@ modules/codec/fdkaac.c
modules/codec/flac.c modules/codec/flac.c
modules/codec/fluidsynth.c modules/codec/fluidsynth.c
modules/codec/g711.c modules/codec/g711.c
modules/codec/gstdecode.c
modules/codec/jpeg.c modules/codec/jpeg.c
modules/codec/kate.c modules/codec/kate.c
modules/codec/libass.c modules/codec/libass.c
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment