Skip to main content
Version: v5.9.0

Rate Control

There are 5 rate control modes supported by the NETINT encoder:

CQP​

Constant QP mode, enabled by setting RCEnable=0, uses a fixed QP specified by “intraQP” for I-frames plus an offset defined in the GOP structure for other frames. This mode is usually used for encoder quality evaluation and is not recommended to achieve the best encoding efficiency. By default, “RcEnable” parameter is 0 which means CQP mode.

CRF​

Constant Rate Factor Mode, enabled by setting the rate factor parameter crf. With CRF the encoder varies the bitrate to maintain constant subjective quality.

Capped CRF​

Capped Constant Rate Factor Mode, enabled by setting the rate factor parameter crf together with bitrate, vbvBufferSize , vbvMaxRate (optional), vbvMinRate (optional). Capped CRF adds bitrate constraint on top of CRF. Please refer to Section “8.3.4 CRF & Capped CRF Descriptions and Examples” for more details.

CBR​

Constant Bitrate Mode, enabled by setting RCEnable=1 and vbvBufferSize > 0, varies the QP on a frame by frame basis to maintain bitrate as set by “bitrate” parameter and to constrain instant bitrate by video buffering verifier as set by “vbvBufferSize” parameter. In this mode, the encoder buffers up an amount of bitstream as specified by the vbvBufferSize parameter to perform rate control. This buffer is typically known as a video buffering verifier. The larger it is, the better for rate control, but this comes with an increase in delay and less constrained instant bitrate.

  • Please also note that vbvMaxRate (default 0) should be left unspecified or set to 0 in CBR mode
  • Please also note that when cuLevelRCEnable=1 (enable block level rate control), and lookaheadDepth=0 (no lookahead), encoder perceives bitrate parameter as maximum bitrate or average bitrate depending on the bitrateMode parameter - please refer to bitrateMode parameter descriptions for details.

ABR​

Average Bitrate Mode, enabled by setting RCEnable=1 and vbvBufferSize=0, varies the QP on a frame by frame basis to maintain an average bitrate as set by the “bitrate” parameter. In ABR mode, rate control maintains average bitrate to match target bitrate, but is not constrained by VBV buffer, and therefore instant bitrate may have more fluctuations compared to CBR. On the other hand, ABR may produce bitrate more closely matching the target bitrate.

Constrained VBR Mode​

Constrained Variable Bitrate Mode, enabled by setting RCEnable=1, vbvBufferSize > 0, and vbvMaxRate > 0, allows higher instant bitrate, while still maintaining average bitrate close to target bitrate. Compared to CBR mode, Constrained VBR mode may produce higher quality, at the cost of higher peak rate.