d3d11: Documentation update

* Update class metadata
  * for wrapper bin elements to be distinguishable from internal element.
  * D3D11 -> Direct3D11 for consistency
* Add missing Since mark everywhere
* Update plugin cache

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2029>
This commit is contained in:
Seungha Yang 2021-02-21 17:38:38 +09:00
parent 6c6237fe50
commit 8794f4b713
15 changed files with 1703 additions and 77 deletions

File diff suppressed because it is too large Load diff

View file

@ -22,6 +22,16 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11compositorelement
* @title: d3d11compositorelement
*
* A Direct3D11 based video compositing element.
*
* Since: 1.20
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -47,6 +57,8 @@ GST_DEBUG_CATEGORY_EXTERN (gst_d3d11_compositor_debug);
* Find the minimum of source 1 and source 2
* @GST_D3D11_COMPOSITOR_BLEND_OP_MAX:
* Find the maximum of source 1 and source 2
*
* Since: 1.20
*/
GType
gst_d3d11_compositor_blend_operation_get_type (void)
@ -167,6 +179,8 @@ gst_d3d11_compositor_blend_operation_to_native (GstD3D11CompositorBlendOperation
* ID3D11DeviceContext::OMSetBlendState.
* The pre-blend operation inverts the blend factor,
* generating 1 - blend_factor.
*
* Since: 1.20
*/
GType
gst_d3d11_compositor_blend_get_type (void)
@ -290,6 +304,13 @@ gst_d3d11_compositor_blend_to_native (GstD3D11CompositorBlend blend)
return D3D11_BLEND_ZERO;
}
/**
* GstD3D11CompositorBackground:
*
* Background mode
*
* Since: 1.20
*/
GType
gst_d3d11_compositor_background_get_type (void)
{
@ -359,6 +380,11 @@ static const gchar checker_ps_src[] =
"}\n";
/* *INDENT-ON* */
/**
* GstD3D11CompositorPad:
*
* Since: 1.20
*/
struct _GstD3D11CompositorPad
{
GstVideoAggregatorConvertPad parent;
@ -566,6 +592,9 @@ gst_d3d11_compositor_pad_class_init (GstD3D11CompositorPadClass * klass)
GST_DEBUG_FUNCPTR (gst_d3d11_compositor_pad_prepare_frame);
vaggpadclass->clean_frame =
GST_DEBUG_FUNCPTR (gst_d3d11_compositor_pad_clean_frame);
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_COMPOSITOR_BLEND, 0);
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_COMPOSITOR_BLEND_OPERATION, 0);
}
static void
@ -1329,8 +1358,10 @@ gst_d3d11_compositor_class_init (GstD3D11CompositorClass * klass)
gst_element_class_set_static_metadata (element_class, "Direct3D11 Compositor",
"Filter/Editor/Video/Compositor",
"Composite multiple video streams via D3D11 API",
"Seungha Yang <seungha@centricular.com>");
"A Direct3D11 compositor", "Seungha Yang <seungha@centricular.com>");
gst_type_mark_as_plugin_api (GST_TYPE_COMPOSITOR_BACKGROUND, 0);
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_COMPOSITOR_PAD, 0);
}
static void

View file

