Commit 6ca190b4 authored by Gwenole Beauchesne's avatar Gwenole Beauchesne

vaapidownload: add new plugin to download pixels from VA surfaces.

parent 872694fd
......@@ -26,6 +26,9 @@ GStreamer and helper libraries.
* `vaapiupload' is used to convert from video/x-raw-yuv pixels to
video/x-vaapi-surface surfaces.
* `vaapidownload' is used to convert from video-x-vaapi-surface
surfaces to video/x-raw-yuv pixels.
* `vaapisink' is used to display video/x-vaapi-surface surfaces to
screen.
......
......@@ -12,6 +12,7 @@
<chapter>
<title>gst-plugins-vaapi Plugins</title>
<xi:include href="xml/gstvaapidecode.xml"/>
<xi:include href="xml/gstvaapidownload.xml"/>
<xi:include href="xml/gstvaapiupload.xml"/>
<xi:include href="xml/gstvaapisink.xml"/>
</chapter>
......
......@@ -39,3 +39,17 @@ GST_VAAPIUPLOAD_CLASS
GST_IS_VAAPIUPLOAD_CLASS
GST_VAAPIUPLOAD_GET_CLASS
</SECTION>
<SECTION>
<FILE>gstvaapidownload</FILE>
<TITLE>GstVaapiDownload</TITLE>
GstVaapiDownload
<SUBSECTION Standard>
GST_VAAPIDOWNLOAD
GST_IS_VAAPIDOWNLOAD
GST_TYPE_VAAPIDOWNLOAD
gst_vaapidownload_get_type
GST_VAAPIDOWNLOAD_CLASS
GST_IS_VAAPIDOWNLOAD_CLASS
GST_VAAPIDOWNLOAD_GET_CLASS
</SECTION>
gst_vaapisink_get_type
gst_vaapidecode_get_type
gst_vaapidownload_get_type
gst_vaapiupload_get_type
......@@ -18,6 +18,7 @@ endif
libgstvaapi_la_SOURCES = \
gstvaapi.c \
gstvaapidecode.c \
gstvaapidownload.c \
gstvaapipluginutil.c \
gstvaapisink.c \
gstvaapiupload.c \
......@@ -25,6 +26,7 @@ libgstvaapi_la_SOURCES = \
noinst_HEADERS = \
gstvaapidecode.h \
gstvaapidownload.h \
gstvaapipluginutil.h \
gstvaapisink.h \
gstvaapiupload.h \
......
......@@ -27,6 +27,7 @@
#include <gst/gst.h>
#include "gstvaapidownload.h"
#include "gstvaapiupload.h"
#include "gstvaapidecode.h"
#include "gstvaapisink.h"
......@@ -34,6 +35,9 @@
static gboolean
plugin_init (GstPlugin *plugin)
{
gst_element_register(plugin, "vaapidownload",
GST_RANK_SECONDARY,
GST_TYPE_VAAPIDOWNLOAD);
gst_element_register(plugin, "vaapiupload",
GST_RANK_PRIMARY,
GST_TYPE_VAAPIUPLOAD);
......
This diff is collapsed.
/*
* gstvaapidownload.h - VA-API video downloader
*
* gstreamer-vaapi (C) 2010-2011 Splitted-Desktop Systems
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public License
* as published by the Free Software Foundation; either version 2.1
* 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
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser 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_VAAPIDOWNLOAD_H
#define GST_VAAPIDOWNLOAD_H
#include <gst/base/gstbasetransform.h>
#include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapisurface.h>
#include <gst/vaapi/gstvaapiimagepool.h>
#include <gst/vaapi/gstvaapisurfacepool.h>
#include <gst/vaapi/gstvaapivideobuffer.h>
G_BEGIN_DECLS
#define GST_TYPE_VAAPIDOWNLOAD \
(gst_vaapidownload_get_type())
#define GST_VAAPIDOWNLOAD(obj) \
(G_TYPE_CHECK_INSTANCE_CAST((obj), \
GST_TYPE_VAAPIDOWNLOAD, \
GstVaapiDownload))
#define GST_VAAPIDOWNLOAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_CAST((klass), \
GST_TYPE_VAAPIDOWNLOAD, \
GstVaapiDownloadClass))
#define GST_IS_VAAPIDOWNLOAD(obj) \
(G_TYPE_CHECK_INSTANCE_TYPE((obj), GST_TYPE_VAAPIDOWNLOAD))
#define GST_IS_VAAPIDOWNLOAD_CLASS(klass) \
(G_TYPE_CHECK_CLASS_TYPE((klass), GST_TYPE_VAAPIDOWNLOAD))
#define GST_VAAPIDOWNLOAD_GET_CLASS(obj) \
(G_TYPE_INSTANCE_GET_CLASS((obj), \
GST_TYPE_VAAPIDOWNLOAD, \
GstVaapiDownloadClass))
typedef struct _GstVaapiDownload GstVaapiDownload;
typedef struct _GstVaapiDownloadClass GstVaapiDownloadClass;
GType
gst_vaapidownload_get_type(void);
G_END_DECLS
#endif /* GST_VAAPIDOWNLOAD_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