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... | |
uint8_t | targetQuality |
[in]: Target CQ (Constant Quality) level for VBR mode (range 0-51 with 0-automatic) More... | |
uint8_t | targetQualityLSB |
[in]: Fractional part of target quality (as 8.8 fixed point format) 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 1090 of file nvEncodeAPI.h.
uint32_t NV_ENC_RC_PARAMS::version |
Definition at line 1092 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 1093 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 1094 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 1095 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 1096 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 1097 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 1098 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 1099 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 1100 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 1101 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 1102 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 1103 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 1104 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 1105 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 1106 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 1107 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 1108 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 1109 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 1110 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.
Definition at line 1111 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 1112 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 1113 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 1114 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 1115 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 1116 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 1117 of file nvEncodeAPI.h.
uint8_t NV_ENC_RC_PARAMS::targetQuality |
[in]: Target CQ (Constant Quality) level for VBR mode (range 0-51 with 0-automatic)
Definition at line 1118 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint8_t NV_ENC_RC_PARAMS::targetQualityLSB |
[in]: Fractional part of target quality (as 8.8 fixed point format)
Definition at line 1119 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 1120 of file nvEncodeAPI.h.
Referenced by nvenc_setup_rate_control().
uint32_t NV_ENC_RC_PARAMS::reserved[9] |
Definition at line 1121 of file nvEncodeAPI.h.