Configuration File Parameters

Parameters that specify the length of an array, such as ExplicitFrameInvervalPatternLength or ExplicitFrameInvervalPattern, do not need to be set or may be set to 0. In either case, the application uses the default array size of 1000.

General Configuration Parameters

The following table describes the general configuration parameters:

Parameter Description
InputFile Identifies the YUV file fed as input to the encoder.
InputFileFormat

Input file format. The supported values are listed below. For Codec-specific details, refer to Input File Format.

  • 0: IYUV
  • 1: YV12
  • 3: IYUV444
  • 4: IYUV420_10bit (LSB aligned)
  • 5: IYUV444_10bit (LSB aligned)
  • 6: IYUV420_10bit (MSB aligned)
  • 7: IYUV444_10bit (MSB aligned)
OutputFile Specifies the output file where the encoded bitstream will be written by the application.
StartFrame Specifies the start frame for encoding. Encoding for StartFrame−1 is skipped. Default value is 0
FramesToBeEncoded Number of frames to encode. Set to 0 for encoding all frames in input YUV
EPCodec

Specifies the video codec type. The values can be:

  • 0: H.264 codec (Default)
  • 1: H.265 codec
  • 2: Reserved
  • 3: AV1 codec
ExtradataFileName Specifies the path to the file in which the frame-wise extra data will get dumped, when -enableExtradata flag is enabled. The extradata includes information such as frame average QP, frame type, intra/inter MB or CTB counts, and so on.
DynamicResolutionFileName Specifies the path to the configuration file for Dynamic Resolution Change (DRC) feature. Refer to the DRC section below for the expected structure of the DRC configuration file.
DRCBufferRealloc Specifies whether DRC support should be enabled using the buffer reallocation approach. The values can be:
  • 0: Buffer reallocation disabled (default)
  • 1: Buffer reallocation enabled
This parameter should only be used along with InputFileDRC parameter. Refer to the DRC Buffer Reallocation section below for more information.
InputFileDRC Specifies the path to the input file after the DRC resolution change. This parameter should only be used when DRCBufferRealloc is set to 1. Refer to the DRC Buffer Reallocation section below for more information.
QPDeltaMapFileBaseName Specifies the base name of the per-frame QP delta map files. Refer to the QP delta map section below for the expected structure of the QP delta map files.
BitrateFileName Specifies the path to the configuration file for Dynamic Bitrate Change (DBC) feature. Refer to the DBC section below for the expected structure of the DBC configuration file.
ROIParamFileName Specifies the path to the configuration file for the ROI encode feature, which is only applcable for H.264 and H.265 codecs. Following is the expected structure of the ROI file. Each line of the file corresponds to ROI parameters for one frame and should be formatted using the following structure:
  • NumROIRegions : Range is 0-8
  • x0: Left X co-ordinate
  • y0: Top Y co-ordinate
  • x1: Right X co-ordinate
  • y1: Bottom Y co-ordinate
  • QPdelta: QP delta for Region

    The previous five parameters need to be repeated for each region for the current frame.

Encode Configuration Parameters

The following table describes the encode configuration parameters:

Parameter Description
EPEncodeWidth Specifies the width of the encode.
EPEncodeHeight Specifies the height of the encode.

EPFrameRateNum

EPFrameRateDen

Specifies the numerator and denominator for the frame rate to use for encoding, in frames per second. The frame rate is:

EPFrameRateNum / EPFrameRateDen

EPGopLength Specifies the number of pictures in a GOP. If 0, keyframes are not inserted automatically.
EPGopPattern

Specifies the GOP pattern. If the GOP length is 0, the Frame Interval Pattern must be set to IPP. The values can be:

  • 0: I
  • 1: IPP
  • 2: IBP
  • 3: IBBP
EPMaxNumRefFrames

Specifies the maximum number of reference frames. The value can be:

  • EPMaxNumRefFrames =0 for I Only mode
  • EPMaxNumRefFrames =1 for IP mode
  • EPMaxNumRefFrames =2 for IBP mode
EPEnableROIEncode Enables ROI encode by taking input region based deltaQp to be provided through ROIParamFileName. This is only applicable for H.264 and H.265 codecs.
  • EPEnableROIEncode=0 disables ROI encode
  • EPEnableROIEncode=1 enables ROI encode

Quantization Configuration Parameters

The following table describes the quantization configuration parameters:

