Commit graph

134 commits

Author SHA1 Message Date
Haihao Xiang 85284f4aac libs: display: drm: allow user specify a drm device via an env variable
Currently the default drm device is always used on a system with
multiple drm devices. This patch allows user to specify the required
drm device via GST_VAAPI_DRM_DEVICE env variable

Example:
GST_VAAPI_DRM_DEVICE=/dev/dri/renderD129 gst-launch-1.0 videotestsrc !
vaapih264enc ! fakesink

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/409>
2021-01-29 14:08:42 +00:00
Thibault Saunier 1c3facd215 docs: Mark parent classes as plugin API 2020-06-23 10:20:46 -04:00
Mathieu Duponchelle d914f23268 meson: mark plugins cache target as always stale 2020-06-23 00:07:57 +02:00
Thibault Saunier eb7152bdef doc: Stop documenting properties from parents 2020-06-22 11:07:09 -04:00
Tim-Philipp Müller bf7d4bda49 Update plugin docs and add more plugins
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/merge_requests/344>
2020-06-19 15:21:56 +01:00
Thibault Saunier 45c2f82746 doc: Require hotdoc >= 0.11.0 2020-06-03 18:50:10 -04:00
Thibault Saunier 41fee777a6 docs: Update plugin cache with the new format
And fix the default URL which should not be inside quotes.
2020-06-03 17:38:10 -04:00
Thibault Saunier 879e1081a0 docs: Update plugin cache
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/issues/36
2019-05-16 20:20:52 +00:00
Thibault Saunier 4fe9c0535f meson: Fix call to wrong function 2019-05-13 19:05:58 -04:00
Thibault Saunier b0f5a59760 docs: Port to hotdoc 2019-05-13 17:00:00 -04:00
Tim-Philipp Müller 0e83a2ae57 Back to development 2019-04-19 11:00:07 +01:00
Tim-Philipp Müller a9c4a4b9ce Update docs 2019-04-19 00:38:12 +01:00
Tim-Philipp Müller bdfba172d1 Update docs 2019-04-11 00:40:03 +01:00
Tim-Philipp Müller e20e48f966 Back to development 2019-03-04 09:16:17 +00:00
Tim-Philipp Müller 00af7732f1 Update docs 2019-02-26 12:01:53 +00:00
Tim-Philipp Müller 0c39d5dd72 Update docs 2019-01-17 02:36:52 +00:00
Philippe Normand 70726aef00 gst: Advertise elements interacting with hardware devices 2018-10-12 15:39:53 +01:00
Tim-Philipp Müller 966d4d0476 Back to development 2018-03-20 10:49:10 +00:00
Víctor Manuel Jáquez Leal 2e1f69898b docs: document environment variables
https://bugzilla.gnome.org/show_bug.cgi?id=773544
2016-10-27 13:09:21 +02:00
Víctor Manuel Jáquez Leal 74a9f76d32 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.
2016-10-27 13:04:37 +02:00
Víctor Manuel Jáquez Leal b138e5e042 build: doc: do not redefine MAINTAINERCLEANFILES
MAINTAINERCLEANFILES is defined in gtk-doc-plugins.mak, thus instead of
overload it, the files should be added.
2016-07-15 17:35:41 +02:00
Víctor Manuel Jáquez Leal aac0f50500 docs: generate vaapijpegdec documentation
https://bugzilla.gnome.org/show_bug.cgi?id=764314
2016-03-30 15:07:43 +02:00
Víctor Manuel Jáquez Leal 4c048b8c6c build: git ignore gtkdoc generated files 2016-03-09 20:28:21 +01:00
Víctor Manuel Jáquez Leal 77ddde41d9 rename encoders to vaapi{codec}enc
Trying to comply with GStreamer's element names, this patch renames the
encoders using the name format vaapi{codec}enc.

In this way, the plugin documentation is linked correctly.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-03 20:23:31 +01:00
Víctor Manuel Jáquez Leal 9b8fb25b8c 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>
2016-02-03 20:03:47 +01:00
Víctor Manuel Jáquez Leal d675816ed0 resurrect gtk-doc machinery
Our auto-generated documentation has been a bit neglected. This patch replaces
the 'normal' gtk-doc with the one used in GStreamer, which is adapted for
plugins, elements and libraries.

This patch also re-enables documentation generation.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-02-03 20:03:47 +01:00
Tim-Philipp Müller c8d6febfab docs: remove library documentation which is non-public now
https://bugzilla.gnome.org/show_bug.cgi?id=759192
2016-01-25 13:58:16 +00:00
Víctor Manuel Jáquez Leal fa6144545f libs: remove versioning
Since we don't install libraries anymore, it makes no sense to keep
versioning them according to the gstreamer's version.

Signed-off-by: Víctor Manuel Jáquez Leal <victorx.jaquez@intel.com>
2016-01-20 10:19:07 +01:00
Víctor Manuel Jáquez Leal b524990e07 doc: add VA-API reference in freedesktop 2015-06-04 19:14:33 +02:00
Víctor Manuel Jáquez Leal 40e836e5eb doc: conditional linking for scanner
Add x11 library only if it is enabled.

https://bugzilla.gnome.org/show_bug.cgi?id=749018
2015-05-20 18:03:44 +02:00
Víctor Manuel Jáquez Leal f895c07174 doc: fix scanner compilation warning
https://bugzilla.gnome.org/show_bug.cgi?id=749018
2015-05-20 17:41:11 +02:00
Víctor Manuel Jáquez Leal e9866d0656 doc: update sections and symbols
https://bugzilla.gnome.org/show_bug.cgi?id=749018
2015-05-20 17:41:11 +02:00
Víctor Manuel Jáquez Leal 89e41fc8e3 build: use git.mk
This patch handles dinamically the gitignore files with git.mk[1].

