NVIDIA V4L2 视频编码器描述和扩展。
视频编码器设备节点是 "/dev/nvhost-msenc"
。
输出平面 | 捕获平面 |
---|---|
V4L2_PIX_FMT_YUV420M | V4L2_PIX_FMT_H264 |
- | V4L2_PIX_FMT_H265 |
内存 | 输出平面 | 捕获平面 |
---|---|---|
V4L2_MEMORY_MMAP | 是 | 是 |
V4L2_MEMORY_DMABUF | 是 | 否 |
V4L2_MEMORY_USERPTR | 否 | 否 |
以下章节描述了支持的控件。
控件 ID | 用途 | 运行时可配置 |
---|---|---|
V4L2_CID_MPEG_VIDEO_BITRATE | 比特率 | 是 |
V4L2_CID_MPEG_VIDEO_H264_PROFILE | H.264 编码 Profile | 否 |
V4L2_CID_MPEG_VIDEO_BITRATE_MODE | 码率控制模式 | 否 |
V4L2_CID_MPEG_VIDEO_GOP_SIZE | I 帧间隔 | 否 |
V4L2_CID_MPEG_VIDEO_H264_LEVEL | 编码 Level | 否 |
V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE | 在排队的输出平面缓冲区之一上强制 I 帧 | 是 |
所有非运行时可配置选项必须在设置两个平面的格式之后以及在任一平面上请求缓冲区之前设置。
运行时可配置参数可以在设置两个平面的格式之后的任何时间调用。
编码器帧率可以使用 VIDIOC_S_PARM
IOCTL 通过设置 v4l2_streamparm.parm.output.timeperframe
中的分子和分母来设置。
编码器支持报告帧相关元数据,包括该帧的运动向量。 有关更多信息,请参见 V4L2_CID_MPEG_VIDEOENC_METADATA
,V4L2_CID_MPEG_VIDEOENC_METADATA_MV
和 V4L2_CID_MPEG_VIDEOENC_ENABLE_METADATA_MV
。
必须遵循以下顺序来发送 EOS 和从编码器接收 EOS。
v4l2_buffer.m.planes[0].bytesused = 0
)来向编码器发送 EOS。#define QP_RETAIN_VAL -1 |
在 v4l2_ctrl_video_qp_range 中将 Qp 值设置为 QP_RETAIN_VAL 将保留默认值或先前设置的 QP 值。
定义于文件 2224 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_SET_POLL_INTERRUPT (V4L2_CID_MPEG_BASE+551) |
用于设置/清除轮询中断模式的 Control ID。
当应用程序发出 POLL 但希望等待被中断时很有用。
此控件必须提供一个布尔值,True 表示应启用轮询中断,并且应保持启用状态(即,对 POLL 的调用将立即返回),直到通过传递布尔值 0 值调用相同的 Control ID。
定义于文件 1103 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_BUF_API_TYPE (V4L2_CID_MPEG_BASE+556) |
定义用于设置解码器/编码器使用的 buf api 的 Control ID。
此控件应提供一个布尔值,默认为 0。必须在任何其他 ioctl 使用之前调用此控件,并且不能更改。
定义于文件 1154 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_CUDA_GPU_ID (V4L2_CID_MPEG_BASE+558) |
定义用于设置解码器/编码器使用的 GPU ID 的 Control ID。
此控件应提供一个整数值。
定义于文件 1175 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_CUDA_LOW_LATENCY (V4L2_CID_MPEG_BASE+568) |
定义用于为解码器设置低延迟的 Control ID。
解码器可以使用此控件为具有 I 和 IPPP 帧的流设置低延迟。
定义于文件 1281 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_CUDA_MEM_TYPE (V4L2_CID_MPEG_BASE+557) |
定义用于设置解码器/编码器使用的 cuda 内存类型的 Control ID。
解码器可以使用此控件设置表面的内存类型。值 v4l2_cuda_mem_type
需要使用此控件设置。
定义于文件 1165 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_DECODE_INSTANCE (V4L2_CID_MPEG_BASE+549) |
用于选择要解码的 NVDEC IP 的 Control ID。
应为此控件提供 v4l2_decode_instance_type。
定义于文件 1081 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_DEVICE_POLL (V4L2_CID_MPEG_BASE+550) |
用于在以非阻塞模式打开的 fd 上发出伪 POLL 调用的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_video_device_poll 的指针。
定义于文件 1090 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEO_MAX_PERFORMANCE (V4L2_CID_MPEG_BASE+554) |
用于启用最大性能的 Control ID。
此控件必须提供一个整数值。
定义于文件 1132 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEODEC_DROP_FRAME_INTERVAL (V4L2_CID_MPEG_BASE+559) |
定义用于为解码器设置丢帧间隔的 Control ID。
此控件应提供一个整数值。值 "x" 表示应从解码器输出每 "x" 帧,其余帧应在解码后丢弃。
定义于文件 1187 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_AV1_DISABLE_CDF_UPDATE (V4L2_CID_MPEG_BASE+572) |
定义用于为 AV1 启用 CDF 更新的 Control ID。
此控件应提供一个布尔值。如果值为 true,则禁用符号解码过程中的 CDF 更新。
定义于文件 1326 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_AV1_ENABLE_SSIMRDO (V4L2_CID_MPEG_BASE+571) |
定义用于为 AV1 启用基于方差的 SSIM RDO 的 Control ID。
此控件应提供一个布尔值。如果值为 false,则禁用 SSIM RDO,否则为 true(启用时)。
定义于文件 1315 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_AV1_HEADERS_WITH_FRAME (V4L2_CID_MPEG_BASE+569) |
用于启用/禁用附加 IVF 标头的设置的 Control ID。
仅用于 AV1 编解码器。
此控件应提供一个布尔值。如果值为 false,则禁用标头,true 将启用标头。
定义于文件 1293 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_AV1_TILE_CONFIGURATION (V4L2_CID_MPEG_BASE+570) |
定义用于为会话配置 AV1 图块的 Control ID。
必须为此控件提供指向有效 v4l2_enc_av1_tile_config 结构的指针。
定义于文件 1304 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_ALLIFRAME_ENCODE (V4L2_CID_MPEG_BASE+555) |
用于启用/禁用全 i 帧编码设置的 Control ID。
此控件应提供一个布尔值。
定义于文件 1142 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RATE_CONTROL (V4L2_CID_MPEG_BASE+543) |
定义用于配置编码器进行外部速率控制的 Control ID。
必须为此控件提供指向有效 v4l2_enc_enable_ext_rate_ctr 结构的指针。
定义于文件 1015 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RPS_CONTROL (V4L2_CID_MPEG_BASE+542) |
定义用于配置编码器进行外部 RPS 控制的 Control ID。
必须为此控件提供指向有效 v4l2_enc_enable_ext_rps_ctr 结构的指针。
定义于文件 1004 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_LOSSLESS (V4L2_CID_MPEG_BASE+575) |
定义用于启用无损 H.264/H.265 编码的 Control ID。
此控件必须提供一个布尔值。默认为 0。无损编码仅支持 YUV444 8/10 位格式。
定义于文件 1359 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_METADATA_MV (V4L2_CID_MPEG_BASE+537) |
定义用于启用/禁用编码器运动矢量报告的 Control ID。
此控件必须提供一个布尔值。
定义于文件 945 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_RECONCRC_PARAM (V4L2_CID_MPEG_BASE+545) |
定义用于为会话配置重建 CRC 的 Control ID。
必须为此控件提供指向有效 v4l2_enc_enable_reconcrc_param 结构的指针。
定义于文件 1037 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_ROI_PARAM (V4L2_CID_MPEG_BASE+544) |
定义用于为会话配置 ROI 编码的 Control ID。
必须为此控件提供指向有效 v4l2_enc_enable_roi_param 结构的指针。
定义于文件 1026 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_SLICE_LEVEL_ENCODE (V4L2_CID_MPEG_BASE+562) |
用于启用/禁用切片级编码输出的 Control ID。
此控件应提供一个布尔值。
定义于文件 1216 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_EXTEDED_COLORFORMAT (V4L2_CID_MPEG_BASE+548) |
用于启用/禁用设置扩展颜色格式的 Control ID。
此控件应提供一个布尔值。
定义于文件 1068 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_FORCE_IDR_FRAME (V4L2_CID_MPEG_BASE+567) |
定义用于强制 IDR 帧的 Control ID。
编码器可以使用此控件强制编码 idr 帧。
定义于文件 1271 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_FORCE_INTRA_FRAME (V4L2_CID_MPEG_BASE+566) |
定义用于强制 INTRA 帧的 Control ID。
编码器可以使用此控件强制编码 intra 帧。
定义于文件 1261 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_FRAMES_TO_ENCODE (V4L2_CID_MPEG_BASE+573) |
定义用于设置要编码的总帧数的 Control ID。
此控件应提供一个整数值。值 "x" 表示提供给编码器进行编码的帧数。
定义于文件 1337 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_H265_CHROMA_FACTOR_IDC (V4L2_CID_MPEG_BASE+576) |
定义用于为 H.265 编码设置 chroma_factor_idc 的 Control ID。
此控件必须提供一个整数值。默认为 1,YUV444 8/10 位格式默认为 3。
定义于文件 1370 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_H265_LEVEL (V4L2_CID_MPEG_BASE+561) |
#define V4L2_CID_MPEG_VIDEOENC_H265_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+565) |
定义用于为 H265 VUI 编码设置样本纵横比高度的 Control ID。
此控件必须提供一个整数值。H265 的 VUI 样本纵横比指示符遵循为 v4l2_mpeg_video_h264_vui_sar_idc 定义的标准枚举。
定义于文件 1251 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_H265_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+564) |
定义用于为 H265 VUI 编码设置样本纵横比宽度的 Control ID。
此控件必须提供一个整数值。H265 的 VUI 样本纵横比指示符遵循为 v4l2_mpeg_video_h264_vui_sar_idc 定义的标准枚举。
定义于文件 1239 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_HW_PRESET_TYPE_PARAM (V4L2_CID_MPEG_BASE+540) |
定义用于设置编码器硬件预设类型的 Control ID。
必须为此控件提供指向有效 v4l2_enc_hw_preset_type_param 结构的指针。
定义于文件 979 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_INIT_FRAME_QP (V4L2_CID_MPEG_BASE+574) |
定义用于为编码器会话配置初始 QP 参数的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_video_init_qp 结构的指针。
定义于文件 1346 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA (V4L2_CID_MPEG_BASE+541) |
定义用于为编码器缓冲区提供输入元数据的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_videoenc_input_metadata 结构的指针。
定义于文件 992 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_INSERT_AUD (V4L2_CID_MPEG_BASE+547) |
用于启用/禁用插入 AUD(访问单元分隔符)的 Control ID。
此控件应提供一个布尔值。
定义于文件 1057 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_INSERT_SPS_PPS_AT_IDR (V4L2_CID_MPEG_BASE+535) |
定义用于启用/禁用在 IDR 间隔显式插入 SPS 和 PPS 的 Control ID。
此控件必须提供一个布尔值。
定义于文件 923 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_INSERT_VUI (V4L2_CID_MPEG_BASE+546) |
用于启用/禁用在 SPS 中插入 VUI 的 Control ID。
此控件应提供一个布尔值。
定义于文件 1047 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_METADATA (V4L2_CID_MPEG_BASE+536) |
定义用于获取编码器输出元数据的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_video_metadata 结构的指针。
定义于文件 935 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_METADATA_MV (V4L2_CID_MPEG_BASE+538) |
定义用于获取编码器输出运动矢量元数据的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_videoenc_outputbuf_metadata_MV
结构的指针。
定义于文件 957 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_NUM_BFRAMES (V4L2_CID_MPEG_BASE+534) |
定义用于设置要在两个 P 帧之间编码的 B 帧数的 Control ID。
这适用于 H.264 编码器。这也适用于 Jetson Xavier 和 Jetson Xavier NX 平台的 H.265 编码器。此控件必须提供一个整数值。
定义于文件 913 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES (V4L2_CID_MPEG_BASE+532) |
定义用于指定可以使用的最大参考帧数的 Control ID。
此控件必须提供一个整数值。
定义于文件 891 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_POC_TYPE (V4L2_CID_MPEG_BASE+563) |
定义用于设置帧中图片顺序计数属性的 Control ID。
这仅适用于 H.264 编码器。此控件必须提供一个整数值。
定义于文件 1227 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_QP_RANGE (V4L2_CID_MPEG_BASE+539) |
定义用于设置 I/P/B 帧的 QP 范围的 Control ID。
必须为此控件提供指向有效 v4l2_ctrl_video_qp_range
结构的指针。
定义于文件 968 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_ROI_PARAMS (V4L2_CID_MPEG_BASE+530) |
定义用于配置编码器以高质量编码帧的特定区域的 Control ID。
必须为此控件提供指向有效 v4l2_enc_frame_ROI_params
结构的指针。
定义于文件 870 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM (V4L2_CID_MPEG_BASE+533) |
定义用于指定编码器切片内刷新间隔的 Control ID。
必须为此控件提供指向有效 v4l2_enc_slice_intrarefresh_param
结构的指针。
定义于文件 902 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM (V4L2_CID_MPEG_BASE+529) |
定义用于配置编码器切片长度(以 MB 或位为单位)的 Control ID。
必须为此控件提供指向有效 v4l2_enc_slice_length_param
结构的指针。
定义于文件 858 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_TEMPORAL_TRADEOFF_LEVEL (V4L2_CID_MPEG_BASE+528) |
定义用于配置编码器以在编码时丢帧的 Control ID。
必须为此控件提供 v4l2_enc_temporal_tradeoff_level_type
类型的值。
定义于文件 847 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_TWO_PASS_CBR (V4L2_CID_MPEG_BASE+552) |
用于启用/禁用设置速率控制两遍 CBR 的 Control ID。
此控件应提供一个布尔值。
定义于文件 1113 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE (V4L2_CID_MPEG_BASE+531) |
定义用于指定编码器虚拟缓冲区大小(以位为单位)的 Control ID。
必须为此控件提供指向有效 v4l2_enc_virtual_buffer_size
结构的指针。
定义于文件 881 行 v4l2_nv_extensions.h。
#define V4L2_CID_MPEG_VIDEOENC_VPX_HEADERS_WITH_FRAME (V4L2_CID_MPEG_BASE+560) |
用于启用/禁用附加 VP8/9 标头的设置的 Control ID。
仅用于 VP8/9 像素格式,不适用于 H264/5。
此控件应提供一个布尔值。如果值为 false,则禁用标头,true 将启用标头。
定义于文件 1199 行 v4l2_nv_extensions.h。
#define V4L2_CID_VIDEO_CONVERT_YUV_RESCALE_METHOD (V4L2_CID_MPEG_BASE+553) |
定义用于设置转换器 YUV 缩放方法的 Control ID。
必须使用类型为 v4l2_yuv_rescale_method
的值来提供此控件。
定义位于 1122 行,文件为 v4l2_nv_extensions.h。
#define V4L2_MAX_REF_FRAMES 8 |
编码器支持的最大参考帧数。
定义位于 1979 行,文件为 v4l2_nv_extensions.h。
#define V4L2_MAX_ROI_REGIONS 8 |
定义编码器支持的最大 ROI 区域数。
定义位于 1923 行,文件为 v4l2_nv_extensions.h。
保存单个块的运动矢量参数。
对于 H.264,nvenc 为每个 16x16 块(宏块)提供一个运动矢量。对于 H.265,nvenc 为每个 32x32 块(编码树块)提供一个运动矢量。
typedef struct _v4l2_ctrl_video_init_qp v4l2_ctrl_video_init_qp |
保存编码器初始化 QP 参数。
必须与 V4L2_CID_MPEG_VIDEOENC_INIT_FRAME_QP IOCTL 一起使用。
typedef struct v4l2_ctrl_video_metadata_ v4l2_ctrl_video_metadata |
保存视频编码器和解码器的元数据参数。
元数据对于具有索引 buffer_index
的缓冲区有效,从缓冲区出队后到再次入队为止。
typedef struct _v4l2_ctrl_video_qp_range v4l2_ctrl_video_qp_range |
保存编码器帧最小/最大 QP 参数。
必须与 V4L2_CID_MPEG_VIDEOENC_QP_RANGE IOCTL 一起使用。
保存编码器帧输入元数据参数。
必须与 V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL 一起使用。
保存帧的编码器输出元数据,与 V4L2_CID_MPEG_VIDEOENC_METADATA
IOCTL 一起使用。
保存完整帧的运动矢量参数。
typedef struct v4l2_enc_av1_tile_config_ v4l2_enc_av1_tile_config |
保存配置 AV1 编码分块的参数。
必须与 V4L2_CID_MPEG_VIDEOENC_AV1_TILE_CONFIGURATION IOCTL 一起使用。
typedef struct v4l2_enc_enable_ext_rate_ctrl_ v4l2_enc_enable_ext_rate_ctr |
保存为外部速率控制模式配置编码器的参数,与 V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RATE_CONTROL IOCTL 一起使用。
typedef struct v4l2_enc_enable_ext_rps_ctrl_ v4l2_enc_enable_ext_rps_ctr |
保存为外部 RPS 控制配置编码器的参数,与 V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RPS_CONTROL IOCTL 一起使用。
typedef struct v4l2_enc_enable_reconcrc_param_ v4l2_enc_enable_reconcrc_param |
保存为重建 CRC 编码配置编码器的参数。
必须与 V4L2_CID_MPEG_VIDEOENC_ENABLE_RECONCRC_PARAM IOCTL 一起使用。
typedef struct v4l2_enc_enable_roi_param_ v4l2_enc_enable_roi_param |
保存为 ROI 参数编码配置编码器的参数。
必须与 V4L2_CID_MPEG_VIDEOENC_ENABLE_ROI_PARAM IOCTL 一起使用。
保存编码器帧外部速率控制参数,与 V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA ioctl 一起使用。
保存编码器帧外部 RPS 控制参数,与 V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL 一起使用。
typedef struct v4l2_enc_frame_full_prop_ v4l2_enc_frame_full_prop |
保存编码帧的 RPS 列表参数。
typedef struct _v4l2_enc_frame_prop v4l2_enc_frame_prop |
保存编码器帧属性。
typedef struct v4l2_enc_frame_ReconCRC_params_ v4l2_enc_frame_ReconCRC_params |
保存编码器帧重建 CRC 参数。
必须与 V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL 一起使用。
typedef struct v4l2_enc_frame_ROI_params_ v4l2_enc_frame_ROI_params |
保存编码器帧 ROI 参数,与 V4L2_CID_MPEG_VIDEOENC_ROI_PARAMS IOCTL 一起使用。
typedef struct v4l2_enc_gdr_params_ v4l2_enc_gdr_params |
保存编码器 GDR 参数,与 V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL 一起使用。
typedef struct v4l2_enc_hw_preset_type_param_ v4l2_enc_hw_preset_type_param |
保存编码器硬件预设类型参数,与 V4L2_CID_MPEG_VIDEOENC_HW_PRESET_TYPE_PARAM IOCTL 一起使用。
typedef struct v4l2_enc_num_ref_frames_ v4l2_enc_num_ref_frames |
保存编码器参考帧数量参数,与 V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES
IOCTL 一起使用。
H.265 不支持此功能。
typedef struct v4l2_enc_ROI_param_ v4l2_enc_ROI_param |
保存单个 ROI 区域的编码器质量参数。
保存编码器 slice 帧内刷新参数,与 V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM
IOCTL 一起使用。
typedef struct v4l2_enc_slice_length_param_ v4l2_enc_slice_length_param |
保存编码器 slice 长度参数,与 V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM
IOCTL 一起使用。
typedef struct v4l2_enc_virtual_buffer_size_ v4l2_enc_virtual_buffer_size |
保存编码器虚拟缓冲区大小参数,与 V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE
IOCTL 一起使用。
指定编码器硬件预设类型。
定义位于 1792 行,文件为 v4l2_nv_extensions.h。
指定输入缓冲区元数据标志。
定义位于 1830 行,文件为 v4l2_nv_extensions.h。
枚举指定 slice 长度的类型。
枚举器 | |
---|---|
V4L2_ENC_SLICE_LENGTH_TYPE_BITS | Slice 大小以字节数指定。 |
V4L2_ENC_SLICE_LENGTH_TYPE_MBLK | Slice 大小以宏块数指定。 |
定义位于 1820 行,文件为 v4l2_nv_extensions.h。
指定编码器时间权衡级别的类型。
定义位于 1776 行,文件为 v4l2_nv_extensions.h。
定义 H.265 编码器可能的级别。
定义位于 1846 行,文件为 v4l2_nv_extensions.h。