Parameter Description
QPBSlice Specifies the Quantization parameter for B slices .
QPISlice Specifies the Quantization parameter for I Slices.
QPPSlice Specifies the Quantization parameter P Slices.

The range of QP values supported for each of the above parameter is as follows:

H264/HEVC -[0-51]

AV1 - [1-255]

Rate Control Configuration Parameters

The following table describes the rate control configuration parameters:

Parameter Description
RCMode

Specifies the rate control mode. The values can be:

  • 0x0 = Constant bitrate mode
  • 0x1 = Constant QP mode
  • 0x2 = Variable bitrate mode
  • 0x3 = Variable bitrate mode with MinQP
RCAverageBitrate Specifies the average bit rate in bits/second; used for encoding.
RCMaxBitrate Specifies the maximum bit rate for the encoded output. This is used in Variable Bit Rate (VBR) mode and is ignored for Constant Bit Rate (CBR) mode.
RCVbvBufferSize Specifies the VBV (HRD) buffer size in bits. Set to 0 to use the default VBV buffer size.
RCVbvInitialDelay Specifies the VBV (HRD) initial delay in bits. Set to 0 to use the default VBV initial delay.
RCEnableMinQP Set to 1 if minimum QP is used for the rate control.
RCEnableMaxQP Set to 1 if maximum QP is used for the rate control.

Per-Frame Encode Configuration Parameters

The following table describes the per-frame encode configuration parameters:

Parameter Description
EPEencodePicFlags

Specifies the bitwise OR’ed encode picture flags.

The flags are:

  • 0x1: Encodes the current picture as an Intra picture.
  • 0x2: Encodes the current picture as an IDR picture. This flag is valid when the enoder makes the picture type decision. (Set EPPictureType to 0).
  • 0x4: Writes the sequence and picture header in the encoded bitstream of the current picture.
  • 0x8: Indicates the end of the input stream.
  • 0x10: Indicates a change in bit rate from the current picture onwards.
  • 0x20: Indicates that the user forced constant QP Rate control from the current picture onwards.
  • 0x40: Indicates a change in the rate control mode on the fly from current picture onwards.
EPPictureType

Specifies the input picture type. The client must set this parameter explicitly if it has not set the Enable PTD (picture type decision) to 1.

The picture types are:

  • 0x00: Forward predicted picture
  • 0x01: Bidirectionally predicted picture
  • 0x02: Intra predicted picture
  • 0x03: IDR picture
  • 0x04: Bidirectionally predicted picture with only Intra MBs
  • 0x05: Picture is skipped
  • 0x06: First picture in intra refresh cycle
  • 0xFF: Picture type unknown

H.264 Encode Configuration Parameters

The following table describes the H.264 encode configuration parameters:

Parameter Description
H264Profile

Supported profiles are:

  • 0: Automatic profile selection
  • 66: Baseline profile
  • 77: Main profile
  • 88: Extended profile
  • 100: High profile
  • 244: High444 profile
H264Level Specifies the encoding level. The recommendation is for the client to set the level to 0 to enable the NvMedia Encode interface to select the correct level.
H264EncPreset Specifies the encoder preset to use
0x0    = NVMEDIA_ENCODE_QUALITY_HQ
0x10   = NVMEDIA_ENCODE_QUALITY_HP
0x20   = NVMEDIA_ENCODE_QUALITY_UHP

recommend quality setting is NVMEDIA_ENCODE_QUALITY_HP
H264Features

Specifies the bitwise OR'ed configuration feature flags. The flags are:

  • ENABLE_OUTPUT_AUD (1 << 0)
  • ENABLE_INTRA_REFRESH (1 << 1)
  • ENABLE_DYNAMIC_SLICE_MODE (1 << 2)
  • ENABLE_CONSTRANED_ENCODING (1 << 3)
  • ENABLE_LOSSLESS COMPRESSION (1 << 4)
H264IdrPeriod Specifies the IDR interval. If not set, it defaults to the GOP length. A low latency application client must set the IDR interval to 0 so that IDR frames are not inserted automatically.
H264RepeatSPSPPSMode

Specifies the frequency of writing Sequence and Picture parameters. The values can be:

  • 0x0: Repeating SPS/PPS is disabled
  • 0x1: SPS/PPS is repeated for every intra frame
  • 0x2: SPS/PPS is repeated for every IDR frame
H264NumSliceCountMinus1 One less than the number of slices desired per frame.
H264DisableDeblockingFilterIDC Deblocking filter mode. The value can be 0, 1, or 2.
H264IntraRefreshPeriod