Removed the automake variable MAINTAINERCLANFILES in most of the
Makefile.am files since now it is handled by the top one.

1. https://github.com/behdad/git.mk/blob/master/git.mk

https://bugzilla.gnome.org/show_bug.cgi?id=749321
2015-05-18 16:14:46 +02:00
Gwenole Beauchesne 5e245ae2c2 surfaceproxy: add copy function.
Add gst_vaapi_surface_proxy_copy() function that creates a new surface
proxy with the same information from the parent proxy, except that the
user-defined destroy notify function is not copied over.

The underlying VA surface is pushed back to the video pool only when
the last reference to the parent surface proxy is released.
2013-11-28 17:32:18 +01:00
Halley Zhao 5a9e169504 filter: add helper to specify references for deinterlacing.
Add gst_vaapi_fitler_set_deinterlacing_references() API to submit the
list of surfaces used for forward or backward reference in advanced
deinterlacing mode, e.g. Motion-Adaptive, Motion-Compensated.

The list of surfaces used as deinterlacing references shall be live
until the next call to gst_vaapi_filter_process().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-11-21 23:08:02 +01:00
Gwenole Beauchesne 152ffb52d2 filter: add helpers to check for supported/active operation.
Add a couple of helper functions:
- gst_vaapi_filter_has_operation(): checks whether the VA driver
  advertises support for the supplied operation ;
- gst_vaapi_filter_use_operation(): checks whether the supplied
  operation was already enabled to its non-default value.
2013-11-21 23:08:02 +01:00
Gwenole Beauchesne 71e5fd536f filter: allow specification of render target regions.
Add support for rendering the source surface to a particular region within
the supplied target surface. The default background color is black.
2013-08-27 18:28:10 +02:00
Zhao Halley 944a7bd077 filter: add initial support for deinterlacing.
Add basic deinterlacing support, i.e. bob-deinterlacing whereby only
the selected field from the input surface is kept for the target surface.
Setting gst_vaapi_filter_set_deinterlacing() method argument to
GST_VAAPI_DEINTERLACE_METHOD_NONE means to disable deinterlacing.

Also move GstVaapiDeinterlaceMethod definition from vaapipostproc plug-in
to libgstvaapi core library.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Zhao Halley 1d222d3b4a filter: add support for color balance adjustment.
Add ProcAmp (color balance) adjustments for hue, saturation, brightness
and contrast. The respective range for each filter shall be the same as
for the VA display attributes.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Zhao Halley a854768a80 filter: add support for sharpening.
Sharpening is configured with a float value. The supported range is
-1.0 .. 1.0 with 0.0 being the default, and that means no sharpening
operation at all.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Zhao Halley 22f55bd513 filter: add support for denoising.
Noise reduction is configured with a float value. The supported range
is 0.0 .. 1.0 with 0.0 being the default, and that means no denoise
operation at all.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne 81395418e9 filter: add support for frame cropping.
Frame cropping is defined with a GstVaapiRectangle value. The default
behaviour is to treat the source surface as a whole
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne f09008a8d1 Add initial infrastructure for video processing.
Add initial API for video processing: only scaling and color format
conversion operations are supported.
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne d8ffc2c150 libs: drop some public APIs.
Don't expose GstVaapiContext APIs and make them totally private to
libgstvaapi core library. That API would also tend to disappear in
a future revision. Likewise, don't expose GstVaapiDisplayCache API
but keep symbols visible so that the various render backends could
share a common display cache implementation in libgstvaapi.

Try to clean-up the documentation from any stale entry too.
2013-08-23 19:00:38 +02:00
Gwenole Beauchesne 2b0a4a0304 image: clean image API up.
Don't expose functions that reference a GstVaapiImageRaw, those are
meant to be internal only for implementing subpictures sync. Also add
a few private definitions to avoid functions calls for retrieving
image size and format information.
2013-07-26 13:16:52 +02:00
Gwenole Beauchesne e183ea1290 image: add gst_vaapi_image_copy() helper.
Add gst_vaapi_image_copy() helper function to copy images of same format
and size.
2013-07-26 13:16:52 +02:00
Gwenole Beauchesne 373329e6ff x11: implement pixmap API.
Implement the new render-to-pixmap API. The only supported pixmap format
that will work is xRGB, with native byte ordering. Others might work but
they were not tested.
2013-07-22 15:45:10 +02:00
Gwenole Beauchesne 5cabf4e305 Add initial Pixmap API.
Add API to transfer VA urfaces to native pixmaps. Also add an API to
render a native pixmap, for completeness. In general, rendering to
pixmap would only be useful to certain VA drivers and use cases on
X11 display servers. e.g. GLX_EXT_texture_from_pixmap (TFP) handled
in an upper layer.
2013-07-22 15:43:28 +02:00
Gwenole Beauchesne 4a8a80061f libs: add and expose gst_vaapi_video_format_to_string() helper.
This is just a wrapper over gst_video_format_to_string() for older
GStreamer 0.10 builds.
2013-07-22 15:22:34 +02:00
Gwenole Beauchesne 7fa4973f8a Fix new video format API.
Fix new internal video format API, based on GstVideoFormat, to not
clobber with system symbols. So replace the gst_video_format_* prefix
with gst_vaapi_video_format_ prefix, even if the format type remains
GstVideoFormat.
2013-07-15 14:42:33 +02:00