docs: update plugin documentation

Update all the documentation of elements of the vaapi plugin.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
This commit is contained in:
Víctor Manuel Jáquez Leal 2016-01-29 20:41:27 +01:00
parent d675816ed0
commit 9b8fb25b8c
11 changed files with 279 additions and 13 deletions

View file

@ -9,11 +9,22 @@
<title>GStreamer VA-API Plugins @GST_API_VERSION@ Plugins Reference Manual</title> <title>GStreamer VA-API Plugins @GST_API_VERSION@ Plugins Reference Manual</title>
</bookinfo> </bookinfo>
<chapter>
<title>gstreamer-vaapi Elements</title>
<xi:include href="xml/element-vaapidecode.xml"/>
<xi:include href="xml/element-vaapidecodebin.xml"/>
<xi:include href="xml/element-vaapipostproc.xml"/>
<xi:include href="xml/element-vaapisink.xml"/>
<xi:include href="xml/element-vaapiencode_h264.xml"/>
<xi:include href="xml/element-vaapiencode_h265.xml"/>
<xi:include href="xml/element-vaapiencode_jpeg.xml"/>
<xi:include href="xml/element-vaapiencode_mpeg2.xml"/>
<xi:include href="xml/element-vaapiencode_vp8.xml"/>
</chapter>
<chapter> <chapter>
<title>gstreamer-vaapi Plugins</title> <title>gstreamer-vaapi Plugins</title>
<xi:include href="xml/gstvaapidecode.xml"/> <xi:include href="xml/plugin-vaapi.xml"/>
<xi:include href="xml/gstvaapipostproc.xml"/>
<xi:include href="xml/gstvaapisink.xml"/>
</chapter> </chapter>
<chapter id="object-tree"> <chapter id="object-tree">

View file

@ -0,0 +1,135 @@
<SECTION>
<FILE>element-vaapidecode</FILE>
<TITLE>vaapidecode</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIDECODE
GST_IS_VAAPIDECODE_CLASS
GST_TYPE_VAAPIDECODE
GST_VAAPIDECODE
GST_VAAPIDECODE_CLASS
GST_VAAPIDECODE_GET_CLASS
GstVaapiDecode
GstVaapiDecodeClass
gst_vaapidecode_get_type
</SECTION>
<SECTION>
<FILE>element-vaapidecodebin</FILE>
<TITLE>vaapidecodebin</TITLE>
<SUBSECTION Standard>
GST_IS_AUTO_DETECT
GST_IS_AUTO_DETECT_CLASS
GST_TYPE_VAAPI_DECODE_BIN
GST_VAAPI_DECODE_BIN
GST_VAAPI_DECODE_BIN_CLASS
GST_VAAPI_DECODE_BIN_GET_CLASS
GstVaapiDecodeBin
GstVaapiDecodeBinClass
gst_vaapi_decode_bin_get_type
</SECTION>
<SECTION>
<FILE>element-vaapipostproc</FILE>
<TITLE>vaapipostproc</TITLE>
GstVaapiDeinterlaceMode
<SUBSECTION Standard>
GST_IS_VAAPIPOSTPROC
GST_IS_VAAPIPOSTPROC_CLASS
GST_TYPE_VAAPIPOSTPROC
GST_VAAPIPOSTPROC
GST_VAAPIPOSTPROC_CLASS
GST_VAAPIPOSTPROC_GET_CLASS
GstVaapiPostproc
GstVaapiPostprocClass
gst_vaapipostproc_get_type
</SECTION>
<SECTION>
<FILE>element-vaapisink</FILE>
<TITLE>vaapisink</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPISINK
GST_IS_VAAPISINK_CLASS
GST_TYPE_VAAPISINK
GST_VAAPISINK
GST_VAAPISINK_CLASS
GST_VAAPISINK_GET_CLASS
GstVaapiSink
GstVaapiSinkClass
gst_vaapisink_get_type
</SECTION>
<SECTION>
<FILE>element-vaapiencode_h264</FILE>
<TITLE>vaapiencode_h264</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIENCODE_H264
GST_IS_VAAPIENCODE_H264_CLASS
GST_TYPE_VAAPIENCODE_H264
GST_VAAPIENCODE_H264
GST_VAAPIENCODE_H264_CLASS
GST_VAAPIENCODE_H264_GET_CLASS
GstVaapiEncodeH264
GstVaapiEncodeH264Class
gst_vaapiencode_h264_get_type
</SECTION>
<SECTION>
<FILE>element-vaapiencode_h265</FILE>
<TITLE>vaapiencode_h265</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIENCODE_H265
GST_IS_VAAPIENCODE_H265_CLASS
GST_TYPE_VAAPIENCODE_H265
GST_VAAPIENCODE_H265
GST_VAAPIENCODE_H265_CLASS
GST_VAAPIENCODE_H265_GET_CLASS
GstVaapiEncodeH265
GstVaapiEncodeH265Class
gst_vaapiencode_h265_get_type
</SECTION>
<SECTION>
<FILE>element-vaapiencode_jpeg</FILE>
<TITLE>vaapiencode_jpeg</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIENCODE_JPEG
GST_IS_VAAPIENCODE_JPEG_CLASS
GST_TYPE_VAAPIENCODE_JPEG
GST_VAAPIENCODE_JPEG
GST_VAAPIENCODE_JPEG_CLASS
GST_VAAPIENCODE_JPEG_GET_CLASS
GstVaapiEncodeJpeg
GstVaapiEncodeJpegClass
gst_vaapiencode_jpeg_get_type
</SECTION>
<SECTION>
<FILE>element-vaapiencode_mpeg2</FILE>
<TITLE>vaapiencode_mpeg2</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIENCODE_MPEG2
GST_IS_VAAPIENCODE_MPEG2_CLASS
GST_TYPE_VAAPIENCODE_MPEG2
GST_VAAPIENCODE_MPEG2
GST_VAAPIENCODE_MPEG2_CLASS
GST_VAAPIENCODE_MPEG2_GET_CLASS
GstVaapiEncodeMpeg2
GstVaapiEncodeMpeg2Class
gst_vaapiencode_mpeg2_get_type
</SECTION>
<SECTION>
<FILE>element-vaapiencode_vp8</FILE>
<TITLE>vaapiencode_vp8</TITLE>
<SUBSECTION Standard>
GST_IS_VAAPIENCODE_VP8
GST_IS_VAAPIENCODE_VP8_CLASS
GST_TYPE_VAAPIENCODE_VP8
GST_VAAPIENCODE_VP8
GST_VAAPIENCODE_VP8_CLASS
GST_VAAPIENCODE_VP8_GET_CLASS
GstVaapiEncodeVP8
GstVaapiEncodeVP8Class
gst_vaapiencode_vp8_get_type
</SECTION>