The interval between successive intra refreshes if intra refresh is enabled and one-time intra refresh configuration is desired.

If H264IntraRefreshPeriod is specified, the first IDR is encoded, and no more key frames are encoded.

The client must set EPPictureType to 6 for the first picture of every intra refresh period.

H264IntraRefreshCnt The number of frames over which intra refresh occurs.
H264MaxSliceSizeInBytes The maximum slice size, in bytes, for dynamic slice mode. The client must enable dynamic slice mode to use this parameter.
H264AdaptiveTransformMode

Specifies the Adaptive Transform Mode. Available modes are:

  • 0x0: The encoder driver automatically selects Adaptive Transform 8x8 mode.
  • 0x1: Adaptive Transform 8x8 mode disabled.
  • 0x2: Adaptive Transform 8x8 mode must be used.
H264BdirectMode

Specifies the B Direct mode. Available modes are:

  • 0x0: Spatial B Direct mode
  • 0x1: Disable B Direct mode
  • 0x2: Temporal B Direct mode
H264EntropyCodingMode

Specifies the entropy coding mode. Available modes are:

  • 0x0: The encoder driver automatically selects the entropy coding mode
  • 0x1: Entropy coding mode is CABAC
  • 0x2: Entropy coding mode is CAVLC
H264MotionPredictionExclusionFlags

Specifies the bitwise OR’ed exclusion flags for motion prediction. Available flags are:

  • (1 << 0): Disable Intra 4x4 vertical prediction
  • (1 << 1): Disable Intra 4x4 horizontal prediction
  • (1 << 2): Disable Intra 4x4 DC prediction
  • (1 << 3): Disable Intra 4x4 diagonal down left prediction
  • (1 << 4): Disable Intra 4x4 diagonal down right prediction
  • (1 << 5): Disable Intra 4x4 vertical right prediction
  • (1 << 6): Disable Intra 4x4 horizontal down prediction
  • (1 << 7): Disable Intra 4x4 vertical left prediction
  • (1 << 8): Disable Intra 4x4 horizontal up prediction
  • (1 << 9): Disable Intra 8x8 vertical prediction
  • (1 << 10): Disable Intra 8x8 horizontal prediction
  • (1 << 11): Disable Intra 8x8 DC prediction
  • (1 << 12): Disable Intra 8x8 diagonal down left prediction
  • (1 << 13): Disable Intra 8x8 diagonal down right prediction
  • (1 << 14): Disable Intra 8x8 vertical right prediction
  • (1 << 15): Disable Intra 8x8 horizontal down prediction
  • (1 << 16): Disable Intra 8x8 vertical left prediction
  • (1 << 17): Disable Intra 8x8 horizontal up prediction
  • (1 << 18): Disable Intra 16x16 vertical prediction
  • (1 << 19): Disable Intra 16x16 horizontal prediction
  • (1 << 20): Disable Intra 16x16 DC prediction
  • (1 << 21): Disable Intra 16x16 plane prediction
  • (1 << 22): Disable Intra chroma vertical prediction
  • (1 << 23): Disable Intra chroma horizontal prediction
  • (1 << 24): Disable Intra chroma DC prediction
  • (1 << 25): Disable Intra chroma plane prediction
  • (1 << 26): Disable Inter L0 partition 16x16 prediction
  • (1 << 27): Disable Inter L0 partition 16x8 prediction
  • (1 << 28): Disable Inter L0 partition 8x16 prediction
  • (1 << 29): Disable Inter L0 partition 8x8 prediction

H.264 VUI Configuration Parameters

The following table describes the H.264 VUI configuration parameters:

Parameter Description
VUIAspectRatioInfoPresentFlag A value of 1 indicates that the aspect ratio information is present.
VUIAspectRatioIDC Specifies the sample aspect ratio of the luma samples.
VUIAspectSARWidth Specifies the horizontal size of the sample aspect ratio.
VUIAspectSARHeight Specifies the vertical size of the sample aspect ratio.
VUIOverscanInfoPresentFlag A value of 1 indicates that overscan info is present.
VUIOverscanInfo Specifies overscan information, as defined in Annex E of the ITU-T Specification.
VUIVideoSignalTypePresentFlag If set to 1, specifies that Video Format, Video Full Range Flag, and Color Description Present Flag are present.
VUIVideoFormat Specifies the source video format as defined in Annex E of the ITU-T Specification.
VUIVideoFullRangeFlag Specifies the output range of the luma and chroma samples, as defined in Annex E of the ITU-T Specification.
VUIColourDescriptionPresentFlag A value of NVMEDIA_TRUE indicates that the color primaries, transfer characteristics, and color matrix are present.
VUIColourPrimaries Specifies the color primaries for converting to RGB, as defined in Annex E of the ITU-T Specification.
VUITransferCharacteristics Specifies the opto-electronic transfer characteristics to use, as defined in Annex E of the ITU-T Specification.
VUIMatrixCoefficients Specifies the matrix coefficients used to derive the luma and chroma from the RGB primaries, as defined in Annex E of the ITU-T Specification.

