45 #ifndef __NV_VIDEO_ENCODER_H__
46 #define __NV_VIDEO_ENCODER_H__
106 uint32_t height, uint32_t sizeimage);
119 int setFrameRate(uint32_t framerate_num, uint32_t framerate_den);
160 int setLevel(
enum v4l2_mpeg_video_h264_level level);
381 int setQpRange(uint32_t MinQpI, uint32_t MaxQpI, uint32_t MinQpP,
382 uint32_t MaxQpP, uint32_t MinQpB, uint32_t MaxQpB);
391 static const NvElementProfiler::ProfilerField valid_fields =
392 NvElementProfiler::PROFILER_FIELD_TOTAL_UNITS |
393 NvElementProfiler::PROFILER_FIELD_LATENCIES |
394 NvElementProfiler::PROFILER_FIELD_FPS;
Holds the encoder frame ROI parameters.
int setRateControlMode(enum v4l2_mpeg_video_bitrate_mode mode)
Sets the encoder rate control mode.
NVIDIA Multimedia API: V4L2 Helper Class
int setSliceLength(v4l2_enc_slice_length_type type, uint32_t length)
Sets the encoder output slice length.
v4l2_enc_temporal_tradeoff_level_type
Enum specifying the types of encoder temporal tradeoff levels.
int setTemporalTradeoff(v4l2_enc_temporal_tradeoff_level_type level)
Sets the encoder Temporal Tradeoff.
Defines a helper class for V4L2 based components.
int setFrameRate(uint32_t framerate_num, uint32_t framerate_den)
Sets the encode framerate.
int setProfile(uint32_t profile)
Sets the encoder profile.
int enableMotionVectorReporting()
Enables video encoder output motion vector metadata reporting.
v4l2_enc_slice_length_type
Enum specifying the type of slice length.
int getMetadata(uint32_t buffer_index, v4l2_ctrl_videoenc_outputbuf_metadata &enc_metadata)
Gets metadata for the encoded capture plane buffer.
int setCapturePlaneFormat(uint32_t pixfmt, uint32_t width, uint32_t height, uint32_t sizeimage)
Sets the format on the encoder capture plane.
int setNumReferenceFrames(uint32_t num_frames)
Sets the number of reference frames of the encoder.
int setROIParams(uint32_t buffer_index, v4l2_enc_frame_ROI_params ¶ms)
Sets the Region of Interest (ROI) parameters for the next buffer, which will be queued on the output ...
Defines a helper class for V4L2 Video Encoder.
int setBitrate(uint32_t bitrate)
Sets the encoder bitrate.
int setIDRInterval(uint32_t interval)
Sets the encoder IDR interval.
int setOutputPlaneFormat(uint32_t pixfmt, uint32_t width, uint32_t height)
Sets the format on the encoder output plane.
int setLevel(enum v4l2_mpeg_video_h264_level level)
Sets the encoder level.
static NvVideoEncoder * createVideoEncoder(const char *name, int flags=0)
Creates a new V4L2 Video Encoder object named name.
int getMotionVectors(uint32_t buffer_index, v4l2_ctrl_videoenc_outputbuf_metadata_MV &enc_mv_metadata)
Gets motion vector metadata for the encoded capture plane buffer.
int setInsertSpsPpsAtIdrEnabled(bool enabled)
Enables/disables insert SPS PPS at every IDR.
int setVirtualBufferSize(uint32_t size)
Sets the virtual buffer size of the encoder.
int setIFrameInterval(uint32_t interval)
Sets the encoder I-frame interval.
int setNumBFrames(uint32_t num)
Sets the number of B frames to P frames.
int setQpRange(uint32_t MinQpI, uint32_t MaxQpI, uint32_t MinQpP, uint32_t MaxQpP, uint32_t MinQpB, uint32_t MaxQpB)
Sets QP values for I/P/B frames.
int setSliceIntrarefresh(uint32_t interval)
Sets slice intra-referesh interval params.
int forceIDR()
Forces an IDR frame.