@ -19,6 +19,25 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11compositor
* @title: d3d11compositor
*
* A convenient bin which wraps #d3d11compositorelement for video composition
* with other helper elements to handle color conversion and memory transfer
* between Direct3D11 and system memory space.
*
* ## Example launch line
* ```
* gst-launch-1.0 d3d11compositor name=c ! d3d11videosink \
* videotestsrc ! video/x-raw,width=320,height=240 ! c. \
* videotestsrc pattern=ball ! video/x-raw,width=100,height=100 ! c.
* ```
*
* Since: 1.20
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -54,6 +73,11 @@ enum
static guint gst_d3d11_compositor_bin_pad_signals[SIGNAL_PAD_LAST] = { 0 };
/**
* GstD3D11CompositorBinPad:
*
* Since: 1.20
*/
struct _GstD3D11CompositorBinPad
{
GstGhostPad parent;
@ -225,6 +249,11 @@ enum
#define DEFAULT_INPUT_BLEND_DEST_RGB GST_D3D11_COMPOSITOR_BLEND_INV_SRC_ALPHA
#define DEFAULT_INPUT_BLEND_DEST_ALPHA GST_D3D11_COMPOSITOR_BLEND_INV_SRC_ALPHA
/**
* GstD3D11CompositorBinInput:
*
* Since: 1.20
*/
struct _GstD3D11CompositorBinInput
{
GstD3D11CompositorBinPad parent;
@ -544,8 +573,7 @@ gst_d3d11_compositor_bin_class_init (GstD3D11CompositorBinClass * klass)
gst_element_class_set_static_metadata (element_class,
"Direct3D11 Compositor Bin",
"Filter/Editor/Video/Compositor",
"Composite multiple video streams via D3D11 API",
"Seungha Yang <seungha@centricular.com>");
"A Direct3D11 compositor bin", "Seungha Yang <seungha@centricular.com>");
caps = gst_d3d11_get_updated_template_caps (&sink_template_caps);
gst_element_class_add_pad_template (element_class,
@ -612,6 +640,9 @@ gst_d3d11_compositor_bin_class_init (GstD3D11CompositorBinClass * klass)
g_param_spec_enum ("background", "Background", "Background type",
GST_TYPE_COMPOSITOR_BACKGROUND,
DEFAULT_BACKGROUND, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_COMPOSITOR_BIN_PAD, 0);
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_COMPOSITOR_BIN_INPUT, 0);
}
static void

View file