H.264 Payload Configuration Parameters

The following describes the H.264 payload configuration parameters:

Parameter Description
H264PayloadSize SEI payload 1 size in bytes. SEI payload must be byte aligned, as described in Annex D of the H.264 Specification.
H264PayloadType SEI payload 1 types and syntax is available in Annex D of the H.264 Specification.
H264Payload Payload 1 data.

H.264 Per-Frame Encode Configuration Parameters

The following table describes the H.264 per-frame encode configuration parameters. These are in addition to the per-frame encode configuration parameters. These parameters must be sent on a per-frame basis.

Parameter Description
H264PayloadArraySize Size of Payload Array.
H264PayloadArrayIndexes Array of the Payload section indexes to be used.

H.265 Configuration Parameters

The following table describes the H.265 configuration parameters:

Parameter Description
H265Profile

Supported profiles are:

1: Main profile (supported)

H265Level Specifies the encoding level. It is recommended that the client set the level to 0 to enable the NvMedia Encode interface to select the correct level.
H265EncPreset Specifies the encoder preset to use
0x0    = NVMEDIA_ENCODE_QUALITY_HQ
0x10   = NVMEDIA_ENCODE_QUALITY_HP
0x20   = NVMEDIA_ENCODE_QUALITY_UHP

recommend quality setting is NVMEDIA_ENCODE_QUALITY_HP
H265Features

Specifies bitwise OR'ed configuration feature flags. The flags are:

  • ENABLE_OUTPUT_AUD (1 << 0)
  • ENABLE_INTRA_REFRESH (1 << 1)
  • ENABLE_DYNAMIC_SLICE_MODE (1 << 2)
  • ENABLE_CONSTRANED_ENCODING (1 << 3)
  • ENABLE_LOSSLESS_COMPRESSION (1 << 4)
  • ENABLE_SLICE_LEVEL_OUTPUT (1 << 5)
H265IdrPeriod Specifies the IDR interval. If not set, defaults to the GOP Length. A low latency application client can set the IDR interval to 0 so that IDR frames are not inserted automatically.
H265RepeatSPSPPSMode

Specifies the frequency of writing Sequence and Picture parameters.

Available values are:

  • 0x0: Repeating SPS/PPS is disabled
  • 0x1: SPS/PPS is repeated for every intra frame
  • 0x2: SPS/PPS is repeated for every IDR frame
H265NumSliceCountMinus1 One less than the number of slices desired per frame.
H265IntraRefreshPeriod

The interval between successive intra refreshes, assuming:

  • Intra refresh is enabled.
  • one time intra refresh configuration is desired.

If H265IntraRefreshPeriod is specified, the first IDR is encoded and no more key frames are encoded.

The client must set EPPictureType to 6 for the first picture of every intra refresh period.

H265IntraRefreshCnt Specifies the number of frames over which intra refresh occurs.
H265MaxSliceSizeInBytes Specifies the maximum slice size, in bytes, for dynamic slice mode. The client must enable dynamic slice mode to use this parameter.

H.265 VUI Configuration Parameters

The following table describes the H.265 VUI configuration parameters:

