d3d11: Stop doc for non-default decoder and deinterlacer elements

Just skip doc for non-default decoder/deinterlacer elements
since there are multiple element in case that system has
multiple GPUs.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1360>
This commit is contained in:
Seungha Yang 2021-10-21 19:41:15 +09:00 committed by GStreamer Marge Bot
parent 97c7fec8be
commit 7fe08d8bed
9 changed files with 113 additions and 89 deletions

View file

@ -8187,73 +8187,6 @@
"GstD3D11BaseFilter:adapter",
"GstD3D11ColorConvert!sink",
"GstD3D11ColorConvert!src",
"GstD3D11Compositor!sink_%u",
"GstD3D11Compositor!src",
"GstD3D11CompositorBackground",
"GstD3D11CompositorBackground::black",
"GstD3D11CompositorBackground::checker",
"GstD3D11CompositorBackground::transparent",
"GstD3D11CompositorBackground::white",
"GstD3D11CompositorBin!sink_%u",
"GstD3D11CompositorBin!src",
"GstD3D11CompositorBinInput",
"GstD3D11CompositorBinInput:alpha",
"GstD3D11CompositorBinInput:blend-dest-alpha",
"GstD3D11CompositorBinInput:blend-dest-rgb",
"GstD3D11CompositorBinInput:blend-factor-alpha",
"GstD3D11CompositorBinInput:blend-factor-blue",
"GstD3D11CompositorBinInput:blend-factor-green",
"GstD3D11CompositorBinInput:blend-factor-red",
"GstD3D11CompositorBinInput:blend-op-alpha",
"GstD3D11CompositorBinInput:blend-op-rgb",
"GstD3D11CompositorBinInput:blend-src-alpha",
"GstD3D11CompositorBinInput:blend-src-rgb",
"GstD3D11CompositorBinInput:height",
"GstD3D11CompositorBinInput:max-last-buffer-repeat",
"GstD3D11CompositorBinInput:repeat-after-eos",
"GstD3D11CompositorBinInput:width",
"GstD3D11CompositorBinInput:xpos",
"GstD3D11CompositorBinInput:ypos",
"GstD3D11CompositorBinInput:zorder",
"GstD3D11CompositorBinPad",
"GstD3D11CompositorBinPad::buffer-consumed",
"GstD3D11CompositorBinPad:emit-signals",
"GstD3D11CompositorBlend",
"GstD3D11CompositorBlend::blend-factor",
"GstD3D11CompositorBlend::dest-alpha",
"GstD3D11CompositorBlend::dest-color",
"GstD3D11CompositorBlend::inv-blend-factor",
"GstD3D11CompositorBlend::inv-dest-alpha",
"GstD3D11CompositorBlend::inv-dest-color",
"GstD3D11CompositorBlend::inv-src-alpha",
"GstD3D11CompositorBlend::inv-src-color",
"GstD3D11CompositorBlend::one",
"GstD3D11CompositorBlend::src-alpha",
"GstD3D11CompositorBlend::src-alpha-sat",
"GstD3D11CompositorBlend::src-color",
"GstD3D11CompositorBlend::zero",
"GstD3D11CompositorBlendOperation",
"GstD3D11CompositorBlendOperation::add",
"GstD3D11CompositorBlendOperation::max",
"GstD3D11CompositorBlendOperation::min",
"GstD3D11CompositorBlendOperation::rev-subtract",
"GstD3D11CompositorBlendOperation::subtract",
"GstD3D11CompositorPad",
"GstD3D11CompositorPad:alpha",
"GstD3D11CompositorPad:blend-dest-alpha",
"GstD3D11CompositorPad:blend-dest-rgb",
"GstD3D11CompositorPad:blend-factor-alpha",
"GstD3D11CompositorPad:blend-factor-blue",
"GstD3D11CompositorPad:blend-factor-green",
"GstD3D11CompositorPad:blend-factor-red",
"GstD3D11CompositorPad:blend-op-alpha",
"GstD3D11CompositorPad:blend-op-rgb",
"GstD3D11CompositorPad:blend-src-alpha",
"GstD3D11CompositorPad:blend-src-rgb",
"GstD3D11CompositorPad:height",
"GstD3D11CompositorPad:width",
"GstD3D11CompositorPad:xpos",
"GstD3D11CompositorPad:ypos",
"GstD3D11Convert",
"GstD3D11Convert!sink",
"GstD3D11Convert!src",
@ -8273,13 +8206,11 @@
"GstD3D11H264Dec",
"GstD3D11H264Dec!sink",
"GstD3D11H264Dec!src",
"GstD3D11H264Dec:adapter",
"GstD3D11H264Dec:device-id",
"GstD3D11H264Dec:vendor-id",
"GstD3D11H265Dec",
"GstD3D11H265Dec!sink",
"GstD3D11H265Dec!src",
"GstD3D11H265Dec:adapter",
"GstD3D11H265Dec:device-id",
"GstD3D11H265Dec:vendor-id",
"GstD3D11Mpeg2Dec!sink",
@ -8320,13 +8251,11 @@
"GstD3D11Vp8Dec",
"GstD3D11Vp8Dec!sink",
"GstD3D11Vp8Dec!src",
"GstD3D11Vp8Dec:adapter",
"GstD3D11Vp8Dec:device-id",
"GstD3D11Vp8Dec:vendor-id",
"GstD3D11Vp9Dec",
"GstD3D11Vp9Dec!sink",
"GstD3D11Vp9Dec!src",
"GstD3D11Vp9Dec:adapter",
"GstD3D11Vp9Dec:device-id",
"GstD3D11Vp9Dec:vendor-id",
"GstD3D11WindowFullscreenToggleMode",
@ -31832,18 +31761,6 @@
"cvsobel:x-order",
"cvsobel:y-order",
"d3d11colorconvert",
"d3d11compositor",
"d3d11compositor:adapter",
"d3d11compositor:background",
"d3d11compositor:emit-signals",
"d3d11compositor:latency",
"d3d11compositor:min-upstream-latency",
"d3d11compositor:mixer",
"d3d11compositor:start-time",
"d3d11compositor:start-time-selection",
"d3d11compositorelement",
"d3d11compositorelement:adapter",
"d3d11compositorelement:background",
"d3d11convert",
"d3d11deinterlace",
"d3d11deinterlace:adapter",
@ -31863,15 +31780,12 @@
"d3d11desktopdupsrc:show-cursor",
"d3d11download",
"d3d11h264dec",
"d3d11h264dec:adapter",
"d3d11h264dec:device-id",
"d3d11h264dec:vendor-id",
"d3d11h265dec",
"d3d11h265dec:adapter",
"d3d11h265dec:device-id",
"d3d11h265dec:vendor-id",
"d3d11mpeg2dec",
"d3d11mpeg2dec:adapter",
"d3d11mpeg2dec:device-id",
"d3d11mpeg2dec:vendor-id",
"d3d11scale",
@ -31906,11 +31820,9 @@
"d3d11videosinkelement:fullscreen",
"d3d11videosinkelement:fullscreen-toggle-mode",
"d3d11vp8dec",
"d3d11vp8dec:adapter",
"d3d11vp8dec:device-id",
"d3d11vp8dec:vendor-id",
"d3d11vp9dec",
"d3d11vp9dec:adapter",
"d3d11vp9dec:device-id",
"d3d11vp9dec:vendor-id",
"d3dvideosink",