View file

@ -23,11 +23,28 @@
*/ */
/** /**
* SECTION:gstvaapidecode * SECTION:element-vaapidecode
* @short_description: A VA-API based video decoder * @short_description: A VA-API based video decoder
* *
* vaapidecode decodes from raw bitstreams to surfaces suitable for * vaapidecode decodes from raw bitstreams to surfaces suitable for
* the vaapisink element. * the vaapisink or vaapipostproc elements using the installed <ulink
* url="https://wiki.freedesktop.org/www/Software/vaapi/">VA-API</ulink>
* back-end.
*
* In the case of OpenGL based elements, the buffers have the
* #GstVideoGLTextureUploadMeta meta, which efficiently copies the
* content of the VA-API surface into a GL texture.
*
* Also it can deliver normal video buffers that can be rendered or
* processed by other elements, but the performance would be rather
* bad.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 filesrc location=~/big_buck_bunny.mov ! qtdemux ! h264parse ! vaapidecode ! vaapisink
* ]|
* </refsect2>
*/ */
#include "gstcompat.h" #include "gstcompat.h"

View file

@ -21,6 +21,26 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapidecodebin
* @short_description: A VA-API based video decoder with a
* post-processor
*
* vaapidecodebin is similar #GstVaapiDecode, but it is composed by
* the vaapidecode, a #GstQueue, and the #GstVaapiPostproc, if it is
* available and functional in the setup.
*
* It offers the functionality of #GstVaapiDecode and the many options
* of #GstVaapiPostproc.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 filesrc location=~/big_buck_bunny.mov ! qtdemux ! h264parse ! vaapidecodebin ! vaapisink
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -32,7 +52,7 @@
#include "gstvaapipluginbase.h" #include "gstvaapipluginbase.h"
#define GST_PLUGIN_NAME "vaapidecodebin" #define GST_PLUGIN_NAME "vaapidecodebin"
#define GST_PLUGIN_DESC "A Bin of VA-API elements: vaapidecode ! queue ! vaapipostproc" #define GST_PLUGIN_DESC "A VA-API based bin with a decoder and a postprocessor"
GST_DEBUG_CATEGORY_STATIC (gst_debug_vaapi_decode_bin); GST_DEBUG_CATEGORY_STATIC (gst_debug_vaapi_decode_bin);
#define GST_CAT_DEFAULT gst_debug_vaapi_decode_bin #define GST_CAT_DEFAULT gst_debug_vaapi_decode_bin