Parameter Description
H265VUIAspectRatioInfoPresentFlag A value of 1 indicates that aspect ratio information is present.
H265VUIAspectRatioIDC Specifies the value of the sample aspect ratio of the luma samples.
H265VUIAspectSARWidth Horizontal size of the sample aspect ratio.
H265VUIOverscanInfoPresentFlag A value of 1 indicates that overscan information is present.
H265VUIOverscanInfo Specifies overscan information, as defined in Annex E of the ITU-T Specification.
H265VUIVideoSignalTypePresentFlag A value of 1 indicates that Video Format, Video Full Range Flag, and Color Description Present Flag are present.
H265VUIVideoFormat Specifies the source video format, as defined in Annex E of the ITU-T Specification.
H265VUIVideoFullRangeFlag Specifies the output range of the luma and chroma samples, as defined in Annex E of the ITU-T Specification.
H265VUIColourDescriptionPresentFlag A value of NVMEDIA_TRUE indicates that the color primaries, transfer characteristics, and color matrix are present.
H265VUIColourPrimaries Specifies color primaries for converting to RGB, as defined in Annex E of the ITU-T Specification.
H265VUITransferCharacteristics Specifies the opto-electronic transfer characteristics to use, as defined in Annex E of the ITU-T Specification.
H265VUIMatrixCoefficients Specifies the matrix coefficients to use to derive the luma and chroma from the RGB primaries, as defined in Annex E of the ITU-T Specification.

H.265 Payload Configuration Parameters

The following table describes the H.265 payload configuration parameters:

Parameter Description
H265PayloadSize SEI payload 1 size in bytes. SEI payload must be byte aligned, as described in Annex D of the ITU‑T Specification.
H265PayloadType SEI payload 1 types and syntax are available in Annex D of the ITU‑T Specification.
H265Payload Payload 1 data.

H.265 Per-Frame Encode Configuration Parameters

The following table describes the H.265 per-frame encode configuration parameters. These parameters must be sent on a per frame basis.

Parameter Description
H265PayloadArrayIndexes Array of Payload section indexes to be used.
H265PayloadArraySize Size of Payload Array.

AV1 Configuration Parameters

The following table describes the AV1 configuration parameters:

Parameter Description
EPEnableTileEncode Enable encoding with multiple tile configuration.
EPlog2NumTileInRow Specifies the log of number of tiles in a row.
EPlog2NumTileInCol Specifies the log of number of tiles in a column.
AV1EnableInternalHighBitDepth Enables internal high bit depth. When enabled, input YUV is 8 bit, but the encoded bitstream is 10 bit.
AV1EnableSsimRdo Enables SSIM-based rate distortion optimization
AV1FrameRestorationType Specifies the frame restoration type.
AV1EnableUniCompound Enables the uni-compound for P frames.
AV1IdrPeriod

Specifies the IDR interval. If not set, the interval is equal to the GOP length. Low latency application client can set the IDR interval to 0 so that IDR frames are not inserted automatically.

Default value = 0

AV1EncPreset Specifies the encoder preset to use
0x10   = NVMEDIA_ENCODE_QUALITY_HP
0x20   = NVMEDIA_ENCODE_QUALITY_UHP

recommend quality setting is NVMEDIA_ENCODE_QUALITY_HP
AV1Features

Specifies bitwise OR'ed configuration feature flags. The flags are:

  • ENABLE_QUANTIZATION_PARAMS (1 << 1),
  • DISABLE_CDF_UPDATE (1 << 2),
  • INIT_QP (1 << 6),
  • QP_MAX (1 << 7)

Supported Input File Format

H264 Enc supports the following File formats- IYUV, YV12, YUV444

H265 Enc supports the following File formats- IYUV, YV12, YUV444, IYUV420_10bit (LSB aligned), IYUV444_10bit (LSB aligned), IYUV420_10bit (MSB aligned), IYUV444_10bit (MSB aligned)

AV1 Enc supported the following File formats - IYUV, YV12, IYUV420_10bit (LSB aligned), IYUV420_10bit (MSB aligned)

Configuration Parameters for Dynamic Features

The following dynamic features can be configured using additional input files:

Dynamic Resolution Change (DRC)
This feature can be enabled by providing the DynamicResolutionFileName parameter, which should be set to the path of a file containing the resolution change information. Each line of the file should be formatted as per the following structure:
<frame_id> <width> <height>
For each line in the preceding configuration file, the specified resolution will take effect for all the frames starting from the specified frame_id until the frame_id specified on the next line (if any) or the end of the encode session, whichever occurs first.

The DRC feature can be applied in two different modes, as described below:

DRC without buffer reallocation
By default, the DRCBufferRealloc parameter is set to 0, to indicate that buffer reallocation is disabled.
  • The test app allocates all buffers at the maximum DRC resolution specified by EncodeWidth x EncodeHeight, and reads all the frames of the input YUV file at the same max resolution.
  • Within each input frame, the actual frame to be encoded should be positioned by aligning to the top-left corner, with the rest of the frame buffer being filled with black padding, to match the maximum DRC resolution.
