FFmpeg
|
Rate Control Configuration Paramters. More...
#include <nvEncodeAPI.h>
Data Fields | |
uint32_t | version |
NV_ENC_PARAMS_RC_MODE | rateControlMode |
[in]: Specifies the rate control mode. More... | |
NV_ENC_QP | constQP |
[in]: Specifies the initial QP to be used for encoding, these values would be used for all frames if in Constant QP mode. More... | |
uint32_t | averageBitRate |
[in]: Specifies the average bitrate(in bits/sec) used for encoding. More... | |
uint32_t | maxBitRate |
[in]: Specifies the maximum bitrate for the encoded output. More... | |
uint32_t | vbvBufferSize |
[in]: Specifies the VBV(HRD) buffer size. More... | |
uint32_t | vbvInitialDelay |
[in]: Specifies the VBV(HRD) initial delay in bits. More... | |
uint32_t | enableMinQP:1 |
[in]: Set this to 1 if minimum QP used for rate control. More... | |
uint32_t | enableMaxQP:1 |
[in]: Set this to 1 if maximum QP used for rate control. More... | |
uint32_t | enableInitialRCQP:1 |
[in]: Set this to 1 if user suppplied initial QP is used for rate control. More... | |
uint32_t | enableAQ:1 |
[in]: Set this to 1 to enable adaptive quantization (Spatial). More... | |
uint32_t | enableExtQPDeltaMap:1 |
[in]: Set this to 1 to enable additional QP modifier for each MB supplied by client though signed byte array pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap (Not Supported when AQ(Spatial/Temporal) is enabled) More... | |
uint32_t | enableLookahead:1 |
[in]: Set this to 1 to enable lookahead with depth <lookaheadDepth> (if lookahead is enabled, input frames must remain available to the encoder until encode completion) More... | |
uint32_t | disableIadapt:1 |
[in]: Set this to 1 to disable adaptive I-frame insertion at scene cuts (only has an effect when lookahead is enabled) More... | |
uint32_t | disableBadapt:1 |
[in]: Set this to 1 to disable adaptive B-frame decision (only has an effect when lookahead is enabled) More... | |
uint32_t | enableTemporalAQ:1 |
[in]: Set this to 1 to enable temporal AQ for H.264 More... | |
uint32_t | zeroReorderDelay:1 |
[in]: Set this to 1 to indicate zero latency operation (no reordering delay, num_reorder_frames=0) More... | |
uint32_t | enableNonRefP:1 |
[in]: Set this to 1 to enable automatic insertion of non-reference P-frames (no effect if enablePTD=0) More... | |
uint32_t | strictGOPTarget:1 |
[in]: Set this to 1 to minimize GOP-to-GOP rate fluctuations More... | |
uint32_t | aqStrength:4 |
[in]: When AQ (Spatial) is enabled (i.e. More... | |
uint32_t | reservedBitFields:16 |
[in]: Reserved bitfields and must be set to 0 More... | |
NV_ENC_QP | minQP |
[in]: Specifies the minimum QP used for rate control. More... | |
NV_ENC_QP | maxQP |
[in]: Specifies the maximum QP used for rate control. More... | |
NV_ENC_QP | initialRCQP |
[in]: Specifies the initial QP used for rate control. More... | |
uint32_t | temporallayerIdxMask |
[in]: Specifies the temporal layers (as a bitmask) whose QPs have changed. More... | |
uint8_t | temporalLayerQP [8] |
[in]: Specifies the temporal layer QPs used for rate control. More... | |
uint16_t | targetQuality |
[in]: Target CQ (Constant Quality) level for VBR mode (range 0-51 with 0-automatic) More... | |
uint16_t | lookaheadDepth |
[in]: Maximum depth of lookahead with range 0-32 (only used if enableLookahead=1) More... | |
uint32_t | reserved [9] |
Rate Control Configuration Paramters.
Definition at line 1055 of file nvEncodeAPI.h.
uint32_t NV_ENC_RC_PARAMS::version |
Definition at line 1057 of file nvEncodeAPI.h.
NV_ENC_PARAMS_RC_MODE NV_ENC_RC_PARAMS::rateControlMode |
[in]: Specifies the rate control mode.
Check support for various rate control modes using NV_ENC_CAPS_SUPPORTED_RATECONTROL_MODES caps.
Definition at line 1058 of file nvEncodeAPI.h.
Referenced by nvenc_override_rate_control(), nvenc_setup_h264_config(), nvenc_setup_hevc_config(), nvenc_setup_rate_control(), set_constqp(), and set_lossless().
NV_ENC_QP NV_ENC_RC_PARAMS::constQP |
[in]: Specifies the initial QP to be used for encoding, these values would be used for all frames if in Constant QP mode.
Definition at line 1059 of file nvEncodeAPI.h.
Referenced by set_constqp(), and set_lossless().
uint32_t NV_ENC_RC_PARAMS::averageBitRate |
[in]: Specifies the average bitrate(in bits/sec) used for encoding.
Definition at line 1060 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder(), and nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::maxBitRate |
[in]: Specifies the maximum bitrate for the encoded output.
This is used for VBR and ignored for CBR mode.
Definition at line 1061 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder(), and nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::vbvBufferSize |
[in]: Specifies the VBV(HRD) buffer size.
in bits. Set 0 to use the default VBV buffer size.
Definition at line 1062 of file nvEncodeAPI.h.
Referenced by nvenc_setup_encoder(), and nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::vbvInitialDelay |
[in]: Specifies the VBV(HRD) initial delay in bits.
Set 0 to use the default VBV initial delay .
Definition at line 1063 of file nvEncodeAPI.h.
uint32_t NV_ENC_RC_PARAMS::enableMinQP |
[in]: Set this to 1 if minimum QP used for rate control.
Definition at line 1064 of file nvEncodeAPI.h.
Referenced by set_vbr().
uint32_t NV_ENC_RC_PARAMS::enableMaxQP |
[in]: Set this to 1 if maximum QP used for rate control.
Definition at line 1065 of file nvEncodeAPI.h.
Referenced by set_vbr().
uint32_t NV_ENC_RC_PARAMS::enableInitialRCQP |
[in]: Set this to 1 if user suppplied initial QP is used for rate control.
Definition at line 1066 of file nvEncodeAPI.h.
Referenced by set_vbr().
uint32_t NV_ENC_RC_PARAMS::enableAQ |
[in]: Set this to 1 to enable adaptive quantization (Spatial).
Definition at line 1067 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::enableExtQPDeltaMap |
[in]: Set this to 1 to enable additional QP modifier for each MB supplied by client though signed byte array pointed to by NV_ENC_PIC_PARAMS::qpDeltaMap (Not Supported when AQ(Spatial/Temporal) is enabled)
Definition at line 1068 of file nvEncodeAPI.h.
uint32_t NV_ENC_RC_PARAMS::enableLookahead |
[in]: Set this to 1 to enable lookahead with depth <lookaheadDepth> (if lookahead is enabled, input frames must remain available to the encoder until encode completion)
Definition at line 1069 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::disableIadapt |
[in]: Set this to 1 to disable adaptive I-frame insertion at scene cuts (only has an effect when lookahead is enabled)
Definition at line 1070 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::disableBadapt |
[in]: Set this to 1 to disable adaptive B-frame decision (only has an effect when lookahead is enabled)
Definition at line 1071 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::enableTemporalAQ |
[in]: Set this to 1 to enable temporal AQ for H.264
Definition at line 1072 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::zeroReorderDelay |
[in]: Set this to 1 to indicate zero latency operation (no reordering delay, num_reorder_frames=0)
Definition at line 1073 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::enableNonRefP |
[in]: Set this to 1 to enable automatic insertion of non-reference P-frames (no effect if enablePTD=0)
Definition at line 1074 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::strictGOPTarget |
[in]: Set this to 1 to minimize GOP-to-GOP rate fluctuations
Definition at line 1075 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::aqStrength |
[in]: When AQ (Spatial) is enabled (i.e.
NV_ENC_RC_PARAMS::enableAQ is set), this field is used to specify AQ strength. AQ strength scale is from 1 (low) - 15 (aggressive). If not set, strength is autoselected by driver. Currently supported only with h264
Definition at line 1076 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::reservedBitFields |
[in]: Reserved bitfields and must be set to 0
Definition at line 1077 of file nvEncodeAPI.h.
NV_ENC_QP NV_ENC_RC_PARAMS::minQP |
[in]: Specifies the minimum QP used for rate control.
Client must set NV_ENC_CONFIG::enableMinQP to 1.
Definition at line 1078 of file nvEncodeAPI.h.
Referenced by set_vbr().
NV_ENC_QP NV_ENC_RC_PARAMS::maxQP |
[in]: Specifies the maximum QP used for rate control.
Client must set NV_ENC_CONFIG::enableMaxQP to 1.
Definition at line 1079 of file nvEncodeAPI.h.
Referenced by set_vbr().
NV_ENC_QP NV_ENC_RC_PARAMS::initialRCQP |
[in]: Specifies the initial QP used for rate control.
Client must set NV_ENC_CONFIG::enableInitialRCQP to 1.
Definition at line 1080 of file nvEncodeAPI.h.
Referenced by set_vbr().
uint32_t NV_ENC_RC_PARAMS::temporallayerIdxMask |
[in]: Specifies the temporal layers (as a bitmask) whose QPs have changed.
Valid max bitmask is [2^NV_ENC_CAPS_NUM_MAX_TEMPORAL_LAYERS - 1]
Definition at line 1081 of file nvEncodeAPI.h.
uint8_t NV_ENC_RC_PARAMS::temporalLayerQP[8] |
[in]: Specifies the temporal layer QPs used for rate control.
Temporal layer index is used as as the array index
Definition at line 1082 of file nvEncodeAPI.h.
uint16_t NV_ENC_RC_PARAMS::targetQuality |
[in]: Target CQ (Constant Quality) level for VBR mode (range 0-51 with 0-automatic)
Definition at line 1083 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint16_t NV_ENC_RC_PARAMS::lookaheadDepth |
[in]: Maximum depth of lookahead with range 0-32 (only used if enableLookahead=1)
Definition at line 1084 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::reserved[9] |
Definition at line 1085 of file nvEncodeAPI.h.