View file

@ -21,6 +21,20 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapiencode_h264
* @short_description: A VA-API based H.264 video encoder
*
* Encodes raw video streams into H.264 bitstreams.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapiencode_h264 ! mp4mux ! filesink location=test.mp4
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiencoder_h264.h> #include <gst/vaapi/gstvaapiencoder_h264.h>

View file

@ -20,6 +20,20 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapiencode_h265
* @short_description: A VA-API based HEVC video encoder
*
* Encodes raw video streams into HEVC bitstreams.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapiencode_h265 ! matroskamux ! filesink location=test.mkv
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiencoder_h265.h> #include <gst/vaapi/gstvaapiencoder_h265.h>

View file

@ -20,6 +20,20 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapiencode_jpeg
* @short_description: A VA-API based JPEG image encoder
*
* Encodes raw images into JPEG images.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 -ev videotestsrc num-buffers=1 ! timeoverlay ! vaapiencode_jpeg ! filesink location=test.jpg
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiencoder_jpeg.h> #include <gst/vaapi/gstvaapiencoder_jpeg.h>

View file

@ -21,6 +21,20 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapiencode_mpeg2
* @short_description: A VA-API based MPEG2 video encoder
*
* Encodes raw video streams into MPEG2 bitstreams.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapiencode_mpeg2 ! matroskamux ! filesink location=test.mkv
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiencoder_mpeg2.h> #include <gst/vaapi/gstvaapiencoder_mpeg2.h>

View file

@ -20,6 +20,20 @@
* Boston, MA 02110-1301 USA * Boston, MA 02110-1301 USA
*/ */
/**
* SECTION:element-vaapiencode_vp8
* @short_description: A VA-API based VP8 video encoder
*
* Encodes raw video streams into VP8 bitstreams.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 -ev videotestsrc num-buffers=60 ! timeoverlay ! vaapiencode_vp8 ! matroskamux ! filesink location=test.mkv
* ]|
* </refsect2>
*/
#include "gstcompat.h" #include "gstcompat.h"
#include <gst/vaapi/gstvaapidisplay.h> #include <gst/vaapi/gstvaapidisplay.h>
#include <gst/vaapi/gstvaapiencoder_vp8.h> #include <gst/vaapi/gstvaapiencoder_vp8.h>

View file

@ -21,12 +21,18 @@
*/ */
/** /**
* SECTION:gstvaapipostproc * SECTION:element-vaapipostproc
* @short_description: A video postprocessing filter * @short_description: A VA-API base video postprocessing filter
* *
* vaapipostproc consists in various postprocessing algorithms to be * vaapipostproc consists in various postprocessing algorithms to be
* applied to VA surfaces. So far, only basic bob deinterlacing is * applied to VA surfaces.
* implemented. *
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 videotestsrc ! vaapipostproc ! video/x-raw width=1920, height=1080 ! vaapisink
* ]|
* </refsect2>
*/ */
#include "gstcompat.h" #include "gstcompat.h"
@ -39,7 +45,7 @@
#include "gstvaapivideomemory.h" #include "gstvaapivideomemory.h"
#define GST_PLUGIN_NAME "vaapipostproc" #define GST_PLUGIN_NAME "vaapipostproc"
#define GST_PLUGIN_DESC "A video postprocessing filter" #define GST_PLUGIN_DESC "A VA-API video postprocessing filter"
GST_DEBUG_CATEGORY_STATIC (gst_debug_vaapipostproc); GST_DEBUG_CATEGORY_STATIC (gst_debug_vaapipostproc);
#define GST_CAT_DEFAULT gst_debug_vaapipostproc #define GST_CAT_DEFAULT gst_debug_vaapipostproc

View file

@ -23,12 +23,19 @@
*/ */
/** /**
* SECTION:gstvaapisink * SECTION:element-vaapisink
* @short_description: A VA-API based videosink * @short_description: A VA-API based video sink
* *
* vaapisink renders video frames to a drawable (X #Window) on a local * vaapisink renders video frames to a drawable (X #Window) on a local
* display using the Video Acceleration (VA) API. The element will * display using the Video Acceleration (VA) API. The element will
* create its own internal window and render into it. * create its own internal window and render into it.
*
* <refsect2>
* <title>Example launch line</title>
* |[
* gst-launch-1.0 videotestsrc ! vaapisink
* ]|
* </refsect2>
*/ */
#include "gstcompat.h" #include "gstcompat.h"