DRC with buffer reallocation
If the DRCBufferRealloc parameter is set to 1, then the other parameters should be set as per the following requirements:
  • The DynamicResolutionFileName parameter should be configured as per the preceding description; and the specified file should contain only one line, because only one resolution change can be supported using the buffer reallocation approach.
  • The InputFile parameter should be used to identify the input YUV file for the initial resolution, whereas the InputFileDRC parameter should be used to identify the input YUV file after the resolution change.
If Buffer reallocation is configured as above, then the Dynamic Resolution Change feature is applied as per the following process:
  • The test app pre-allocates buffers for the initial resolution as well as the changed resolution after DRC.
  • The test app starts by reading frames from the InputFile for encoding at the initial resolution.
  • When the processing reaches the frame_id specified on the first (and only) line of DynamicResolutionFileName, the test app switches to using the buffers allocated for the changed resolution.
  • The test app now starts reading the subsequent frames from InputFileDRC file, until the end of the encode session.
Dynamic Bitrate Change
This feature can be enabled by providing the BitrateFileName parameter, which should be set to the path of a file containing the bitrate change information. Each line of the file should be formatted as per the following structure:
<frame_id> <bitrate_bps> <vbv_buffer_size_bits>
For each line in the above configuration file, the specified bitrate settings will take effect for all the frames starting from the specified frame_id until the frame_id specified on the next line (if any) or the end of the encode session, whichever occurs first.
QP delta map

This feature can be enabled by providing the QPDeltaMapFileBaseName parameter, which should be set to the basename of a path containing input QP delta files for each frame. The filename of each frame's QP delta map should be as per the format <QPDeltaMapFileBaseName>_%05d.bin where %05d will be replaced with the frame index starting from 1.

Usage guide for Dynamic Features

The following guidelines are provided as recommended best practices while using the above features; in particular to improve the rate control characteristics of the encoding. In this section, "dynamic parameter" refers to any parameter that can be modified using the preceding features; such as bitrate, resolution, and QP delta map.
  1. After changing any dynamic parameter, there should be a gap of at least 3 frames before the same or different dynamic parameter is changed. This will allow the rate control algorithm to stabilize at the current operating point, and avoid bitrate overflows.
  2. While applying DRC, the Encode Configuration Parameters EPEncodeWidth, EPEncodeHeight should be set to the maximum target resolution that would be applied during the encode session. In addition, the encoding should always start with this maximum target resolution; in other words, DRC should not be applied to the first frame of the session.
  3. Although DRC supports changes from any initial resolution to any new target resolution, it is recommended to perform a gradual resolution change, by applying not more than 2x increase or decrease in the width and height of the resolution at a time. For example, to instead of changing the resolution from 540p(960x540) to 4k(3840x2160), a smoother rate control can be achieved by first switching from 540p to 1080p(1920x1080), and then after 3 frames to 4k.
  4. The dimensions of QP delta map for each frame should be computed as follows:
    #define ALIGN_256(x) (x << 8) 
    frameWidthInCTB  = (EPEncodeWidth + CTB_SIZE - 1)/CTB_SIZE
    frameHeightInCTB = (EPEncodeHeight + CTB_SIZE - 1)/CTB_SIZE
    QPDeltaBufferSizeInBytes = ALIGN_256(frameWidthInCTB) * (frameHeightInCTB + 2)
    where CTB_SIZE=32, and EPEncodeWidth, EPEncodeHeight are as per the Encode Configuration Parameters. Each entry in the QP delta map file should be a signed 8-bit integer, denoting the QP delta value for a CTB of 32x32 pixels. The frame should be scanned row-wise from the top-left to bottom-right.
  5. In particular, the dimensions of the QP delta map buffer do not change even while applying Dynamic Resolution Change. In this case,, the QP delta map values should be arranged as if the actual frame to be encoded is positioned by aligning to the top-left corner, with the rest of the frame buffer being filled with black padding, to match the maximum DRC resolution.
  6. QP delta map should not contain any values with a magnitude exceeding 5. In addition, the average value of QP delta map should be close to zero, for each row of CTBs within the frame. This allows a uniform allocation of the bits throughout the frame.
  7. It is possible to update multiple dynamic parameters at the same frame; and it may also be necessary to take advantage of the same. For example, the target bitrate should be adjusted based on the current resolution, as well as the complexity of the encoding content. Increasing the resolution without increasing the target bitrate causes a reduction in video quality.