docs: Update nvcodec plugin docs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8325>
This commit is contained in:
Seungha Yang 2025-01-20 03:14:22 +09:00 committed by GStreamer Marge Bot
parent c01ef564d9
commit d9510be7b1
5 changed files with 864 additions and 1156 deletions

File diff suppressed because it is too large Load diff

View file

@ -17,6 +17,21 @@
* Boston, MA 02110-1301, USA. * Boston, MA 02110-1301, USA.
*/ */
/**
* SECTION:element-cudacompositor
* @title: cudacompositor
*
* A CUDA based video compositing element.
*
* ## Example launch line
* ```
* gst-launch-1.0 cudacompositor name=c ! cudadownload ! autovideosink \
* videotestsrc ! video/x-raw,width=320,height=240 ! cudaupload ! c. \
* videotestsrc pattern=ball ! video/x-raw,width=100,height=100 ! cudaupload ! c.
*
* Since: 1.26
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
#endif #endif
@ -34,6 +49,11 @@ enum GstCudaCompositorOperator
GST_CUDA_COMPOSITOR_OPERATOR_OVER, GST_CUDA_COMPOSITOR_OPERATOR_OVER,
}; };
/**
* GstCudaCompositorOperator:
*
* Since: 1.26
*/
#define GST_TYPE_CUDA_COMPOSITOR_OPERATOR (gst_cuda_compositor_operator_get_type()) #define GST_TYPE_CUDA_COMPOSITOR_OPERATOR (gst_cuda_compositor_operator_get_type())
static GType static GType
gst_cuda_compositor_operator_get_type (void) gst_cuda_compositor_operator_get_type (void)
@ -60,6 +80,11 @@ enum GstCudaCompositorSizingPolicy
GST_CUDA_COMPOSITOR_SIZING_POLICY_KEEP_ASPECT_RATIO, GST_CUDA_COMPOSITOR_SIZING_POLICY_KEEP_ASPECT_RATIO,
}; };
/**
* GstCudaCompositorSizingPolicy:
*
* Since: 1.26
*/
#define GST_TYPE_CUDA_COMPOSITOR_SIZING_POLICY (gst_cuda_compositor_sizing_policy_get_type()) #define GST_TYPE_CUDA_COMPOSITOR_SIZING_POLICY (gst_cuda_compositor_sizing_policy_get_type())
static GType static GType
gst_cuda_compositor_sizing_policy_get_type (void) gst_cuda_compositor_sizing_policy_get_type (void)
@ -148,6 +173,11 @@ struct GstCudaCompositorPadPrivate
GstCudaCompositorSizingPolicy sizing_policy = DEFAULT_PAD_SIZING_POLICY; GstCudaCompositorSizingPolicy sizing_policy = DEFAULT_PAD_SIZING_POLICY;
}; };
/**
* GstCudaCompositorPad:
*
* Since: 1.26
*/
struct _GstCudaCompositorPad struct _GstCudaCompositorPad
{ {
GstVideoAggregatorConvertPad parent; GstVideoAggregatorConvertPad parent;

View file

@ -17,6 +17,33 @@
* Boston, MA 02110-1301, USA. * Boston, MA 02110-1301, USA.
*/ */
/**
* SECTION:element-nvav1enc
* @title: nvav1enc
*
* NVIDIA AV1 video encoder
*
* Since: 1.26
*/
/**
* SECTION:element-nvd3d11av1enc
* @title: nvd3d11av1enc
*
* NVIDIA Direct3D11 mode AV1 video encoder
*
* Since: 1.26
*/
/**
* SECTION:element-nvautogpuav1enc
* @title: nvautogpuav1enc
*
* NVIDIA auto GPU select mode AV1 video encoder
*
* Since: 1.26
*/
#ifdef HAVE_CONFIG_H #ifdef HAVE_CONFIG_H
#include "config.h" #include "config.h"
#endif #endif
@ -263,6 +290,11 @@ gst_nv_av1_encoder_class_init (GstNvAv1EncoderClass * klass, gpointer data)
GST_PARAM_DOC_SHOW_DEFAULT))); GST_PARAM_DOC_SHOW_DEFAULT)));
} }
if (cdata->adapter_luid_size > 0) { if (cdata->adapter_luid_size > 0) {
/**
* GstNvAutoGpuAv1Enc:adapter-luid:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ADAPTER_LUID, g_object_class_install_property (object_class, PROP_ADAPTER_LUID,
g_param_spec_int64 ("adapter-luid", "Adapter LUID", g_param_spec_int64 ("adapter-luid", "Adapter LUID",
"DXGI Adapter LUID (Locally Unique Identifier) to use", "DXGI Adapter LUID (Locally Unique Identifier) to use",

View file

@ -383,26 +383,61 @@ gst_nv_h264_encoder_class_init (GstNvH264EncoderClass * klass, gpointer data)
"Number of frames between intra frames (-1 = infinite)", "Number of frames between intra frames (-1 = infinite)",
-1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags)); -1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags));
if (dev_caps->max_bframes > 0) { if (dev_caps->max_bframes > 0) {
/**
* GstNvD3D11H264Enc:bframes:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_B_FRAMES, g_object_class_install_property (object_class, PROP_B_FRAMES,
g_param_spec_uint ("bframes", "B Frames", g_param_spec_uint ("bframes", "B Frames",
"Number of B-frames between I and P", 0, dev_caps->max_bframes, "Number of B-frames between I and P", 0, dev_caps->max_bframes,
DEFAULT_B_FRAMES, conditional_param_flags)); DEFAULT_B_FRAMES, conditional_param_flags));
} }
/**
* GstNvD3D11H264Enc:rc-mode:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_RATE_CONTROL, g_object_class_install_property (object_class, PROP_RATE_CONTROL,
g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode", g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode",
GST_TYPE_NV_ENCODER_RC_MODE, DEFAULT_RATE_CONTROL, param_flags)); GST_TYPE_NV_ENCODER_RC_MODE, DEFAULT_RATE_CONTROL, param_flags));
/**
* GstNvD3D11H264Enc:qp-const:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST, g_object_class_install_property (object_class, PROP_QP_CONST,
g_param_spec_int ("qp-const", "QP Const", g_param_spec_int ("qp-const", "QP Const",
"DEPRECATED, use qp-const-{i,p,b} properties instead", -1, 51, "DEPRECATED, use qp-const-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_I, g_object_class_install_property (object_class, PROP_QP_CONST_I,
g_param_spec_int ("qp-const-i", "QP Const I", g_param_spec_int ("qp-const-i", "QP Const I",
"Constant QP value for I frame (-1 = default)", -1, 51, "Constant QP value for I frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_P, g_object_class_install_property (object_class, PROP_QP_CONST_P,
g_param_spec_int ("qp-const-p", "QP Cost P", g_param_spec_int ("qp-const-p", "QP Cost P",
"Constant QP value for P frame (-1 = default)", -1, 51, "Constant QP value for P frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_B, g_object_class_install_property (object_class, PROP_QP_CONST_B,
g_param_spec_int ("qp-const-b", "QP Const B", g_param_spec_int ("qp-const-b", "QP Const B",
"Constant QP value for B frame (-1 = default)", -1, 51, "Constant QP value for B frame (-1 = default)", -1, 51,
@ -447,6 +482,12 @@ gst_nv_h264_encoder_class_init (GstNvH264EncoderClass * klass, gpointer data)
"Temporal Adaptive Quantization", DEFAULT_TEMPORAL_AQ, "Temporal Adaptive Quantization", DEFAULT_TEMPORAL_AQ,
conditional_param_flags)); conditional_param_flags));
} }
/**
* GstNvD3D11H264Enc:zerolatency:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ZEROLATENCY, g_object_class_install_property (object_class, PROP_ZEROLATENCY,
g_param_spec_boolean ("zerolatency", "Zerolatency", g_param_spec_boolean ("zerolatency", "Zerolatency",
"Zero latency operation (no reordering delay)", "Zero latency operation (no reordering delay)",
@ -464,34 +505,82 @@ gst_nv_h264_encoder_class_init (GstNvH264EncoderClass * klass, gpointer data)
"Adaptive Quantization Strength when spatial-aq is enabled" "Adaptive Quantization Strength when spatial-aq is enabled"
" from 1 (low) to 15 (aggressive), (0 = autoselect)", " from 1 (low) to 15 (aggressive), (0 = autoselect)",
0, 15, DEFAULT_AQ_STRENGTH, param_flags)); 0, 15, DEFAULT_AQ_STRENGTH, param_flags));
/**
* GstNvD3D11H264Enc:qp-min:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN, g_object_class_install_property (object_class, PROP_QP_MIN,
g_param_spec_int ("qp-min", "QP Min", g_param_spec_int ("qp-min", "QP Min",
"DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51, "DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_I, g_object_class_install_property (object_class, PROP_QP_MIN_I,
g_param_spec_int ("qp-min-i", "QP Min I", g_param_spec_int ("qp-min-i", "QP Min I",
"Minimum QP value for I frame, (-1 = automatic)", -1, 51, "Minimum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_P, g_object_class_install_property (object_class, PROP_QP_MIN_P,
g_param_spec_int ("qp-min-p", "QP Min P", g_param_spec_int ("qp-min-p", "QP Min P",
"Minimum QP value for P frame, (-1 = automatic)", -1, 51, "Minimum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_B, g_object_class_install_property (object_class, PROP_QP_MIN_B,
g_param_spec_int ("qp-min-b", "QP Min B", g_param_spec_int ("qp-min-b", "QP Min B",
"Minimum QP value for B frame, (-1 = automatic)", -1, 51, "Minimum QP value for B frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX, g_object_class_install_property (object_class, PROP_QP_MAX,
g_param_spec_int ("qp-max", "QP Max", g_param_spec_int ("qp-max", "QP Max",
"DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51, "DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_I, g_object_class_install_property (object_class, PROP_QP_MAX_I,
g_param_spec_int ("qp-max-i", "QP Max I", g_param_spec_int ("qp-max-i", "QP Max I",
"Maximum QP value for I frame, (-1 = automatic)", -1, 51, "Maximum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_P, g_object_class_install_property (object_class, PROP_QP_MAX_P,
g_param_spec_int ("qp-max-p", "QP Max P", g_param_spec_int ("qp-max-p", "QP Max P",
"Maximum QP value for P frame, (-1 = automatic)", -1, 51, "Maximum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_B, g_object_class_install_property (object_class, PROP_QP_MAX_B,
g_param_spec_int ("qp-max-b", "Max QP B", g_param_spec_int ("qp-max-b", "Max QP B",
"Maximum QP value for B frame, (-1 = automatic)", -1, 51, "Maximum QP value for B frame, (-1 = automatic)", -1, 51,

View file

@ -388,26 +388,61 @@ gst_nv_h265_encoder_class_init (GstNvH265EncoderClass * klass, gpointer data)
"Number of frames between intra frames (-1 = infinite)", "Number of frames between intra frames (-1 = infinite)",
-1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags)); -1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags));
if (dev_caps->max_bframes > 0) { if (dev_caps->max_bframes > 0) {
/**
* GstNvD3D11H265Enc:bframes:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_B_FRAMES, g_object_class_install_property (object_class, PROP_B_FRAMES,
g_param_spec_uint ("bframes", "B Frames", g_param_spec_uint ("bframes", "B Frames",
"Number of B-frames between I and P", 0, dev_caps->max_bframes, "Number of B-frames between I and P", 0, dev_caps->max_bframes,
DEFAULT_B_FRAMES, conditional_param_flags)); DEFAULT_B_FRAMES, conditional_param_flags));
} }
/**
* GstNvD3D11H265Enc:rc-mode:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_RATE_CONTROL, g_object_class_install_property (object_class, PROP_RATE_CONTROL,
g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode", g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode",
GST_TYPE_NV_ENCODER_RC_MODE, DEFAULT_RATE_CONTROL, param_flags)); GST_TYPE_NV_ENCODER_RC_MODE, DEFAULT_RATE_CONTROL, param_flags));
/**
* GstNvD3D11H265Enc:qp-const:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST, g_object_class_install_property (object_class, PROP_QP_CONST,
g_param_spec_int ("qp-const", "QP Const", g_param_spec_int ("qp-const", "QP Const",
"DEPRECATED, use qp-const-{i,p,b} properties instead", "DEPRECATED, use qp-const-{i,p,b} properties instead",
-1, 51, DEFAULT_QP, param_flags)); -1, 51, DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-const-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_I, g_object_class_install_property (object_class, PROP_QP_CONST_I,
g_param_spec_int ("qp-const-i", "QP Const I", g_param_spec_int ("qp-const-i", "QP Const I",
"Constant QP value for I frame (-1 = default)", -1, 51, "Constant QP value for I frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-const-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_P, g_object_class_install_property (object_class, PROP_QP_CONST_P,
g_param_spec_int ("qp-const-p", "QP Cost P", g_param_spec_int ("qp-const-p", "QP Cost P",
"Constant QP value for P frame (-1 = default)", -1, 51, "Constant QP value for P frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-const-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_B, g_object_class_install_property (object_class, PROP_QP_CONST_B,
g_param_spec_int ("qp-const-b", "QP Const B", g_param_spec_int ("qp-const-b", "QP Const B",
"Constant QP value for B frame (-1 = default)", -1, 51, "Constant QP value for B frame (-1 = default)", -1, 51,
@ -452,6 +487,12 @@ gst_nv_h265_encoder_class_init (GstNvH265EncoderClass * klass, gpointer data)
"Temporal Adaptive Quantization", DEFAULT_TEMPORAL_AQ, "Temporal Adaptive Quantization", DEFAULT_TEMPORAL_AQ,
conditional_param_flags)); conditional_param_flags));
} }
/**
* GstNvD3D11H265Enc:zerolatency:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ZEROLATENCY, g_object_class_install_property (object_class, PROP_ZEROLATENCY,
g_param_spec_boolean ("zerolatency", "Zerolatency", g_param_spec_boolean ("zerolatency", "Zerolatency",
"Zero latency operation (no reordering delay)", "Zero latency operation (no reordering delay)",
@ -469,34 +510,82 @@ gst_nv_h265_encoder_class_init (GstNvH265EncoderClass * klass, gpointer data)
"Adaptive Quantization Strength when spatial-aq is enabled" "Adaptive Quantization Strength when spatial-aq is enabled"
" from 1 (low) to 15 (aggressive), (0 = autoselect)", " from 1 (low) to 15 (aggressive), (0 = autoselect)",
0, 15, DEFAULT_AQ_STRENGTH, param_flags)); 0, 15, DEFAULT_AQ_STRENGTH, param_flags));
/**
* GstNvD3D11H265Enc:qp-min:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN, g_object_class_install_property (object_class, PROP_QP_MIN,
g_param_spec_int ("qp-min", "QP Min", g_param_spec_int ("qp-min", "QP Min",
"DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51, "DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_I, g_object_class_install_property (object_class, PROP_QP_MIN_I,
g_param_spec_int ("qp-min-i", "QP Min I", g_param_spec_int ("qp-min-i", "QP Min I",
"Minimum QP value for I frame, (-1 = automatic)", -1, 51, "Minimum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_P, g_object_class_install_property (object_class, PROP_QP_MIN_P,
g_param_spec_int ("qp-min-p", "QP Min P", g_param_spec_int ("qp-min-p", "QP Min P",
"Minimum QP value for P frame, (-1 = automatic)", -1, 51, "Minimum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_B, g_object_class_install_property (object_class, PROP_QP_MIN_B,
g_param_spec_int ("qp-min-b", "QP Min B", g_param_spec_int ("qp-min-b", "QP Min B",
"Minimum QP value for B frame, (-1 = automatic)", -1, 51, "Minimum QP value for B frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX, g_object_class_install_property (object_class, PROP_QP_MAX,
g_param_spec_int ("qp-max", "QP Max", g_param_spec_int ("qp-max", "QP Max",
"DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51, "DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_I, g_object_class_install_property (object_class, PROP_QP_MAX_I,
g_param_spec_int ("qp-max-i", "QP Max I", g_param_spec_int ("qp-max-i", "QP Max I",
"Maximum QP value for I frame, (-1 = automatic)", -1, 51, "Maximum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_P, g_object_class_install_property (object_class, PROP_QP_MAX_P,
g_param_spec_int ("qp-max-p", "QP Max P", g_param_spec_int ("qp-max-p", "QP Max P",
"Maximum QP value for P frame, (-1 = automatic)", -1, 51, "Maximum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags)); DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_B, g_object_class_install_property (object_class, PROP_QP_MAX_B,
g_param_spec_int ("qp-max-b", "Max QP B", g_param_spec_int ("qp-max-b", "Max QP B",
"Maximum QP value for B frame, (-1 = automatic)", -1, 51, "Maximum QP value for B frame, (-1 = automatic)", -1, 51,