L4T Multimedia API Reference27.1 Release |
NVIDIA Tegra V4L2 Video Encoder Description and Extensions.
The video encoder device node is "/dev/nvhost-msenc"
.
OUTPUT PLANE | CAPTURE PLANE |
---|---|
V4L2_PIX_FMT_YUV420M | V4L2_PIX_FMT_H264 |
- | V4L2_PIX_FMT_H265 |
MEMORY | OUTPUT PLANE | CAPTURE PLANE |
---|---|---|
V4L2_MEMORY_MMAP | Y | Y |
V4L2_MEMORY_DMABUF | Y | N |
V4L2_MEMORY_USERPTR | N | N |
The following sections describe the supported controls.
Control ID | Purpose | Runtime Configurable |
---|---|---|
V4L2_CID_MPEG_VIDEO_BITRATE | Bitrate | Y |
V4L2_CID_MPEG_VIDEO_H264_PROFILE | H.264 Encode Profile | N |
V4L2_CID_MPEG_VIDEO_BITRATE_MODE | Rate Control Mode | N |
V4L2_CID_MPEG_VIDEO_GOP_SIZE | I-frame Interval | N |
V4L2_CID_MPEG_VIDEO_H264_LEVEL | Encode Level | N |
V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE | Force I-frame on one of queued output plane buffer | Y |
All non-runtime configurable options must be set after setting formats on both the planes and before requesting buffers on either plane.
The runtime configurable parameters can be called anytime after setting formats on both the planes.
The encoder framerate can be set with VIDIOC_S_PARM
IOCTL by setting the numerator and denominator in v4l2_streamparm.parm.output.timeperframe
.
The encoder supports reporting frame related metadata, including motion vectors for that frame. See V4L2_CID_MPEG_VIDEOENC_METADATA
, V4L2_CID_MPEG_VIDEOENC_METADATA_MV
and V4L2_CID_MPEG_VIDEOENC_ENABLE_METADATA_MV
for more information.
The following sequence must be followed for sending EOS and recieving EOS from the encoder.
v4l2_buffer.m.planes[0].bytesused = 0
).Data Structures | |
struct | v4l2_enc_hw_preset_type_param_ |
Holds encoder HW Preset type parameters. More... | |
struct | v4l2_enc_slice_length_param_ |
Holds encoder slice length parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM IOCTL. More... | |
struct | v4l2_enc_virtual_buffer_size_ |
Holds encoder virtual buffer size parameters, to be used with V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE IOCTL. More... | |
struct | v4l2_enc_num_ref_frames_ |
Holds encoder number of reference frame parameters, to be used with V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES IOCTL. More... | |
struct | v4l2_enc_slice_intrarefresh_param_ |
Holds encoder slice intrareferesh parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM IOCTL. More... | |
struct | v4l2_enc_ROI_param_ |
Holds the encoder quality parameters for a single ROI region. More... | |
struct | v4l2_enc_frame_ROI_params_ |
Holds the encoder frame ROI parameters. More... | |
struct | MVInfo_ |
Holds the motion vector parameters for a single macro block. More... | |
struct | v4l2_ctrl_videoenc_outputbuf_metadata_MV_ |
Holds the motion vector parameters for one complete frame. More... | |
struct | v4l2_enc_frame_full_prop_ |
Holds the RPS List parameters of encoded frame. More... | |
struct | v4l2_ctrl_videoenc_outputbuf_metadata_ |
Holds the encoder output metadata for a frame, to be used with V4L2_CID_MPEG_VIDEOENC_METADATA IOCTL. More... | |
struct | _v4l2_ctrl_video_metadata |
Holds the metadata parameters for video encoder and decoder. More... | |
struct | v4l2_enc_gdr_params_ |
Holds the encoder GDR parameters. More... | |
struct | v4l2_enc_enable_ext_rps_ctrl_ |
Holds the params to configure encoder for external rps control. More... | |
struct | _v4l2_enc_frame_prop |
Holds the encoder frame property. More... | |
struct | v4l2_enc_frame_ext_rps_ctrl_params_ |
Holds the encoder frame external rps control parameters. More... | |
struct | v4l2_enc_enable_ext_rate_ctrl_ |
Holds the params to configure encoder for external rate control mode. More... | |
struct | v4l2_enc_frame_ext_rate_ctrl_params_ |
Holds the encoder frame external rate control parameters. More... | |
struct | v4l2_enc_enable_roi_param_ |
Holds the params to configure encoder for ROI parameters encoding. More... | |
struct | v4l2_enc_enable_reconcrc_param_ |
Holds the params to configure encoder for Reconstructed CRC encoding. More... | |
struct | v4l2_enc_frame_ReconCRC_params_ |
Holds the encoder frame Reconstructed CRC parameters. More... | |
struct | v4l2_ctrl_videoenc_input_metadata_ |
Holds the encoder frame input metadata parameters. More... | |
struct | _v4l2_ctrl_video_qp_range |
Holds the encoder frame min/max QP parameters. More... | |
Macros | |
#define | V4L2_CID_MPEG_VIDEOENC_TEMPORAL_TRADEOFF_LEVEL (V4L2_CID_MPEG_BASE+525) |
Control ID to configure encoder to drop frames while encoding. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM (V4L2_CID_MPEG_BASE+526) |
Control ID to configure encoder slice length either in terms of MBs or bits. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ROI_PARAMS (V4L2_CID_MPEG_BASE+527) |
Control ID to configure encoder to encode particular region of frame in high quality. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE (V4L2_CID_MPEG_BASE+528) |
Control ID to specify virtual buffer size in bits for encoder. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES (V4L2_CID_MPEG_BASE+529) |
Control ID to specify maximum number of reference frames that can be used. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM (V4L2_CID_MPEG_BASE+530) |
Control ID to specify the encoder slice intra refresh interval. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_NUM_BFRAMES (V4L2_CID_MPEG_BASE+531) |
Control ID to set number of B frames to be encoded between two P frames. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_INSERT_SPS_PPS_AT_IDR (V4L2_CID_MPEG_BASE+532) |
Control ID to enable/disable inserting SPS and PPS explicitly at IDR interval. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_METADATA (V4L2_CID_MPEG_BASE+533) |
Control ID to get encoder output metadata. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ENABLE_METADATA_MV (V4L2_CID_MPEG_BASE+534) |
Control ID to enable/disable encoder motion vector reporting. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_METADATA_MV (V4L2_CID_MPEG_BASE+535) |
Control ID to get encoder output motion vector metadata. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_QP_RANGE (V4L2_CID_MPEG_BASE+536) |
Control ID to set QP range for I/P/B frames. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_HW_PRESET_TYPE_PARAM (V4L2_CID_MPEG_BASE+537) |
Control ID to set encoder HW Preset type. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA (V4L2_CID_MPEG_BASE+538) |
Control ID to provide input metadata for encoder buffer. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RPS_CONTROL (V4L2_CID_MPEG_BASE+539) |
Control ID to configure encoder for external RPS control. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RATE_CONTROL (V4L2_CID_MPEG_BASE+540) |
Control ID to configure encoder for external rate control. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ENABLE_ROI_PARAM (V4L2_CID_MPEG_BASE+541) |
Control ID to configure ROI encoding for a session. More... | |
#define | V4L2_CID_MPEG_VIDEOENC_ENABLE_RECONCRC_PARAM (V4L2_CID_MPEG_BASE+542) |
Control ID to configure Reconstructed CRC for a session. More... | |
#define | V4L2_MAX_ROI_REGIONS 8 |
Maximum number of ROI regions supported by the encoder. More... | |
#define | V4L2_MAX_REF_FRAMES 8 |
Maximum number of reference frames supported by the encoder. More... | |
#define | QP_RETAIN_VAL -1 |
Setting Qp values in v4l2_ctrl_video_qp_range to QP_RETAIN_VAL retains default or previously set QP values. More... | |
Typedefs | |
typedef struct v4l2_enc_hw_preset_type_param_ | v4l2_enc_hw_preset_type_param |
Holds encoder HW Preset type parameters. More... | |
typedef struct v4l2_enc_slice_length_param_ | v4l2_enc_slice_length_param |
Holds encoder slice length parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM IOCTL. More... | |
typedef struct v4l2_enc_virtual_buffer_size_ | v4l2_enc_virtual_buffer_size |
Holds encoder virtual buffer size parameters, to be used with V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE IOCTL. More... | |
typedef struct v4l2_enc_num_ref_frames_ | v4l2_enc_num_ref_frames |
Holds encoder number of reference frame parameters, to be used with V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES IOCTL. More... | |
typedef struct v4l2_enc_slice_intrarefresh_param_ | v4l2_enc_slice_intrarefresh_param |
Holds encoder slice intrareferesh parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM IOCTL. More... | |
typedef struct v4l2_enc_ROI_param_ | v4l2_enc_ROI_param |
Holds the encoder quality parameters for a single ROI region. More... | |
typedef struct v4l2_enc_frame_ROI_params_ | v4l2_enc_frame_ROI_params |
Holds the encoder frame ROI parameters. More... | |
typedef struct MVInfo_ | MVInfo |
Holds the motion vector parameters for a single macro block. More... | |
typedef struct v4l2_ctrl_videoenc_outputbuf_metadata_MV_ | v4l2_ctrl_videoenc_outputbuf_metadata_MV |
Holds the motion vector parameters for one complete frame. More... | |
typedef struct v4l2_enc_frame_full_prop_ | v4l2_enc_frame_full_prop |
Holds the RPS List parameters of encoded frame. More... | |
typedef struct v4l2_ctrl_videoenc_outputbuf_metadata_ | v4l2_ctrl_videoenc_outputbuf_metadata |
Holds the encoder output metadata for a frame, to be used with V4L2_CID_MPEG_VIDEOENC_METADATA IOCTL. More... | |
typedef struct _v4l2_ctrl_video_metadata | v4l2_ctrl_video_metadata |
Holds the metadata parameters for video encoder and decoder. More... | |
typedef struct v4l2_enc_gdr_params_ | v4l2_enc_gdr_params |
Holds the encoder GDR parameters. More... | |
typedef struct v4l2_enc_enable_ext_rps_ctrl_ | v4l2_enc_enable_ext_rps_ctr |
Holds the params to configure encoder for external rps control. More... | |
typedef struct _v4l2_enc_frame_prop | v4l2_enc_frame_prop |
Holds the encoder frame property. More... | |
typedef struct v4l2_enc_frame_ext_rps_ctrl_params_ | v4l2_enc_frame_ext_rps_ctrl_params |
Holds the encoder frame external rps control parameters. More... | |
typedef struct v4l2_enc_enable_ext_rate_ctrl_ | v4l2_enc_enable_ext_rate_ctr |
Holds the params to configure encoder for external rate control mode. More... | |
typedef struct v4l2_enc_frame_ext_rate_ctrl_params_ | v4l2_enc_frame_ext_rate_ctrl_params |
Holds the encoder frame external rate control parameters. More... | |
typedef struct v4l2_enc_enable_roi_param_ | v4l2_enc_enable_roi_param |
Holds the params to configure encoder for ROI parameters encoding. More... | |
typedef struct v4l2_enc_enable_reconcrc_param_ | v4l2_enc_enable_reconcrc_param |
Holds the params to configure encoder for Reconstructed CRC encoding. More... | |
typedef struct v4l2_enc_frame_ReconCRC_params_ | v4l2_enc_frame_ReconCRC_params |
Holds the encoder frame Reconstructed CRC parameters. More... | |
typedef struct v4l2_ctrl_videoenc_input_metadata_ | v4l2_ctrl_videoenc_input_metadata |
Holds the encoder frame input metadata parameters. More... | |
typedef struct _v4l2_ctrl_video_qp_range | v4l2_ctrl_video_qp_range |
Holds the encoder frame min/max QP parameters. More... | |
Enumerations | |
enum | v4l2_enc_temporal_tradeoff_level_type { V4L2_ENC_TEMPORAL_TRADEOFF_LEVEL_DROPNONE = 0, V4L2_ENC_TEMPORAL_TRADEOFF_LEVEL_DROP1IN5, V4L2_ENC_TEMPORAL_TRADEOFF_LEVEL_DROP1IN3, V4L2_ENC_TEMPORAL_TRADEOFF_LEVEL_DROP1IN2, V4L2_ENC_TEMPORAL_TRADEOFF_LEVEL_DROP2IN3 } |
Enum specifying the types of encoder temporal tradeoff levels. More... | |
enum | v4l2_enc_hw_preset_type { V4L2_ENC_HW_PRESET_ULTRAFAST = 1, V4L2_ENC_HW_PRESET_FAST, V4L2_ENC_HW_PRESET_MEDIUM, V4L2_ENC_HW_PRESET_SLOW } |
Specifies the encoder HW Preset type. More... | |
enum | v4l2_enc_slice_length_type { V4L2_ENC_SLICE_LENGTH_TYPE_BITS = 0, V4L2_ENC_SLICE_LENGTH_TYPE_MBLK } |
Enum specifying the type of slice length. More... | |
enum | v4l2_enc_input_metadata_param { V4L2_ENC_INPUT_ROI_PARAM_FLAG = 1, V4L2_ENC_INPUT_GDR_PARAM_FLAG = 1 << 1, V4L2_ENC_INPUT_RPS_PARAM_FLAG = 1 << 2, V4L2_ENC_INPUT_RC_PARAM_FLAG = 1 << 3, V4L2_ENC_INPUT_RECONCRC_PARAM_FLAG = 1 << 4 } |
Specifies the input buffer metadata flag. More... | |
#define QP_RETAIN_VAL -1 |
Setting Qp values in v4l2_ctrl_video_qp_range to QP_RETAIN_VAL retains default or previously set QP values.
Definition at line 1462 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RATE_CONTROL (V4L2_CID_MPEG_BASE+540) |
Control ID to configure encoder for external rate control.
A pointer to a valid v4l2_enc_enable_ext_rate_ctr structure must be supplied with this control.
Definition at line 870 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RPS_CONTROL (V4L2_CID_MPEG_BASE+539) |
Control ID to configure encoder for external RPS control.
A pointer to a valid v4l2_enc_enable_ext_rps_ctr structure must be supplied with this control.
Definition at line 859 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_METADATA_MV (V4L2_CID_MPEG_BASE+534) |
Control ID to enable/disable encoder motion vector reporting.
A boolean value must be supplied with this control.
Definition at line 801 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_RECONCRC_PARAM (V4L2_CID_MPEG_BASE+542) |
Control ID to configure Reconstructed CRC for a session.
A pointer to a valid v4l2_enc_enable_reconcrc_param structure must be supplied with this control.
Definition at line 892 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ENABLE_ROI_PARAM (V4L2_CID_MPEG_BASE+541) |
Control ID to configure ROI encoding for a session.
A pointer to a valid v4l2_enc_enable_roi_param structure must be supplied with this control.
Definition at line 881 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_HW_PRESET_TYPE_PARAM (V4L2_CID_MPEG_BASE+537) |
Control ID to set encoder HW Preset type.
A pointer to valid v4l2_enc_hw_preset_type_param structure must be supplied with this control.
Definition at line 835 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA (V4L2_CID_MPEG_BASE+538) |
Control ID to provide input metadata for encoder buffer.
A pointer to valid v4l2_ctrl_videoenc_input_metadata structure must be supplied with this control.
Definition at line 848 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_INSERT_SPS_PPS_AT_IDR (V4L2_CID_MPEG_BASE+532) |
Control ID to enable/disable inserting SPS and PPS explicitly at IDR interval.
A boolean value must be supplied with this control.
Definition at line 779 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_METADATA (V4L2_CID_MPEG_BASE+533) |
Control ID to get encoder output metadata.
A pointer to valid v4l2_ctrl_video_metadata structure must be supplied with this control.
Definition at line 791 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_METADATA_MV (V4L2_CID_MPEG_BASE+535) |
Control ID to get encoder output motion vector metadata.
A pointer to valid v4l2_ctrl_videoenc_outputbuf_metadata_MV
structure must be supplied with this control.
Definition at line 813 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_NUM_BFRAMES (V4L2_CID_MPEG_BASE+531) |
Control ID to set number of B frames to be encoded between two P frames.
This works only with H.264 encoder. An integer value must be supplied with this control.
Definition at line 769 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES (V4L2_CID_MPEG_BASE+529) |
Control ID to specify maximum number of reference frames that can be used.
An integer value must be supplied with this control.
Definition at line 747 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_QP_RANGE (V4L2_CID_MPEG_BASE+536) |
Control ID to set QP range for I/P/B frames.
A pointer to a valid v4l2_ctrl_video_qp_range
structure must be supplied with this control.
Definition at line 824 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_ROI_PARAMS (V4L2_CID_MPEG_BASE+527) |
Control ID to configure encoder to encode particular region of frame in high quality.
A pointer to a valid v4l2_enc_frame_ROI_params
structure must be supplied with this control.
Definition at line 726 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM (V4L2_CID_MPEG_BASE+530) |
Control ID to specify the encoder slice intra refresh interval.
A pointer to a valid v4l2_enc_slice_intrarefresh_param
structure must be supplied with this control.
Definition at line 758 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM (V4L2_CID_MPEG_BASE+526) |
Control ID to configure encoder slice length either in terms of MBs or bits.
A pointer to a valid v4l2_enc_slice_length_param
structure must be supplied with this control.
Definition at line 714 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_TEMPORAL_TRADEOFF_LEVEL (V4L2_CID_MPEG_BASE+525) |
Control ID to configure encoder to drop frames while encoding.
A value of type v4l2_enc_temporal_tradeoff_level_type
must be supplied with this control.
Definition at line 703 of file v4l2_nv_extensions.h.
#define V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE (V4L2_CID_MPEG_BASE+528) |
Control ID to specify virtual buffer size in bits for encoder.
A pointer to a valid v4l2_enc_virtual_buffer_size
structure must be supplied with this control.
Definition at line 737 of file v4l2_nv_extensions.h.
#define V4L2_MAX_REF_FRAMES 8 |
Maximum number of reference frames supported by the encoder.
Definition at line 1215 of file v4l2_nv_extensions.h.
#define V4L2_MAX_ROI_REGIONS 8 |
Maximum number of ROI regions supported by the encoder.
Definition at line 1160 of file v4l2_nv_extensions.h.
typedef struct _v4l2_ctrl_video_metadata v4l2_ctrl_video_metadata |
Holds the metadata parameters for video encoder and decoder.
The metadata is valid for the buffer with index buffer_index
after the buffer is dequeued until it is queued again.
typedef struct _v4l2_ctrl_video_qp_range v4l2_ctrl_video_qp_range |
Holds the encoder frame min/max QP parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_QP_RANGE IOCTL.
Holds the encoder frame input metadata parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL.
Holds the encoder output metadata for a frame, to be used with V4L2_CID_MPEG_VIDEOENC_METADATA
IOCTL.
Holds the motion vector parameters for one complete frame.
typedef struct v4l2_enc_enable_ext_rate_ctrl_ v4l2_enc_enable_ext_rate_ctr |
Holds the params to configure encoder for external rate control mode.
Must be used with V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RATE_CONTROL IOCTL.
typedef struct v4l2_enc_enable_ext_rps_ctrl_ v4l2_enc_enable_ext_rps_ctr |
Holds the params to configure encoder for external rps control.
Must be used with V4L2_CID_MPEG_VIDEOENC_ENABLE_EXTERNAL_RPS_CONTROL IOCTL.
typedef struct v4l2_enc_enable_reconcrc_param_ v4l2_enc_enable_reconcrc_param |
Holds the params to configure encoder for Reconstructed CRC encoding.
Must be used with V4L2_CID_MPEG_VIDEOENC_ENABLE_RECONCRC_PARAM IOCTL.
typedef struct v4l2_enc_enable_roi_param_ v4l2_enc_enable_roi_param |
Holds the params to configure encoder for ROI parameters encoding.
Must be used with V4L2_CID_MPEG_VIDEOENC_ENABLE_ROI_PARAM IOCTL.
Holds the encoder frame external rate control parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL.
Holds the encoder frame external rps control parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL.
typedef struct v4l2_enc_frame_full_prop_ v4l2_enc_frame_full_prop |
Holds the RPS List parameters of encoded frame.
typedef struct _v4l2_enc_frame_prop v4l2_enc_frame_prop |
Holds the encoder frame property.
typedef struct v4l2_enc_frame_ReconCRC_params_ v4l2_enc_frame_ReconCRC_params |
Holds the encoder frame Reconstructed CRC parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL.
typedef struct v4l2_enc_frame_ROI_params_ v4l2_enc_frame_ROI_params |
Holds the encoder frame ROI parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_ROI_PARAMS IOCTL.
typedef struct v4l2_enc_gdr_params_ v4l2_enc_gdr_params |
Holds the encoder GDR parameters.
Must be used with V4L2_CID_MPEG_VIDEOENC_INPUT_METADATA IOCTL.
typedef struct v4l2_enc_hw_preset_type_param_ v4l2_enc_hw_preset_type_param |
Holds encoder HW Preset type parameters.
To be used with V4L2_CID_MPEG_VIDEOENC_HW_PRESET_TYPE_PARAM IOCTL.
typedef struct v4l2_enc_num_ref_frames_ v4l2_enc_num_ref_frames |
Holds encoder number of reference frame parameters, to be used with V4L2_CID_MPEG_VIDEOENC_NUM_REFERENCE_FRAMES
IOCTL.
This is not supported for H.265.
typedef struct v4l2_enc_ROI_param_ v4l2_enc_ROI_param |
Holds the encoder quality parameters for a single ROI region.
Holds encoder slice intrareferesh parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_INTRAREFRESH_PARAM
IOCTL.
typedef struct v4l2_enc_slice_length_param_ v4l2_enc_slice_length_param |
Holds encoder slice length parameters, to be used with V4L2_CID_MPEG_VIDEOENC_SLICE_LENGTH_PARAM
IOCTL.
typedef struct v4l2_enc_virtual_buffer_size_ v4l2_enc_virtual_buffer_size |
Holds encoder virtual buffer size parameters, to be used with V4L2_CID_MPEG_VIDEOENC_VIRTUALBUFFER_SIZE
IOCTL.
Specifies the encoder HW Preset type.
Definition at line 1063 of file v4l2_nv_extensions.h.
Specifies the input buffer metadata flag.
Definition at line 1100 of file v4l2_nv_extensions.h.
Enum specifying the type of slice length.
Enumerator | |
---|---|
V4L2_ENC_SLICE_LENGTH_TYPE_BITS |
Slice size is specified in terms of number of bytes. |
V4L2_ENC_SLICE_LENGTH_TYPE_MBLK |
Slice size is specified in terms of number of macroblocks. |
Definition at line 1090 of file v4l2_nv_extensions.h.
Enum specifying the types of encoder temporal tradeoff levels.
Definition at line 1047 of file v4l2_nv_extensions.h.