View file

@ -18,7 +18,7 @@
*/
/**
* SECTION:element-d3d11av19dec
* SECTION:element-d3d11av1dec
* @title: d3d11av1dec
*
* A Direct3D11/DXVA based AV1 video decoder
@ -440,6 +440,14 @@ gst_d3d11_av1_dec_class_init (GstD3D11AV1DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11AV1Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha@centricular.com>");
@ -1342,6 +1350,9 @@ gst_d3d11_av1_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -2445,6 +2445,9 @@ gst_d3d11_deinterlace_register (GstPlugin * plugin, GstD3D11Device * device,
type_name, &type_info, (GTypeFlags) 0);
cdata->deinterlace_type = type;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, GST_RANK_NONE, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);
@ -2471,6 +2474,9 @@ gst_d3d11_deinterlace_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (bin_type);
if (!gst_element_register (plugin, feature_name, rank, bin_type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -175,6 +175,14 @@ gst_d3d11_h264_dec_class_init (GstD3D11H264DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11H264Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha.yang@navercorp.com>");
@ -1012,6 +1020,9 @@ gst_d3d11_h264_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -144,6 +144,14 @@ gst_d3d11_h265_dec_class_init (GstD3D11H265DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11H265Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha.yang@navercorp.com>");
@ -1138,6 +1146,9 @@ gst_d3d11_h265_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -153,6 +153,14 @@ gst_d3d11_mpeg2_dec_class_init (GstD3D11Mpeg2DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11Mpeg2Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha@centricular.com>");
@ -837,6 +845,9 @@ gst_d3d11_mpeg2_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -140,6 +140,14 @@ gst_d3d11_vp8_dec_class_init (GstD3D11Vp8DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11Vp8Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha.yang@navercorp.com>");
@ -748,6 +756,9 @@ gst_d3d11_vp8_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -173,6 +173,15 @@ gst_d3d11_vp9_dec_class_init (GstD3D11Vp9DecClass * klass, gpointer data)
parent_class = (GstElementClass *) g_type_class_peek_parent (klass);
gst_d3d11_decoder_class_data_fill_subclass_data (cdata, &klass->class_data);
/**
* GstD3D11Vp9Dec:adapter-luid:
*
* DXGI Adapter LUID for this elemenet
*
* Since: 1.20
*/
gst_d3d11_decoder_proxy_class_init (element_class, cdata,
"Seungha Yang <seungha.yang@navercorp.com>");
@ -947,6 +956,9 @@ gst_d3d11_vp9_dec_register (GstPlugin * plugin, GstD3D11Device * device,
if (rank > 0 && index != 0)
rank--;
if (index != 0)
gst_element_type_set_skip_documentation (type);
if (!gst_element_register (plugin, feature_name, rank, type))
GST_WARNING ("Failed to register plugin '%s'", type_name);

View file

@ -17,6 +17,45 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:plugin-d3d11
*
* Microsoft Direct3D11 plugin.
*
* This plugin consists of various video filter, screen capture source,
* video sink, and video decoder elements.
*
* GstD3D11 plugin supports H.264/AVC, H.265/HEVC, VP8, VP9, H.262/MPEG-2 video,
* and AV1 codecs for decoding as well as hardware-accelerated video
* deinterlacing. Note that minimum required OS version for video decoder and
* deinterlacing elements is Windows 8.
*
* Plugin feature names of decoders:
* - d3d11h264dec
* - d3d11h265dec
* - d3d11vp8dec
* - d3d11vp9dec
* - d3d11mpeg2dec
* - d3d11av1dec
*
* Similar to the video decoder case, deinterlacing element would be registered
* only if its supported by hardware with the feature name `d3d11deinterlace`
*
* However, depending on the hardware it runs on, some elements might not be
* registered in case that underlying hardware doesn't support the feature.
* For a system with multiple Direct3D11 compatible hardwares (i.e., GPU),
* there can be multiple plugin features having the same role.
* The naming rule for the non-primary decoder element is
* `d3d11{codec}device{index}dec` where `index` is an arbitrary index number of
* hardware starting from 1.
*
* To get a list of all available elements, user can run
* ```sh
* gst-inspect-1.0.exe d3d11
* ```
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif