docs: Port to hotdoc

This commit is contained in:
Thibault Saunier 2018-10-22 11:48:29 +02:00
parent 0af3e36068
commit b0f5a59760
17 changed files with 2847 additions and 659 deletions

View file

@ -6,9 +6,7 @@ else
SUBDIRS_TESTS =
endif
SUBDIRS = gst-libs gst $(SUBDIRS_TESTS) m4 common docs
DISTCHECK_CONFIGURE_FLAGS=--enable-gtk-doc
SUBDIRS = gst-libs gst $(SUBDIRS_TESTS) m4 common
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES = \

View file

@ -34,10 +34,6 @@ m4_define([wayland_api_version], [1.11.0])
# VA-API minimum version number
m4_define([va_api_version], [0.39.0])
# gtk-doc version number
# XXX: introspection annotations require gtk-doc >= 1.12
m4_define([gtkdoc_version], [1.12])
AC_PREREQ([2.69])
AC_INIT([GStreamer VA-API Plug-ins], [gst_vaapi_version],
[http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer],
@ -85,7 +81,6 @@ GST_REQ=gst_version
GST_PBREQ=gst_plugins_base_version
GST_PBADREQ=gst_plugins_bad_version
WAYLAND_REQ=wayland_api_version
GTKDOC_REQ=gtkdoc_version
dnl *** required versions of VA-API stuff ***
VAAPI_REQ=va_api_version
@ -168,10 +163,6 @@ AC_PROG_CC_STDC
dnl check if the compiler supports '-c' and '-o' options
AM_PROG_CC_C_O
dnl check for documentation tools
GTK_DOC_CHECK([$GTKDOC_REQ])
AG_GST_PLUGIN_DOCS([$GTKDOC_REQ])
dnl *** checks for libraries ***
dnl check for libm, for sin() etc.
AC_CHECK_LIB([m], [tan])
@ -744,10 +735,6 @@ AC_CONFIG_FILES([
common/Makefile
common/m4/Makefile
m4/Makefile
docs/Makefile
docs/version.entities
docs/plugins/Makefile
docs/plugins/gstreamer-vaapi-plugins-docs.xml
gst-libs/Makefile
gst-libs/gst/Makefile
gst-libs/gst/vaapi/Makefile

View file

@ -1,19 +0,0 @@
if ENABLE_GTK_DOC
if ENABLE_PLUGIN_DOCS
PLUGIN_DOCS_DIRS = plugins
else
PLUGIN_DOCS_DIRS =
endif
else
PLUGIN_DOCS_DIRS = plugins
endif
SUBDIRS = $(PLUGIN_DOCS_DIRS)
DIST_SUBDIRS = plugins
EXTRA_DIST = version.entities.in
upload:
@if test "x$(SUBDIRS)" != x; then for a in $(SUBDIRS); do cd $$a; make upload; cd ..; done; fi
-include $(top_srcdir)/git.mk

2748
docs/gst_plugins_cache.json Normal file

File diff suppressed because it is too large Load diff

29
docs/index.md Normal file
View file

@ -0,0 +1,29 @@
---
short-description: GStreamer plugins from gstreamer-vaapi
...
# VAAPI Plugin
## Environment variables
GStreamer-VAAPI inspects a few of environment variables to define it
usage.
**GST_VAAPI_ALL_DRIVERS.**
This environment variable can be set, independently of its value, to
disable the drivers white list. By default only intel and mesa va
drivers are loaded if they are available. The rest are ignored. With
this environment variable defined, all the available va drivers are
loaded, even if they are deprecated.
**LIBVA_DRIVER_NAME.**
This environment variable can be set with the drivers name to load. For
example, intel's driver is `i915`, meanwhile mesa is `gallium`.
**LIBVA_DRIVERS_PATH.**
This environment variable can be set to a colon-separated list of paths
(or a semicolon-separated list on Windows). libva will scan these paths
for va drivers.

62
docs/meson.build Normal file
View file

@ -0,0 +1,62 @@
build_hotdoc = false
if meson.is_cross_build()
if get_option('doc').enabled()
error('Documentation enabled but building the doc while cross building is not supported yet.')
endif
message('Documentation not built as building it while cross building is not supported yet.')
subdir_done()
endif
required_hotdoc_extensions = ['gi-extension', 'gst-extension']
if gst_dep.type_name() == 'internal'
gst_proj = subproject('gstreamer')
plugins_cache_generator = gst_proj.get_variable('plugins_cache_generator')
else
plugins_cache_generator = find_program(join_paths(gst_dep.get_pkg_variable('libexecdir'), 'gstreamer-' + api_version, 'gst-plugins-doc-cache-generator'),
required: false)
endif
plugins_cache = join_paths(meson.current_source_dir(), 'gst_plugins_cache.json')
if plugins_cache_generator.found()
plugins_doc_dep = custom_target('vaapi-plugins-doc-cache',
command: [plugins_cache_generator, plugins_cache, '@OUTPUT@', '@INPUT@'],
input: plugins,
output: 'gst_plugins_cache.json',
)
else
warning('GStreamer plugin inspector for documentation not found, can\'t update the cache')
endif
hotdoc_p = find_program('hotdoc', required: get_option('doc'))
if not hotdoc_p.found()
message('Hotdoc not found, not building the documentation')
subdir_done()
endif
build_hotdoc = true
hotdoc = import('hotdoc')
if not hotdoc.has_extensions(required_hotdoc_extensions)
if get_option('doc').enabled()
error('Documentation enabled but gi-extension missing')
endif
message('@0@ extensions not found, not building documentation'.format(required_hotdoc_extensions))
subdir_done()
endif
message('Plugins: @0@'.format(plugins))
libs_doc = []
plugins_doc = [hotdoc.generate_doc('vaapi',
project_version: api_version,
sitemap: 'sitemap.txt',
index: 'index.md',
gst_index: 'index.md',
gst_smart_index: true,
gst_c_sources: ['../gst/*/*.[ch]',],
gst_cache_file: plugins_cache,
gst_plugin_name: 'vaapi',
dependencies: [gstbase_dep, gstvideo_dep, gstallocators_dep, gstpbutils_dep,
libva_dep, gstlibvaapi_dep, gstgl_dep, libm] + plugins,
)]

View file

@ -1,92 +0,0 @@
GST_DOC_SCANOBJ = $(top_srcdir)/common/gstdoc-scangobj
## Process this file with automake to produce Makefile.in
# The name of the module, e.g. 'glib'.
MODULE=gstreamer-vaapi
DOC_MODULE=$(MODULE)-plugins
# for upload-doc.mak
DOC=$(MODULE)-plugins
FORMATS=html
html: html-build.stamp
include $(top_srcdir)/common/upload-doc.mak
# The top-level SGML file. You can change this if you want to.
DOC_MAIN_SGML_FILE = $(DOC_MODULE)-docs.xml
# The directory containing the source code. Relative to $(srcdir).
# gtk-doc will search all .c & .h files beneath here for inline comments
# documenting the functions and macros.
DOC_SOURCE_DIR = $(top_srcdir)/gst
# Extra options to supply to gtkdoc-scan.
SCAN_OPTIONS = --deprecated-guards="GST_VAAPI_DISABLE_DEPRECATED"
# Extra options to supply to gtkdoc-mkdb.
MKDB_OPTIONS = --sgml-mode --source-suffixes=c,h,cc,m
# Extra options to supply to gtkdoc-fixref.
FIXXREF_OPTIONS=--extra-dir=$(GLIB_PREFIX)/share/gtk-doc/html \
--extra-dir=$(GST_PREFIX)/share/gtk-doc/html \
--extra-dir=$(GSTPB_PREFIX)/share/gtk-doc/html
# Used for dependencies. The docs will be rebuilt if any of these change.
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
HFILE_GLOB = $(top_srcdir)/gst/*/*.h
CFILE_GLOB = $(top_srcdir)/gst/*/*.c
# Header files to ignore when scanning.
IGNORE_HFILES =
EXTRA_HFILES =
# we add all .h files of elements that have signals/args we want
# sadly this also pulls in the private methods - maybe we should
# move those around in the source ?
#
# also, we should add some stuff here conditionally based on whether
# or not the plugin will actually build
# but I'm not sure about that - it might be this Just Works given that
# the registry won't have the element
# -> it just works (TM) (ensonic)
# FIXME: not ported yet
# $(top_srcdir)/ext/gnomevfs/gstgnomevfssink.c
# example code that needs to be converted to xml and placed in xml/
EXAMPLE_CFILES =
# Images to copy into HTML directory.
HTML_IMAGES =
# Extra SGML files that are included by $(DOC_MAIN_SGML_FILE).
content_files = running.xml
# Other files to distribute.
extra_files =
# CFLAGS and LDFLAGS for compiling scan program. Only needed if your app/lib
# contains GtkObjects/GObjects and you want to document signals and properties.
GTKDOC_CFLAGS = -DGST_USE_UNSTABLE_API $(GST_PLUGINS_BAD_CFLAGS) $(GST_BASE_CFLAGS) -I$(top_builddir) -I$(top_builddir)/gst-libs/
GTKDOC_LIBS = $(top_builddir)/gst-libs/gst/vaapi/libgstvaapi.la $(top_builddir)/gst/vaapi/libgstvaapi.la $(GST_BASE_LIBS)
# If you need to override some of the declarations, place them in this file
# and uncomment this line.
#DOC_OVERRIDES = $(DOC_MODULE)-overrides.txt
DOC_OVERRIDES =
# This includes the standard gtk-doc make rules, copied by gtkdocize.
include $(top_srcdir)/common/gtk-doc-plugins.mak
SUBDIRS =
# Extra clean files so that maintainer-clean removes *everything*
MAINTAINERCLEANFILES += \
gstreamer-vaapi-plugins.* \
*.stamp inspect \
gstreamer-vaapi-plugins-overrides.txt \
gstreamer-vaapi-plugins-sections.new \
$(NULL)
-include $(top_srcdir)/git.mk

View file

@ -1,55 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"
[
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<book id="index">
<bookinfo>
<title>GStreamer VA-API Plugins @GST_API_VERSION@ Plugins Reference Manual</title>
</bookinfo>
<chapter>
<title>gstremaer-vaapi Overview</title>
<xi:include href="running.xml"/>
</chapter>
<chapter>
<title>gstreamer-vaapi Elements</title>
<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"/>
<xi:include href="xml/element-vaapih264enc.xml"/>
<xi:include href="xml/element-vaapih265enc.xml"/>
<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>
<title>gstreamer-vaapi Plugins</title>
<xi:include href="xml/plugin-vaapi.xml"/>
</chapter>
<chapter id="object-tree">
<title>Object Hierarchy</title>
<xi:include href="xml/tree_index.sgml"/>
</chapter>
<index id="api-index-full">
<title>API Index</title>
<xi:include href="xml/api-index-full.xml"><xi:fallback /></xi:include>
</index>
<xi:include href="xml/annotation-glossary.xml"><xi:fallback /></xi:include>
</book>

View file

@ -1,209 +0,0 @@
<SECTION>
<SECTION>
<FILE>element-vaapijpegdec</FILE>
<TITLE>vaapijpegdec</TITLE>
<SUBSECTION Standard>
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>
<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-vaapih264enc</FILE>
<TITLE>vaapih264enc</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-vaapih265enc</FILE>
<TITLE>vaapih265enc</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-vaapijpegenc</FILE>
<TITLE>vaapijpegenc</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-vaapimpeg2enc</FILE>
<TITLE>vaapimpeg2enc</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-vaapivp8enc</FILE>
<TITLE>vaapivp8enc</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>
<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>

View file

@ -1,196 +0,0 @@
<plugin>
<name>vaapi</name>
<description>VA-API based elements</description>
<filename>../../gst/vaapi/.libs/libgstvaapi.so</filename>
<basename>libgstvaapi.so</basename>
<version>1.17.0.1</version>
<license>LGPL</license>
<source>gstreamer-vaapi</source>
<package>gstreamer-vaapi</package>
<origin>http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer</origin>
<elements>
<element>
<name>vaapidecodebin</name>
<longname>VA-API Decode Bin</longname>
<class>Codec/Decoder/Video</class>
<description>A VA-API based bin with a decoder and a postprocessor</description>
<author>Sreerenj Balachandran &lt;sreerenj.balachandran@intel.com&gt;, Victor Jaquez &lt;victorx.jaquez@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)2, systemstream=(boolean)false; video/mpeg, mpegversion=(int)4; video/x-divx; video/x-xvid; video/x-h263; video/x-h264; video/x-h265; video/x-wmv; video/x-vp8; video/x-vp9</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
</caps>
</pads>
</element>
<element>
<name>vaapih264dec</name>
<longname>VA-API H264 decoder</longname>
<class>Codec/Decoder/Video/Hardware</class>
<description>A VA-API based H264 video decoder</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;, Halley Zhao &lt;halley.zhao@intel.com&gt;, Sreerenj Balachandran &lt;sreerenj.balachandran@intel.com&gt;, Wind Yuan &lt;feng.yuan@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-h264</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
<element>
<name>vaapih264enc</name>
<longname>VA-API H264 encoder</longname>
<class>Codec/Encoder/Video/Hardware</class>
<description>A VA-API based H264 video encoder</description>
<author>Wind Yuan &lt;feng.yuan@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-h264, stream-format=(string){ avc, byte-stream }, alignment=(string)au, profile=(string){ constrained-baseline, baseline, main, high, multiview-high, stereo-high }</details>
</caps>
</pads>
</element>
<element>
<name>vaapijpegdec</name>
<longname>VA-API JPEG decoder</longname>
<class>Codec/Decoder/Video/Hardware</class>
<description>A VA-API based JPEG video decoder</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;, Halley Zhao &lt;halley.zhao@intel.com&gt;, Sreerenj Balachandran &lt;sreerenj.balachandran@intel.com&gt;, Wind Yuan &lt;feng.yuan@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>image/jpeg</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
<element>
<name>vaapimpeg2dec</name>
<longname>VA-API MPEG2 decoder</longname>
<class>Codec/Decoder/Video/Hardware</class>
<description>A VA-API based MPEG2 video decoder</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;, Halley Zhao &lt;halley.zhao@intel.com&gt;, Sreerenj Balachandran &lt;sreerenj.balachandran@intel.com&gt;, Wind Yuan &lt;feng.yuan@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)2, systemstream=(boolean)false</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
<element>
<name>vaapimpeg2enc</name>
<longname>VA-API MPEG-2 encoder</longname>
<class>Codec/Encoder/Video/Hardware</class>
<description>A VA-API based MPEG-2 video encoder</description>
<author>Guangxin Xu &lt;guangxin.xu@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/mpeg, mpegversion=(int)2, systemstream=(boolean)false</details>
</caps>
</pads>
</element>
<element>
<name>vaapipostproc</name>
<longname>VA-API video postprocessing</longname>
<class>Filter/Converter/Effect/Video/Scaler/Deinterlace/Hardware</class>
<description>A VA-API video postprocessing filter</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string)progressive; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ], interlace-mode=(string){ progressive, interleaved, mixed }; video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
<element>
<name>vaapisink</name>
<longname>VA-API sink</longname>
<class>Sink/Video</class>
<description>A VA-API based videosink</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:VASurface, meta:GstVideoOverlayComposition), format=(string){ ENCODED, NV12, I420, YV12, P010_10LE }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoOverlayComposition), format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
<element>
<name>vaapivc1dec</name>
<longname>VA-API VC1 decoder</longname>
<class>Codec/Decoder/Video/Hardware</class>
<description>A VA-API based VC1 video decoder</description>
<author>Gwenole Beauchesne &lt;gwenole.beauchesne@intel.com&gt;, Halley Zhao &lt;halley.zhao@intel.com&gt;, Sreerenj Balachandran &lt;sreerenj.balachandran@intel.com&gt;, Wind Yuan &lt;feng.yuan@intel.com&gt;</author>
<pads>
<caps>
<name>sink</name>
<direction>sink</direction>
<presence>always</presence>
<details>video/x-wmv, wmvversion=(int)3, format=(string){ WMV3, WVC1 }</details>
</caps>
<caps>
<name>src</name>
<direction>source</direction>
<presence>always</presence>
<details>video/x-raw(memory:VASurface), format=(string){ ENCODED, NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(meta:GstVideoGLTextureUploadMeta), format=(string){ RGBA, BGRA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw, format=(string){ NV12, I420, YV12, YUY2, UYVY, Y210, P010_10LE, AYUV, Y410 }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]; video/x-raw(memory:DMABuf), format=(string){ I420, YV12, RGBA }, width=(int)[ 1, 2147483647 ], height=(int)[ 1, 2147483647 ], framerate=(fraction)[ 0/1, 2147483647/1 ]</details>
</caps>
</pads>
</element>
</elements>
</plugin>

View file

@ -1,68 +0,0 @@
<?xml version="1.0"?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % version-entities SYSTEM "version.entities">
%version-entities;
<!ENTITY % local.common.attrib "xmlns:xi CDATA #FIXED 'http://www.w3.org/2003/XInclude'">
]>
<refentry id="gstreamer-vaapi-running">
<refmeta>
<refentrytitle>Running GStreamer VAAPI Applications</refentrytitle>
</refmeta>
<refnamediv>
<refname>Running GStreamer VAAPI Applications</refname>
<refpurpose>
How to run GStreamer application with VAAPI elements.
</refpurpose>
</refnamediv>
<refsect1>
<title>Running GStreamer VAAPI Applications</title>
<refsect2>
<title>Environment variables</title>
<para>
GStreamer-VAAPI inspects a few of environment variables to define it usage.
</para>
<formalpara id="GST_VAAPI_ALL_DRIVERS">
<title><envar>GST_VAAPI_ALL_DRIVERS</envar></title>
<para>
This environment variable can be set, independently of its value, to disable
the drivers white list. By default only intel and mesa va drivers are loaded
if they are available. The rest are ignored. With this environment variable
defined, all the available va drivers are loaded, even if they are deprecated.
</para>
</formalpara>
<formalpara id="LIBVA_DRIVER_NAME">
<title><envar>LIBVA_DRIVER_NAME</envar></title>
<para>
This environment variable can be set with the drivers name to load. For
example, intel's driver is <userinput>i915</userinput>, meanwhile mesa is
<userinput>gallium</userinput>.
</para>
</formalpara>
<formalpara id="LIBVA_DRIVERS_PATH">
<title><envar>LIBVA_DRIVERS_PATH</envar></title>
<para>
This environment variable can be set to a colon-separated list of paths (or a
semicolon-separated list on Windows). libva will scan these paths for va
drivers.
</para>
</formalpara>
</refsect2>
</refsect1>
</refentry>

