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.
*/
/**
* 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
#include "config.h"
#endif
@ -34,6 +49,11 @@ enum GstCudaCompositorOperator
GST_CUDA_COMPOSITOR_OPERATOR_OVER,
};
/**
* GstCudaCompositorOperator:
*
* Since: 1.26
*/
#define GST_TYPE_CUDA_COMPOSITOR_OPERATOR (gst_cuda_compositor_operator_get_type())
static GType
gst_cuda_compositor_operator_get_type (void)
@ -60,6 +80,11 @@ enum GstCudaCompositorSizingPolicy
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())
static GType
gst_cuda_compositor_sizing_policy_get_type (void)
@ -148,6 +173,11 @@ struct GstCudaCompositorPadPrivate
GstCudaCompositorSizingPolicy sizing_policy = DEFAULT_PAD_SIZING_POLICY;
};
/**
* GstCudaCompositorPad:
*
* Since: 1.26
*/
struct _GstCudaCompositorPad
{
GstVideoAggregatorConvertPad parent;

View file

@ -17,6 +17,33 @@
* 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
#include "config.h"
#endif
@ -263,6 +290,11 @@ gst_nv_av1_encoder_class_init (GstNvAv1EncoderClass * klass, gpointer data)
GST_PARAM_DOC_SHOW_DEFAULT)));
}
if (cdata->adapter_luid_size > 0) {
/**
* GstNvAutoGpuAv1Enc:adapter-luid:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ADAPTER_LUID,
g_param_spec_int64 ("adapter-luid", "Adapter LUID",
"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)",
-1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags));
if (dev_caps->max_bframes > 0) {
/**
* GstNvD3D11H264Enc:bframes:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_B_FRAMES,
g_param_spec_uint ("bframes", "B Frames",
"Number of B-frames between I and P", 0, dev_caps->max_bframes,
DEFAULT_B_FRAMES, conditional_param_flags));
}
/**
* GstNvD3D11H264Enc:rc-mode:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_RATE_CONTROL,
g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode",
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_param_spec_int ("qp-const", "QP Const",
"DEPRECATED, use qp-const-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_I,
g_param_spec_int ("qp-const-i", "QP Const I",
"Constant QP value for I frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_P,
g_param_spec_int ("qp-const-p", "QP Cost P",
"Constant QP value for P frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-const-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_B,
g_param_spec_int ("qp-const-b", "QP Const B",
"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,
conditional_param_flags));
}
/**
* GstNvD3D11H264Enc:zerolatency:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ZEROLATENCY,
g_param_spec_boolean ("zerolatency", "Zerolatency",
"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"
" from 1 (low) to 15 (aggressive), (0 = autoselect)",
0, 15, DEFAULT_AQ_STRENGTH, param_flags));
/**
* GstNvD3D11H264Enc:qp-min:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN,
g_param_spec_int ("qp-min", "QP Min",
"DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_I,
g_param_spec_int ("qp-min-i", "QP Min I",
"Minimum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_P,
g_param_spec_int ("qp-min-p", "QP Min P",
"Minimum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-min-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_B,
g_param_spec_int ("qp-min-b", "QP Min B",
"Minimum QP value for B frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX,
g_param_spec_int ("qp-max", "QP Max",
"DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_I,
g_param_spec_int ("qp-max-i", "QP Max I",
"Maximum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_P,
g_param_spec_int ("qp-max-p", "QP Max P",
"Maximum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H264Enc:qp-max-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_B,
g_param_spec_int ("qp-max-b", "Max QP B",
"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)",
-1, G_MAXINT, DEFAULT_GOP_SIZE, param_flags));
if (dev_caps->max_bframes > 0) {
/**
* GstNvD3D11H265Enc:bframes:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_B_FRAMES,
g_param_spec_uint ("bframes", "B Frames",
"Number of B-frames between I and P", 0, dev_caps->max_bframes,
DEFAULT_B_FRAMES, conditional_param_flags));
}
/**
* GstNvD3D11H265Enc:rc-mode:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_RATE_CONTROL,
g_param_spec_enum ("rc-mode", "RC Mode", "Rate Control Mode",
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_param_spec_int ("qp-const", "QP Const",
"DEPRECATED, use qp-const-{i,p,b} properties instead",
-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_param_spec_int ("qp-const-i", "QP Const I",
"Constant QP value for I frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-const-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_P,
g_param_spec_int ("qp-const-p", "QP Cost P",
"Constant QP value for P frame (-1 = default)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-const-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_CONST_B,
g_param_spec_int ("qp-const-b", "QP Const B",
"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,
conditional_param_flags));
}
/**
* GstNvD3D11H265Enc:zerolatency:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_ZEROLATENCY,
g_param_spec_boolean ("zerolatency", "Zerolatency",
"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"
" from 1 (low) to 15 (aggressive), (0 = autoselect)",
0, 15, DEFAULT_AQ_STRENGTH, param_flags));
/**
* GstNvD3D11H265Enc:qp-min:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN,
g_param_spec_int ("qp-min", "QP Min",
"DEPRECATED, Use qp-min-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_I,
g_param_spec_int ("qp-min-i", "QP Min I",
"Minimum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_P,
g_param_spec_int ("qp-min-p", "QP Min P",
"Minimum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-min-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MIN_B,
g_param_spec_int ("qp-min-b", "QP Min B",
"Minimum QP value for B frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX,
g_param_spec_int ("qp-max", "QP Max",
"DEPRECATED, Use qp-max-{i,p,b} properties instead", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-i:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_I,
g_param_spec_int ("qp-max-i", "QP Max I",
"Maximum QP value for I frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-p:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_P,
g_param_spec_int ("qp-max-p", "QP Max P",
"Maximum QP value for P frame, (-1 = automatic)", -1, 51,
DEFAULT_QP, param_flags));
/**
* GstNvD3D11H265Enc:qp-max-b:
*
* Since: 1.26
*/
g_object_class_install_property (object_class, PROP_QP_MAX_B,
g_param_spec_int ("qp-max-b", "Max QP B",
"Maximum QP value for B frame, (-1 = automatic)", -1, 51,