mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
docs: replace vaapidecode with each codec
In the spirit of the codec split, this patch removes the documentation of vaapidecode and adds a page per each possible decoder. Nonetheless, only those available in the compilation system are going to be instrospected, because the rest are not registered.
This commit is contained in:
parent
0b46da2a8f
commit
74a9f76d32
6 changed files with 346 additions and 60 deletions
|
@ -11,8 +11,15 @@
|
|||
|
||||
<chapter>
|
||||
<title>gstreamer-vaapi Elements</title>
|
||||
<xi:include href="xml/element-vaapidecode.xml"/>
|
||||
<xi:include href="xml/element-vaapijpegdec.xml"/>
|
||||
<xi:include href="xml/element-vaapimpeg2dec.xml"/>
|
||||
<xi:include href="xml/element-vaapimpeg4dec.xml"/>
|
||||
<xi:include href="xml/element-vaapih263dec.xml"/>
|
||||
<xi:include href="xml/element-vaapih264dec.xml"/>
|
||||
<xi:include href="xml/element-vaapih265dec.xml"/>
|
||||
<xi:include href="xml/element-vaapivc1dec.xml"/>
|
||||
<xi:include href="xml/element-vaapivp8dec.xml"/>
|
||||
<xi:include href="xml/element-vaapivp9dec.xml"/>
|
||||
<xi:include href="xml/element-vaapidecodebin.xml"/>
|
||||
<xi:include href="xml/element-vaapipostproc.xml"/>
|
||||
<xi:include href="xml/element-vaapisink.xml"/>
|
||||
|
@ -21,6 +28,7 @@
|
|||
<xi:include href="xml/element-vaapijpegenc.xml"/>
|
||||
<xi:include href="xml/element-vaapimpeg2enc.xml"/>
|
||||
<xi:include href="xml/element-vaapivp8enc.xml"/>
|
||||
<xi:include href="xml/element-vaapivp9enc.xml"/>
|
||||
</chapter>
|
||||
|
||||
<chapter>
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
<SECTION>
|
||||
<FILE>element-vaapidecode</FILE>
|
||||
<TITLE>vaapidecode</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode
|
||||
GstVaapiDecodeClass
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapijpegdec</FILE>
|
||||
|
@ -14,6 +8,70 @@ GstVaapiDecode_jpeg
|
|||
GstVaapiDecode_jpegClass
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapimpeg2dec</FILE>
|
||||
<TITLE>vaapimpeg2dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_mpeg2
|
||||
GstVaapiDecode_mpeg2Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapimpeg4dec</FILE>
|
||||
<TITLE>vaapimpeg4dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_mpeg4
|
||||
GstVaapiDecode_mpeg4Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapih263dec</FILE>
|
||||
<TITLE>vaapih263dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_h263
|
||||
GstVaapiDecode_h263Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapih264dec</FILE>
|
||||
<TITLE>vaapih264dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_h264
|
||||
GstVaapiDecode_h264Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapih265dec</FILE>
|
||||
<TITLE>vaapih265dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_h265
|
||||
GstVaapiDecode_h265Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapivc1dec</FILE>
|
||||
<TITLE>vaapivc1dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_vc1
|
||||
GstVaapiDecode_vc1Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapivp8dec</FILE>
|
||||
<TITLE>vaapivp8dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_vp8
|
||||
GstVaapiDecode_vp8Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapivp9dec</FILE>
|
||||
<TITLE>vaapivp9dec</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GstVaapiDecode_vp9
|
||||
GstVaapiDecode_vp9Class
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapidecodebin</FILE>
|
||||
<TITLE>vaapidecodebin</TITLE>
|
||||
|
@ -134,3 +192,18 @@ GstVaapiEncodeVP8
|
|||
GstVaapiEncodeVP8Class
|
||||
gst_vaapiencode_vp8_get_type
|
||||
</SECTION>
|
||||
|
||||
<SECTION>
|
||||
<FILE>element-vaapivp9enc</FILE>
|
||||
<TITLE>vaapivp9enc</TITLE>
|
||||
<SUBSECTION Standard>
|
||||
GST_IS_VAAPIENCODE_VP9
|
||||
GST_IS_VAAPIENCODE_VP9_CLASS
|
||||
GST_TYPE_VAAPIENCODE_VP9
|
||||
GST_VAAPIENCODE_VP9
|
||||
GST_VAAPIENCODE_VP9_CLASS
|
||||
GST_VAAPIENCODE_VP9_GET_CLASS
|
||||
GstVaapiEncodeVP9
|
||||
GstVaapiEncodeVP9Class
|
||||
gst_vaapiencode_vp9_get_type
|
||||
</SECTION>
|
||||
|
|
|
@ -43,6 +43,7 @@ endif
|
|||
libgstvaapi_source_c = \
|
||||
gstvaapi.c \
|
||||
gstvaapidecode.c \
|
||||
gstvaapidecodedoc.c \
|
||||
gstvaapipluginbase.c \
|
||||
gstvaapipluginutil.c \
|
||||
gstvaapipostproc.c \
|
||||
|
|
|
@ -20,56 +20,6 @@
|
|||
* License along with this library; if not, write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapidecode
|
||||
* @short_description: A VA-API based video decoder
|
||||
*
|
||||
* vaapidecode decodes from raw bitstreams to surfaces suitable for
|
||||
* 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>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapijpegdec
|
||||
* @short_description: A VA-API based JPEG image decoder
|
||||
*
|
||||
* vaapijpegdec decodes a JPEG image to surfaces suitable for 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=~/image.jpeg ! jpegparse ! vaapijpegdec ! imagefreeze ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
#include "gstcompat.h"
|
||||
|
|
|
@ -26,9 +26,9 @@
|
|||
* @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.
|
||||
* vaapidecodebin is similar vaapi{CODEC}dec, but it is composed by
|
||||
* the unregistered 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.
|
||||
|
|
254
gst/vaapi/gstvaapidecodedoc.c
Normal file
254
gst/vaapi/gstvaapidecodedoc.c
Normal file
|
@ -0,0 +1,254 @@
|
|||
/*
|
||||
* gstvaapidecodedoc.c - VA-API video decoders documentation
|
||||
*
|
||||
* Copyright (C) 2016 Intel Corporation
|
||||
* Author: Victor Jaquez <victorx.jaquez@intel.com>
|
||||
*
|
||||
* This library 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 library 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 library; if not, write to the Free
|
||||
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
|
||||
* Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapijpegdec
|
||||
* @short_description: A VA-API based JPEG image decoder
|
||||
*
|
||||
* vaapijpegdec decodes a JPEG image to surfaces suitable for 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=~/image.jpeg ! jpegparse ! vaapijpegdec ! imagefreeze ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapimpeg2dec
|
||||
* @short_description: A VA-API based MPEG2 video decoder
|
||||
*
|
||||
* vaapimpeg2dec decodes from MPEG2 bitstreams to surfaces suitable
|
||||
* for 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=~/sample.mpg ! mpegpsdemux ! vaapimpeg2dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapimpeg4dec
|
||||
* @short_description: A VA-API based MPEG4 video decoder
|
||||
*
|
||||
* vaapimpeg4dec decodes from MPEG4 bitstreams to surfaces suitable
|
||||
* for 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=~/sample.mpeg4 ! mpeg4videoparse ! vaapimpeg4dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapih263dec
|
||||
* @short_description: A VA-API based H263 video decoder
|
||||
*
|
||||
* vaapih263dec decodes from H263 bitstreams to surfaces suitable
|
||||
* for 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=~/sample.h263 ! h263parse ! vaapih263dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapih264dec
|
||||
* @short_description: A VA-API based H264 video decoder
|
||||
*
|
||||
* vaapih264dec decodes from H264 bitstreams to surfaces suitable
|
||||
* for 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 ! vaapih264dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapih265dec
|
||||
* @short_description: A VA-API based H265 video decoder
|
||||
*
|
||||
* vaapih265dec decodes from H265 bitstreams to surfaces suitable
|
||||
* for 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=./sample.bin ! h265parse ! vaapih265dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapivc1dec
|
||||
* @short_description: A VA-API based VC1 video decoder
|
||||
*
|
||||
* vaapivc1dec decodes from VC1 bitstreams to surfaces suitable
|
||||
* for 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=~/elephants_dream.wmv ! asfdemux ! vaapivc1dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapivp8dec
|
||||
* @short_description: A VA-API based VP8 video decoder
|
||||
*
|
||||
* vaapivp8dec decodes from VP8 bitstreams to surfaces suitable
|
||||
* for 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=./sample.webm ! matroskademux ! vaapivp8dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
||||
|
||||
/**
|
||||
* SECTION:element-vaapivp9dec
|
||||
* @short_description: A VA-API based VP9 video decoder
|
||||
*
|
||||
* vaapivp9dec decodes from VP9 bitstreams to surfaces suitable
|
||||
* for 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=./sample.vp9.webm ! ivfparse ! vaapivp9dec ! vaapisink
|
||||
* ]|
|
||||
* </refsect2>
|
||||
*/
|
Loading…
Reference in a new issue