1
docs/sitemap.txt Normal file
View file

@ -0,0 +1 @@
gst-index

View file

@ -1,2 +0,0 @@
<!ENTITY GST_API_VERSION "@GST_API_VERSION@">
<!ENTITY GST_VERSION "@VERSION@">

View file

@ -48,3 +48,5 @@ gstvaapi = library('gstvaapi',
install : true,
install_dir : plugins_install_dir,
)
plugins = [gstvaapi]

View file

@ -1,6 +1,6 @@
project('gstreamer-vaapi', 'c',
version : '1.17.0.1',
meson_version : '>= 0.47.0',
meson_version : '>= 0.48.0',
default_options : [ 'warning_level=1',
'buildtype=debugoptimized' ])
@ -163,6 +163,7 @@ subdir('gst')
if not get_option('examples').disabled()
subdir('tests')
endif
subdir('docs')
python3 = import('python').find_installation()
run_command(python3, '-c', 'import shutil; shutil.copy("hooks/pre-commit.hook", ".git/hooks/pre-commit")')

View file

@ -7,4 +7,5 @@ option('with_egl', type : 'combo', choices : ['yes', 'no', 'auto'], value : 'aut
# Common feature options
option('examples', type : 'feature', value : 'auto', yield : true)
option('gtk_doc', type : 'feature', value : 'auto', yield : true, description : 'Build API documentation with gtk-doc')
option('doc', type : 'feature', value : 'auto', yield: true,
description: 'Enable documentation.')