@ -17,6 +17,19 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11deinterlaceelement
* @title: d3d11deinterlaceelement
*
* Deinterlacing interlaced video frames to progressive video frames by using
* ID3D11VideoProcessor API. Depending on the hardware it runs on,
* this element will only support a very limited set of video formats.
* Use #d3d11deinterlace instead, which will take care of conversion.
*
* Since: 1.20
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -101,6 +114,13 @@ typedef enum
/* TODO: INVERSE_TELECINE */
} GstD3D11DeinterlaceMethod;
/**
* GstD3D11DeinterlaceMethod:
*
* Deinterlacing method
*
* Since: 1.20
*/
#define GST_TYPE_D3D11_DEINTERLACE_METHOD (gst_d3d11_deinterlace_method_type())
static GType
@ -400,6 +420,9 @@ gst_d3d11_deinterlace_class_init (GstD3D11DeinterlaceClass * klass,
klass->device_caps = cdata->device_caps;
gst_d3d11_deinterlace_class_data_unref (cdata);
gst_type_mark_as_plugin_api (GST_TYPE_D3D11_DEINTERLACE_METHOD,
(GstPluginAPIFlags) 0);
}
static void
@ -1853,6 +1876,23 @@ done:
return ret;
}
/**
* SECTION:element-d3d11deinterlace
* @title: d3d11deinterlace
* @short_description: A Direct3D11 based deinterlace element
*
* Deinterlacing interlaced video frames to progressive video frames by using
* ID3D11VideoProcessor API.
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/h264/file ! parsebin ! d3d11h264dec ! d3d11deinterlace ! d3d11videosink
* ```
*
* Since: 1.20
*
*/
/* GstD3D11DeinterlaceBin */
enum
{
@ -1999,7 +2039,7 @@ gst_d3d11_deinterlace_bin_class_init (GstD3D11DeinterlaceBinClass * klass,
cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Filter/Effect/Video/Deinterlace/Hardware",
"A Direct3D11 based deinterlacer",
"A Direct3D11 based deinterlacer bin",
"Seungha Yang <seungha@centricular.com>");
g_free (long_name);

View file

@ -22,15 +22,14 @@
* SECTION:element-d3d11desktopdupsrc
* @title: d3d11desktopdupsrc
*
* This element uses DXGI Desktop Duplication API.
* The default is capturing the whole desktop, but #GstD3D11DesktopDupSrc:x,
* #GstD3D11DesktopDupSrc:y, #GstD3D11DesktopDupSrc:width and
* #GstD3D11DesktopDupSrc:height can be used to select a particular region.
* A DXGI Desktop Duplication API based screen capture element
*
* ## Example pipelines
* |[
* ## Example launch line
* ```
* gst-launch-1.0 d3d11desktopdupsrc ! queue ! d3d11videosink
* ]| Capture the desktop and display it.
* ```
*
* Since: 1.20
*/
#ifdef HAVE_CONFIG_H

View file

@ -17,6 +17,28 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11download
* @title: d3d11download
* @short_description: Downloads Direct3D11 texture memory into system memory
*
* Downloads Direct3D11 texture memory into system memory
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=test_h264.mp4 ! parsebin ! d3d11h264dec ! \
* d3d11convert ! d3d11download ! video/x-raw,width=640,height=480 ! mfh264enc ! \
* h264parse ! mp4mux ! filesink location=output.mp4
* ```
* This pipeline will resize decoded (by #d3d11h264dec) frames to 640x480
* resolution by using #d3d11convert. Then it will be copied into system memory
* by d3d11download. Finally downloaded frames will be encoded as a new
* H.264 stream via #mfh264enc and muxed via mp4mux
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@ -102,7 +124,7 @@ gst_d3d11_download_class_init (GstD3D11DownloadClass * klass)
gst_element_class_set_static_metadata (element_class,
"Direct3D11 downloader", "Filter/Video",
"Downloads D3D11 texture memory into system memory",
"Downloads Direct3D11 texture memory into system memory",
"Seungha Yang <seungha.yang@navercorp.com>");
trans_class->passthrough_on_same_caps = TRUE;

View file

@ -47,6 +47,21 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* SECTION:element-d3d11h264dec
* @title: d3d11h264dec
*
* A Direct3D11/DXVA based H.264 video decoder
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/h264/file ! parsebin ! d3d11h264dec ! d3d11videosink
* ```
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -202,11 +217,11 @@ gst_d3d11_h264_dec_class_init (GstD3D11H264DecClass * klass, gpointer data)
element_class->set_context =
GST_DEBUG_FUNCPTR (gst_d3d11_h264_dec_set_context);
long_name = g_strdup_printf ("Direct3D11 H.264 %s Decoder",
long_name = g_strdup_printf ("Direct3D11/DXVA H.264 %s Decoder",
cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Codec/Decoder/Video/Hardware",
"A Direct3D11 based H.264 video decoder",
"A Direct3D11/DXVA H.264 video decoder",
"Seungha Yang <seungha.yang@navercorp.com>");
g_free (long_name);

View file

@ -17,6 +17,21 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11h265dec
* @title: d3d11h265dec
*
* A Direct3D11/DXVA based H.265 video decoder
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/hevc/file ! parsebin ! d3d11h265dec ! d3d11videosink
* ```
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -174,11 +189,11 @@ gst_d3d11_h265_dec_class_init (GstD3D11H265DecClass * klass, gpointer data)
element_class->set_context =
GST_DEBUG_FUNCPTR (gst_d3d11_h265_dec_set_context);
long_name = g_strdup_printf ("Direct3D11 H.265 %s Decoder",
long_name = g_strdup_printf ("Direct3D11/DXVA H.265 %s Decoder",
cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Codec/Decoder/Video/Hardware",
"A Direct3D11 based H.265 video decoder",
"A Direct3D11/DXVA H.265 video decoder",
"Seungha Yang <seungha.yang@navercorp.com>");
g_free (long_name);

View file

@ -17,6 +17,21 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11mpeg2dec
* @title: d3d11mpeg2dec
*
* A Direct3D11/DXVA based MPEG-2 video decoder
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/mpeg2/file ! parsebin ! d3d11mpeg2dec ! d3d11videosink
* ```
*
* Since: 1.20
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -167,9 +182,9 @@ gst_d3d11_mpeg2_dec_class_init (GstD3D11Mpeg2DecClass * klass, gpointer data)
GST_DEBUG_FUNCPTR (gst_d3d11_mpeg2_dec_set_context);
long_name =
g_strdup_printf ("Direct3D11 MPEG2 %s Decoder", cdata->description);
g_strdup_printf ("Direct3D11/DXVA MPEG2 %s Decoder", cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Codec/Decoder/Video/Hardware", "A Direct3D11 based MPEG2 video decoder",
"Codec/Decoder/Video/Hardware", "A Direct3D11/DXVA MPEG2 video decoder",
"Seungha Yang <seungha@centricular.com>");
g_free (long_name);
@ -606,6 +621,7 @@ gst_d3d11_mpeg2_dec_start_picture (GstMpeg2Decoder * decoder,
break;
}
/* *INDENT-OFF* */
pic_params.wPicWidthInMBminus1 = self->width_in_mb - 1;
pic_params.wPicHeightInMBminus1 = (self->height_in_mb >> is_field) - 1;
pic_params.bMacroblockWidthMinus1 = 15;
@ -624,6 +640,7 @@ gst_d3d11_mpeg2_dec_start_picture (GstMpeg2Decoder * decoder,
pic_params.bPicScanMethod = slice->pic_ext->alternate_scan;
pic_params.wBitstreamFcodes = _pack_f_codes (slice->pic_ext->f_code);
pic_params.wBitstreamPCEelements = _pack_pce_elements (slice);
/* *INDENT-ON* */
GST_TRACE_OBJECT (self, "Getting picture param decoder buffer");
if (!gst_d3d11_decoder_get_decoder_buffer (self->d3d11_decoder,

View file

@ -17,6 +17,23 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11upload
* @title: d3d11upload
*
* Upload video frame to Direct3D11 texture memory
*
* ## Example launch line
* ```
* gst-launch-1.0 videotestsrc ! d3d11upload ! d3d11videosinkelement
* ```
* This pipeline will upload video test frame (system memory) into Direct3D11
* textures and d3d11videosinkelement will display frames on screen.
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
# include <config.h>
#endif
@ -102,7 +119,7 @@ gst_d3d11_upload_class_init (GstD3D11UploadClass * klass)
gst_element_class_set_static_metadata (element_class,
"Direct3D11 uploader", "Filter/Video",
"Uploads data into D3D11 texture memory",
"Uploads data into Direct3D11 texture memory",
"Seungha Yang <seungha.yang@navercorp.com>");
trans_class->passthrough_on_same_caps = TRUE;

View file

@ -18,6 +18,24 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11videosinkelement
* @title: d3d11videosinkelement
*
* Direct3D11 based video render element. This element allows only Direct3D11
* textures as a input. Use #d3d11videosink instead which is a convenient
* wrapper of #d3d11videosinkelement with #d3d11upload.
*
* ## Example launch line
* ```
* gst-launch-1.0 videotestsrc ! d3d11upload ! d3d11videosinkelement
* ```
* This pipeline will display test video stream on screen via d3d11videosinkelement
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -221,9 +239,10 @@ gst_d3d11_video_sink_class_init (GstD3D11VideoSinkClass * klass)
/**
* GstD3D11VideoSink:draw-on-shared-texture:
*
* Instrcut the sink to draw on a shared texture provided by user.
* User must watch "begin-draw" signal and should call "draw" method
* on the "begin-draw" signal handler.
* Instruct the sink to draw on a shared texture provided by user.
* User must watch #d3d11videosinkelement::begin-draw signal and should call
* #d3d11videosinkelement::draw method on the #d3d11videosinkelement::begin-draw
* signal handler.
*
* Currently supported formats for user texture are:
* - DXGI_FORMAT_R8G8B8A8_UNORM
@ -247,11 +266,12 @@ gst_d3d11_video_sink_class_init (GstD3D11VideoSinkClass * klass)
G_PARAM_STATIC_STRINGS));
/**
* GstD3D11VideoSink:begin-draw:
* @videosink: the d3d11videosink
* GstD3D11VideoSink::begin-draw:
* @videosink: the #d3d11videosinkelement
*
* Signal that sink has a texture to draw. Application needs to invoke "draw"
* action signal before returning from "begin-draw" signal handler.
* Emitted when sink has a texture to draw. Application needs to invoke
* #d3d11videosinkelement::draw action signal before returning from
* #d3d11videosinkelement::begin-draw signal handler.
*
* Since: 1.20
*/
@ -261,18 +281,18 @@ gst_d3d11_video_sink_class_init (GstD3D11VideoSinkClass * klass)
NULL, NULL, NULL, G_TYPE_NONE, 0, G_TYPE_NONE);
/**
* GstD3D11VideoSink:draw:
* @videosink: the d3d11videosink
* GstD3D11VideoSink::draw:
* @videosink: the #d3d11videosinkelement
* @shard_handle: a pointer to HANDLE
* @texture_misc_flags: a D3D11_RESOURCE_MISC_FLAG value
* @acquire_key: a key value used for IDXGIKeyedMutex::AcquireSync
* @release_key: a key value used for IDXGIKeyedMutex::ReleaseSync
*
* Draws on shared texture. @shard_handle must be a valid pointer to HANDLE
* which was obtained via IDXGIResource::GetSharedHandle or
* Draws on a shared texture. @shard_handle must be a valid pointer to
* a HANDLE which was obtained via IDXGIResource::GetSharedHandle or
* IDXGIResource1::CreateSharedHandle.
*
* If texture was created with D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag,
* If the texture was created with D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag,
* caller must specify valid @acquire_key and @release_key.
* Otherwise (i.e., created with D3D11_RESOURCE_MISC_SHARED flag),
* @acquire_key and @release_key will be ignored.

View file

@ -18,6 +18,22 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11videosink
* @title: d3d11videosink
*
* Direct3D11 based video render element
*
* ## Example launch line
* ```
* gst-launch-1.0 videotestsrc ! d3d11videosink
* ```
* This pipeline will display test video stream on screen via #d3d11videosink
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
@ -264,6 +280,22 @@ gst_d3d11_video_sink_bin_class_init (GstD3D11VideoSinkBinClass * klass)
GST_PARAM_CONDITIONALLY_AVAILABLE | GST_PARAM_MUTABLE_READY |
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
#endif
/**
* GstD3D11VideoSinkBin:draw-on-shared-texture:
*
* Instruct the sink to draw on a shared texture provided by user.
* User must watch #d3d11videosink::begin-draw signal and should call
* #d3d11videosink::draw method on the #d3d11videosink::begin-draw
* signal handler.
*
* Currently supported formats for user texture are:
* - DXGI_FORMAT_R8G8B8A8_UNORM
* - DXGI_FORMAT_B8G8R8A8_UNORM
* - DXGI_FORMAT_R10G10B10A2_UNORM
*
* Since: 1.20
*/
g_object_class_install_property (gobject_class, PROP_DRAW_ON_SHARED_TEXTURE,
g_param_spec_boolean ("draw-on-shared-texture",
"Draw on shared texture",
@ -278,11 +310,40 @@ gst_d3d11_video_sink_bin_class_init (GstD3D11VideoSinkBinClass * klass)
G_PARAM_READWRITE | GST_PARAM_MUTABLE_READY |
G_PARAM_STATIC_STRINGS));
/**
* GstD3D11VideoSinkBin::begin-draw:
* @videosink: the #d3d11videosink
*
* Emitted when sink has a texture to draw. Application needs to invoke
* #d3d11videosink::draw action signal before returning from
* #d3d11videosink::begin-draw signal handler.
*
* Since: 1.20
*/
gst_d3d11_video_sink_bin_signals[SIGNAL_BEGIN_DRAW] =
g_signal_new ("begin-draw", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (GstD3D11VideoSinkBinClass, begin_draw),
NULL, NULL, NULL, G_TYPE_NONE, 0, G_TYPE_NONE);
/**
* GstD3D11VideoSinkBin::draw:
* @videosink: the #d3d11videosink
* @shard_handle: a pointer to HANDLE
* @texture_misc_flags: a D3D11_RESOURCE_MISC_FLAG value
* @acquire_key: a key value used for IDXGIKeyedMutex::AcquireSync
* @release_key: a key value used for IDXGIKeyedMutex::ReleaseSync
*
* Draws on a shared texture. @shard_handle must be a valid pointer to
* a HANDLE which was obtained via IDXGIResource::GetSharedHandle or
* IDXGIResource1::CreateSharedHandle.
*
* If the texture was created with D3D11_RESOURCE_MISC_SHARED_KEYEDMUTEX flag,
* caller must specify valid @acquire_key and @release_key.
* Otherwise (i.e., created with D3D11_RESOURCE_MISC_SHARED flag),
* @acquire_key and @release_key will be ignored.
*
* Since: 1.20
*/
gst_d3d11_video_sink_bin_signals[SIGNAL_DRAW] =
g_signal_new ("draw", G_TYPE_FROM_CLASS (klass),
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
@ -294,7 +355,7 @@ gst_d3d11_video_sink_bin_class_init (GstD3D11VideoSinkBinClass * klass)
gst_element_class_set_static_metadata (element_class,
"Direct3D11 video sink bin", "Sink/Video",
"A Direct3D11 based videosink",
"A Direct3D11 based videosink bin",
"Seungha Yang <seungha.yang@navercorp.com>");
caps = gst_d3d11_get_updated_template_caps (&pad_template_caps);

View file

@ -17,6 +17,21 @@
* Boston, MA 02110-1301, USA.
*/
/**
* SECTION:element-d3d11vp8dec
* @title: d3d11vp8dec
*
* A Direct3D11/DXVA based VP8 video decoder
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/vp8/file ! parsebin ! d3d11vp8dec ! d3d11videosink
* ```
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -142,10 +157,10 @@ gst_d3d11_vp8_dec_class_init (GstD3D11Vp8DecClass * klass, gpointer data)
element_class->set_context =
GST_DEBUG_FUNCPTR (gst_d3d11_vp8_dec_set_context);
long_name = g_strdup_printf ("Direct3D11 VP8 %s Decoder", cdata->description);
long_name =
g_strdup_printf ("Direct3D11/DXVA VP8 %s Decoder", cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Codec/Decoder/Video/Hardware",
"A Direct3D11 based VP8 video decoder",
"Codec/Decoder/Video/Hardware", "A Direct3D11/DXVA VP8 video decoder",
"Seungha Yang <seungha.yang@navercorp.com>");
g_free (long_name);

View file

@ -47,6 +47,21 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
/**
* SECTION:element-d3d11vp9dec
* @title: d3d11vp9dec
*
* A Direct3D11/DXVA based VP9 video decoder
*
* ## Example launch line
* ```
* gst-launch-1.0 filesrc location=/path/to/vp9/file ! parsebin ! d3d11vp9dec ! d3d11videosink
* ```
*
* Since: 1.18
*
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
@ -180,10 +195,10 @@ gst_d3d11_vp9_dec_class_init (GstD3D11Vp9DecClass * klass, gpointer data)
element_class->set_context =
GST_DEBUG_FUNCPTR (gst_d3d11_vp9_dec_set_context);
long_name = g_strdup_printf ("Direct3D11 VP9 %s Decoder", cdata->description);
long_name =
g_strdup_printf ("Direct3D11/DXVA VP9 %s Decoder", cdata->description);
gst_element_class_set_metadata (element_class, long_name,
"Codec/Decoder/Video/Hardware",
"A Direct3D11 based VP9 video decoder",
"Codec/Decoder/Video/Hardware", "A Direct3D11/DXVA VP9 video decoder",
"Seungha Yang <seungha.yang@navercorp.com>");
g_free (long_name);

View file

@ -81,12 +81,6 @@ plugin_init (GstPlugin * plugin)
D3D_FEATURE_LEVEL max_feature_level = D3D_FEATURE_LEVEL_9_3;
guint i;
/**
* plugin-d3d11:
*
* Since: 1.18
*/
GST_DEBUG_CATEGORY_INIT (gst_d3d11_debug, "d3d11", 0, "direct3d 11 plugin");
GST_DEBUG_CATEGORY_INIT (gst_d3d11_shader_debug,
"d3d11shader", 0, "d3d11shader");