Commit 3f3055af authored by gb's avatar gb Committed by Gwenole Beauchesne

Add FFmpeg/VAAPI decoder for the new `vaapidecode' element.

parent 5d1eb8ce
gst-vaapi NEWS -- summary of changes. 2010-03-30
gst-vaapi NEWS -- summary of changes. 2010-04-DD
Copyright (C) 2010 Splitted-Desktop Systems
Version 0.2.0 - DD.Apr.2010
* Add FFmpeg/VAAPI decoder for the new `vaapidecode' element
Version 0.1.2 - 30.Mar.2010
* Add AYUV image format
* Add compatibility with the original VA-API 0.29
......
......@@ -321,6 +321,7 @@ pkgconfig/gstreamer-vaapi-glx.pc.in
pkgconfig/gstreamer-vaapi-x11.pc.in
gst/Makefile
gst/vaapiconvert/Makefile
gst/vaapidecode/Makefile
gst/vaapisink/Makefile
tests/Makefile
])
......
SUBDIRS = vaapiconvert vaapisink
SUBDIRS = vaapiconvert vaapidecode vaapisink
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in
plugin_LTLIBRARIES = libgstvaapidecode.la
libgstvaapi_CFLAGS = \
-I$(top_srcdir)/gst-libs
libgstvaapi_LIBS = \
$(top_builddir)/gst-libs/gst/vaapi/libgstvaapi-$(GST_MAJORMINOR).la
libgstvaapidecode_la_SOURCES = \
gstvaapidecode.c \
$(NULL)
noinst_HEADERS = \
gstvaapidecode.h \
$(NULL)
libgstvaapidecode_la_CFLAGS = \
$(libgstvaapi_CFLAGS) \
$(GST_CFLAGS) \
$(GST_BASE_CFLAGS) \
$(GST_VIDEO_CFLAGS) \
$(GST_PLUGINS_BASE_CFLAGS)
libgstvaapidecode_la_LIBADD = \
$(libgstvaapi_LIBS) \
$(GST_LIBS) \
$(GST_BASE_LIBS) \
$(GST_VIDEO_LIBS) \
$(GST_PLUGINS_BASE_LIBS)
libgstvaapidecode_la_LIBTOOLFLAGS = --tag=disable-static
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = Makefile.in
This diff is collapsed.
/*
* gstvaapidecode.h - VA-API video decoder
*
* gstreamer-vaapi (C) 2010 Splitted-Desktop Systems
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
*/
#ifndef GST_VAAPIDECODE_H
#define GST_VAAPIDECODE_H
#include <gst/gst.h>
#include <gst/gsttask.h>
#include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapidecoder.h>
G_BEGIN_DECLS
#define GST_TYPE_VAAPIDECODE \
(gst_vaapidecode_get_type())
#define GST_VAAPIDECODE(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \
GST_TYPE_VAAPIDECODE, \
GstVaapiDecode))
#define GST_VAAPIDECODE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \
GST_TYPE_VAAPIDECODE, \
GstVaapiDecodeClass))
#define GST_IS_VAAPIDECODE(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_VAAPIDECODE))
#define GST_IS_VAAPIDECODE_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_VAAPIDECODE))
#define GST_VAAPIDECODE_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), \
GST_TYPE_VAAPIDECODE, \
GstVaapiDecodeClass))
typedef struct _GstVaapiDecode GstVaapiDecode;
typedef struct _GstVaapiDecodeClass GstVaapiDecodeClass;
struct _GstVaapiDecode {
/*< private >*/
GstElement parent_instance;
GstPad *sinkpad;
GstPad *srcpad;
GstVaapiDisplay *display;
GstVaapiProfile profile;
GstBuffer *codec_data;
GstVaapiDecoder *decoder;
GstTask *decoder_task;
GStaticRecMutex decoder_task_lock;
unsigned int use_ffmpeg : 1;
};
struct _GstVaapiDecodeClass {
/*< private >*/
GstElementClass parent_class;
};
GType
gst_vaapidecode_get_type(void);
G_END_DECLS
#endif /* GST_VAAPIDECODE_H */
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