From bb37ea168d7850c8fbbba33b3b36e82bf97bf007 Mon Sep 17 00:00:00 2001 From: Nicolas Dufresne Date: Thu, 30 Jan 2025 16:27:36 -0500 Subject: [PATCH] doc: v4l2codecs: Document all decoders Add the documentation blob and since marker for all decoders. Part-of: --- ci/scripts/build-docs.sh | 3 ++ .../v4l2codecs/gstv4l2codecalphadecodebin.c | 11 +++++++ .../v4l2codecs/gstv4l2codecalphadecodebin.h | 15 +++++++++ .../sys/v4l2codecs/gstv4l2codecav1dec.c | 15 +++++++++ .../sys/v4l2codecs/gstv4l2codech264dec.c | 16 ++++++++++ .../sys/v4l2codecs/gstv4l2codech265dec.c | 15 +++++++++ .../sys/v4l2codecs/gstv4l2codecmpeg2dec.c | 15 +++++++++ .../sys/v4l2codecs/gstv4l2codecvp8dec.c | 32 +++++++++++++++++++ .../sys/v4l2codecs/gstv4l2codecvp9dec.c | 31 ++++++++++++++++++ 9 files changed, 153 insertions(+) diff --git a/ci/scripts/build-docs.sh b/ci/scripts/build-docs.sh index 991c7011bb..66353f7628 100755 --- a/ci/scripts/build-docs.sh +++ b/ci/scripts/build-docs.sh @@ -10,6 +10,9 @@ set -eux source "ci/scripts/source_image_env.sh" +# Special doc mode for V4L2 stateless codecs +export GST_V4L2_CODEC_GEN_DOC=1 + meson_args="${MESON_ARGS:--Ddoc=enabled -Drs=enabled -Dgst-docs:fatal_warnings=true}" echo "$meson_args" meson setup "$builddir" $meson_args diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.c index 18eb411a72..b3f6dc9c48 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.c @@ -18,6 +18,17 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:gstv4l2codecalphadecodebin + * @title: GstV4l2CodecAlphaDecodeBin + * @short_description: V4L2 base class to implement VP8/VP9 alpha decoding. + * + * V4L2 base class to implement VP8/VP9 alpha decoding. + * + * Since: 1.20 + */ + + #ifdef HAVE_CONFIG_H #include "config.h" #endif diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.h b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.h index 9ce3a3c89c..b00c1b1e63 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.h +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecalphadecodebin.h @@ -28,6 +28,21 @@ G_BEGIN_DECLS G_DECLARE_DERIVABLE_TYPE (GstV4l2CodecAlphaDecodeBin, gst_v4l2_codec_alpha_decode_bin, GST, V4L2_CODEC_ALPHA_DECODE_BIN, GstBin); +/** + * GstV4l2CodecAlphaDecodeBin: + * + * Base class for V4L2 Stateless alpha decoders. + * + * Since: 1.20 + */ + +/** + * GstV4l2CodecAlphaDecodeBinClass: + * + * Base class for V4L2 Stateless alpha decoders. + * + * Since: 1.20 + */ struct _GstV4l2CodecAlphaDecodeBinClass { GstBinClass parent_class; diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c index 3ea1b848cb..afbd5e2414 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecav1dec.c @@ -18,6 +18,21 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slav1dec + * @title: v4l2slav1dec + * @short_description: V4L2 Stateless AV1 video decoder + * + * decodes AV1 bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mov ! parsebin ! v4l2slav1dec ! autovideosink + * ``` + * + * Since: 1.24 + */ + #ifdef HAVE_CONFIG_H #include "config.h" diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c index 640ccd44f1..aedda948ae 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech264dec.c @@ -17,6 +17,22 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slh264dec + * @title: v4l2slh264dec + * @short_description: V4L2 Stateless H.264 video decoder + * + * decodes H.264 bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mov ! parsebin ! v4l2slh264dec ! autovideosink + * ``` + * + * Since: 1.20 + */ + + #ifdef HAVE_CONFIG_H #include #endif diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c index 9270a9367e..12866e4a04 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codech265dec.c @@ -18,6 +18,21 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slh265dec + * @title: v4l2slh265dec + * @short_description: V4L2 Stateless H.265 video decoder + * + * decodes H.265 bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mov ! parsebin ! v4l2slh265dec ! autovideosink + * ``` + * + * Since: 1.22 + */ + #ifdef HAVE_CONFIG_H #include #endif diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c index d4a1826843..74271e5823 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecmpeg2dec.c @@ -17,6 +17,21 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slmpeg2dec + * @title: v4l2slmpeg2dec + * @short_description: V4L2 Stateless MPEG2 Video video decoder + * + * decodes MPEG2 Video bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mov ! parsebin ! v4l2slmpeg2dec ! autovideosink + * ``` + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H #include diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c index a55d4d8519..c3f3ecb653 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp8dec.c @@ -17,6 +17,38 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slvp8dec + * @title: v4l2slvp8dec + * @short_description: V4L2 Stateless VP8 video decoder + * + * decodes VP8 bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mkv ! parsebin ! v4l2slvp8dec ! autovideosink + * ``` + * + * Since: 1.20 + */ + +/** + * SECTION:element-v4l2slvp8alphadecodebin + * @title: v4l2slvp8alphadecodebin + * @short_description: V4L2 Stateless VP8 with alpa video decoder + * + * decodes VP8 bitstreams with alpha auxiliary stream as DMABuf using Linux + * V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mkv ! parsebin ! v4l2slvp8alphadecodebin ! autovideosink + * ``` + * + * Since: 1.20 + */ + + #ifdef HAVE_CONFIG_H #include #endif diff --git a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c index 1282e9f45a..ea5394ebcd 100644 --- a/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c +++ b/subprojects/gst-plugins-bad/sys/v4l2codecs/gstv4l2codecvp9dec.c @@ -18,6 +18,37 @@ * Boston, MA 02110-1301, USA. */ +/** + * SECTION:element-v4l2slvp9dec + * @title: v4l2slvp9dec + * @short_description: V4L2 Stateless VP9 video decoder + * + * decodes VP9 bitstreams as DMABuf using Linux V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mkv ! parsebin ! v4l2slvp9dec ! autovideosink + * ``` + * + * Since: 1.20 + */ + +/** + * SECTION:element-v4l2slvp9alphadecodebin + * @title: v4l2slvp9alphadecodebin + * @short_description: V4L2 Stateless VP9 with alpa video decoder + * + * decodes VP9 bitstreams with alpha auxiliary stream as DMABuf using Linux + * V4L2 Stateless API. + * + * ## Example launch line + * ``` + * gst-launch-1.0 filesrc location=some.mkv ! parsebin ! v4l2slvp9alphadecodebin ! autovideosink + * ``` + * + * Since: 1.20 + */ + #ifdef HAVE_CONFIG_H #include #endif