NVIDIA Tegra
DRIVE 5.0 Linux Open Source Software

Development Guide
5.0.10.3 Release


 
Video Encode (nvmvid_enc)
 
Features
Architecture
Creating the Configuration File
Running the Application
Command Line Options
Examples
Basic H.264 / H.265 Encoding
Setting H.264 / H.265 Encoding Configuration Parameters
Using a Specific H.264 / H.265 Encoder Configuration File
Configuration File Parameters
Test Cases
H.264 Encode Test Cases
The NvMedia Video Encode sample application nvmvid_enc demonstrates using the NvMedia video encode API to encode H.264/H.265 bitstreams based on the NVIDIA Encoder (NVENC) hardware engine.
The application accepts raw YUV/RGB frames as input and produces compressed elementary stream as output. It supports encoding of:
H.264 Baseline
Main profiles up to Level 4.1
High profiles up to Level 4.1
H.265 Main profiles up to level 6.0 with various configure parameters
Test cases are also provided to cover all feature testing.
Features
NvMedia Video Encode for NVENC supports the following features:
H.264 Encoding
Accepts YUV/RGB frames as input.
Encodes content for Internet, common SD, and HD formats up to dual streams of 1920 x 1080.
Supports H.264 Baseline, Main and High profiles.
Provides frame-only encoding.
For I-frame or I/P-frame encoding, the low-level hardware driver (TVMR) code handles the picture type according to the Group of Pictures (GOP) and IDR period.
For I/B/P encoding, picture reordering is handled in application code by assigning the picture type and sending it to the TVMR driver for encoding.
Supports all intra-macroblock types (16x16, 8x8, 4x4, and PCM) and prediction types.
Supports inter-macroblock partition sizes from 16x16, 16x8, 8x16 down to 8x8, and skip and direct B‑modes.
Supports disable, temporal, or spatial direct mode for B‑picture.
Supports one reference picture for P‑picture
Supports two reference pictures for B‑picture
Supports multiple rate-control modes including:
Constant QP
Constant Bit Rate (CBR) single-pass
Variable Bit Rate (VBR)
VBR with minimum QP
Supports dynamic slice mode based on byte size and static multiple slices in the frame.
Supports intra-refresh mode with refresh period, and instant refresh P‑picture.
Supports adaptive 8x8 transform mode.
Supports VUI and SEI insertion.
Supports CAVLC and CABAC.
Supports rotation/mirroring mode.
Supports dynamic configure changes at the frame level, including:
SPS PPS output on next frame
Constained frame encode
Instant intra refresh P‑picture
New SEI packet insertion
GOP length and IDR period update
Rate control mode change
H.265 Encoding
Accepts YUV/RGB frames as input.
Supports Encoding common SD and HD resolutions up to dual streams of 3840 x 2160.
Supports H.265 Main profiles with level up to 6.0.
Provides frame only encoding.
For I‑only or I/P encoding, the low-level hardware driver (TVMR) code handles the picture type according to the GOP, IDR period.
Supports all intra-CU types (32x32, 16x16, 8x8, 4x4, and PCM) and prediction types.
Supports inter-CU partition sizes from 32x32 to 8x8, with partition modes of PART_2Nx2N, PART_2NxN, PART_Nx2N, PART_2NxnU, PART_2NxnD, PART_nLx2N, and PART_nRx2N, plus skip.
Supports one reference picture for P‑picture.
Supports multiple rate-control modes, including:
Constant QP
Constant Bit Rate (CBR) single-pass
Variable Bit Rate (VBR)
VBR with minimum QP
Supports dynamic slice mode based on byte size and static multiple slices in the frame.
Supports intra refresh mode with refresh period, and instant refresh P‑picture.
Supports VUI and SEI insertion.
Allows CABAC only.
Supports dynamic configure change at frame level including:
SPS PPS output on next frame
Constained frame encode
Instant intra refresh P picture
New SEI packet insertion
GOP length and IDR period update
Rate control mode change
Architecture
The NvMedia Video sample application’s encoding APIs call the low-level hardware driver and issue encoding commands to NVENC microcode for each picture. The NVENC microcode accesses the hardware engine and schedules the encoding commands. It then returns the encode status, including bitstreams, statistics, etc. The low-level driver is responsible for writing out high-level headers, including SPS, PPS, VUI, and SEI. Slice header and data is handled by NVENC microcode hardware. Further packetization or encryption of the encoded stream is performed by the Encoder software application.
Buffer allocation is managed between the low-level driver and the Encoder software application. The application manages the input RGB/YUV surfaces, and handles any necessary picture reordering needed for I/B/P encoding. The low-level driver maintains the reference picture surfaces, the output bitstream buffers, and the internal status buffers.
Encoder Software Stack
The following diagram shows the components of the nvmvid_enc application’s software stack.
High Level Data Flow
The Encoder software application collects frames from a source such as a camera, a raw data file, etc. and queues them to the NvMedia low-level driver. The Encoder software application can choose to apply deinterlacing, noise reduction, image stabilization or other preprocessing to the input frames before encoding. After the NvMedia Encoder instance is created, the Encoder software application sends the encoder configurations and the input video surface buffers to the driver for encoding. The Encoder software application waits for the encode frame to be complete, then reads out the encode bitstream.
The application saves the bitstream to an output file. The reference picture surfaces, the output bitstream buffers, and the internal status buffers are created and maintained inside the NvMedia low-level driver. For each input picture, the driver provides a configuration data structure (a picture setup) that contains encoder parameters along with the encode commands to the NVENC microcode. This structure contains:
Buffer information (current picture, reference pictures)
Sequence and picture parameter set information and rate control configuration
Other module configurations as needed
NvMedia Low-Level Encode Driver Inputs and Outputs
The following diagram shows the low-level encode driver’s inputs and outputs.
Picture buffers must be in block linear format. Pitch-linear input data is not supported due to inefficiency in the memory accesses. Picture buffers must also be in NV12 format.
The picture dimensions of the encoded streams are multiples of X pixels, where X is:
16 for H.264 encoding
32 for H.265 encoding
If the input needs cropping, it is cropped at the right and bottom of the picture. If the picture’s horizontal or vertical dimension is not a multiple of X pixels, the application software pads the picture of the right or bottom side.
Creating the Configuration File
When you run the nvmvid_enc application you must provide it with a configuration file.
A default configuration is available at:
home/nvidia/samples/nvmedia/vid_enc/enc_h264_sample.cfg
The configuration file consists of parameters and their values. The parameters are grouped into sections, and may be documented by comments.
Parameters
Each parameter must be on a separate line. A parameter line contains the following tokens:
The parameter name
An equal sign (“=”)
A value
After these tokens, you can add a comment.
Here is an example of a parameter with a commend:
InputFile = "configs/input.yuv" # File to encode
An unknown parameter in a configuration file does not cause a failure; the parameter is ignored. A malformed parameter line causes the application to fail.
Comments
As the Parameters topic shows, a comment consists of a pound sign (“#”) and any following text to the end of the line. A comment may also appear on a line by itself.
Sections
A section is a group of parameters. Sections can simplify a configuration file by eliminating the need to repeat a group of parameters in several contexts. If you define a group of parameters in a section, you can apply the parameters in different contexts simply by referring to the section.
For example, rate control parameters must be set for encoder initialization, and can be set separately for each frame. Instead of repeating the rate control parameters in each context, create one or more sections of type RC_Params which define different sets of rate control parameters, and refer to the appropriate section number in each context:
EPRateControlSectionIndex—Use the rate control parameter section number for encoder initialization.
EPPRCParamsIndex—Use the rate control parameter section number for a specific frame encoding. This parameter is part of another section, EncodePic_Params.
Available section types include:
EncodePic_Params—Per frame parameters
EncodePicH264_Params—Specific H.264 per frame parameters
Payload—Different arrays of SEI payloads can be used for every picture in H.264 encoding
EncodePicH265_Params—Consists of specific H.265 per frame parameters
PayloadH265—Different arrays of SEI payloads can be used for every picture in H.265 encoding
RC_Params—Rate Control parameters
QP_Params—Quantization parameters
Each section must be preceded with a line of the form:
[<section name> <section number>]
For example:
[QP_Params 1]
QPBSlice = 30 # Quant. parameter for B slices (0-51) - qpInterB
QPISlice = 28 # Quant. parameter for I Slices (0-51) - qpIntra
QPPSlice = 28 # Quant. parameter for P Slices (0-51) - qpInterP
 
[QP_Params 2]
QPBSlice = 40 # Quant. parameter for B slices (0-51) - qpInterB
QPISlice = 38 # Quant. parameter for I Slices (0-51) - qpIntra
QPPSlice = 38 # Quant. parameter for P Slices (0-51) - qpInterP
 
[QP_Params 3]
QPBSlice = 50 # Quant. parameter for B slices (0-51) - qpInterB
QPISlice = 48 # Quant. parameter for I Slices (0-51) - qpIntra
QPPSlice = 48 # Quant. parameter for P Slices (0-51) - qpInterP
Running the Application
The nvmvid_enc application supports YUV input files only. Follow the steps in this topic to run the sample.
Step 1: Create a configuration for the encoding process
1. Modify the configuration file to reference the directory with the YUV.
For a single YUV file:
InputFile = "configs/input.yuv" # File to encode
Step 2: Launch the application
2. Launch the application.
Command Line Options
The format of the nvmvid_enc application command line is:
nvmvid_enc [-h] [-v] [-cf config.cfg] {[-sf config1.cfg]...[-sf configN.cfg]} {[-p EncParam1=EncValue1]..[ EncParamM=EncValueM]}
The following table describes the command line options.
Option
Parameter
Description
-h
N/A
Displays guidance on using this application.
-v
Logging level
0—Errors
1—Warnings
2—Info
3—Debug
If the option is not provided, uses 0 Errors.
-cf
[config file]
Encoder base configuration file.
-sf
[config file]
Encoder specific configuration file.
Any parameters provided in this file overwrite parameters specified in the base configuration file with the ‑cf option.
-p
[<p1>=<v1>]..[<pN>=<vN>]
Sets parameter <p1> with value <v1><pN> with value <vN>.
Overrides parameters set through the configuration files.
-crc
[gen|chk] [filename.crc]
Checks (“chk”) or generates (“gen”) golden CRC values in the filename.crc file.
Examples
The following examples provide common usage scenarios.
Basic H.264 / H.265 Encoding
The encoding is performed using parameters supplied in the enc_h26x_sample.cfg file. The input and output file information can be supplied through a base configuration file. However, it is more convenient to use a specific configuration file for these parameters and pass them through the command line using ‑p option.
./nvmvid_enc -cf <enc_sample>.cfg
Where <enc_sample>.cfg is either enc_h264_sample.cfg or simple_h265_cif.cfg.
Setting H.264 / H.265 Encoding Configuration Parameters
The H.26x encoding is performed using parameters supplied in the enc_h26x_sample.cfg file. The input and output file information is supplied through the command line using the ‑p option.
./nvmvid_enc -cf <enc_sample>.cfg -p InputFile="aqiyo_qcif.yuv"
OutputFile="aqiyo_qcif.h26x" EPEncodeWidth=176 EPEncodeHeight=144
Where <enc_sample>.cfg is either enc_h264_sample.cfg or simple_h265_cif.cfg.
Any parameter supplied through ‑p option overwrites the values of this parameter that are supplied through configuration files.
Using a Specific H.264 / H.265 Encoder Configuration File
The encoding is performed using parameters supplied in the enc_h26x_sample.cfg and enc_h26x_aqiyo_specific.cfg files. Parameter values are taken from the specific configuration file.
./nvmvid_enc -cf <enc_sample>.cfg -sf enc_h26x_aqiyo_specific.cfg
Where <enc_sample>.cfg is either enc_h264_sample.cfg or simple_h265_cif.cfg.
Configuration File Parameters
Parameters that specify a length of an array such as ExplicitFrameIntervalPatternLength, ExplicitFrameIntervalPattern may be left unset or may be set to 0. The default array size, 1000, is used.
Parameter
Description
InputFile
File sent to the encoder.
InputFileFormat
Input file format. Supported Formats include:
0—IYUV
1—YV12
3—IYUV444
4—IYUV420_10bit
5—IYUV444_10bit
OutputFile
Output file name for the encoded stream.
InputHeaderLength
Use the parameter to identify the header length in bytes; if the input file has a header.
StartFrame
Start frame for encoding. [1 : Number of frames in the stream]
FramesToBeEncoded
Number of frames to encode.
EPCodec
Video codec type. Codec types include:
0—H.264 codec
1—H.265 codec
EPEncodeWidth
Encode width.
EPEncodeHeight
Encode height.
EPEnableLimitedRGB
Set to 1 for limited RGB input.
EPFrameRateNum
Specifies the numerator for frame rate used for encoding in frames per second.
Frame rate = EPFrameRateNum / EPFrameRateDen
EPFrameRateDen
Specifies the denominator for frame rate used for encoding in frames per second.
Frame rate = EPFrameRateNum / EPFrameRateDen
EPSourceRectSpecified
Flag: Source rectangle specified [0,1].
EPSourceRectX0; EPSourceRectY0; EPSourceRectX1; EPSourceRectY1
Specifies the source rectangle to encode.
Default: {0, 0, Encode Width, Encode Height}
EPEncodeRotation
Specifies the rotation of the input surface.
Supported values include:
0x00—No rotation
0x01—90 degree rotation
0x02—180 degree rotation
0x03—270 degree rotation
EPEncodeMirroring
Specifies the mirroring of the input surface.
Supported values include:
0x00—No mirroring
0x01—Horizontal mirroring
0x02—Vertical mirroring
0x03—Horizontal and vertical mirroring
EPMaxNumRefFrames
EPMaxNumRefFrames=0 for I only mode.
EPMaxNumRefFrames=1 for IP mode.
EPMaxNumRefFrames=2 for IBP mode.
EPRateControlSectionIndex
Index of the RC_params section to be used for encoder initialization.
ExplicitFrameIntervalPattern
Specifies the frame interval pattern. The values in the string are the EncodePic_Params section to be used for each frame.
For example: If the given pattern is 123, it specifies the following associations:
Frame numbers 1, 4, 7, 10, etc., EncodePic_Params section #1 is used.
Frame numbers 2, 5, 8, 11, etc., EncodePic_Params section #2 is used.
Frame numbers 3, 6, 9, 12, etc., EncodePic_Params section #3 is used.
ExplicitFrameIntervalPatternLength
Specifies the length of the interval pattern.
EPGopPattern
Specifies the GOP pattern. If GOP Length is set to 0, Frame Interval Pattern must be set to IPP.
Supported interval patterns include:
0—I
1—IPP
2—IBP
3—IBBP
Quantization Parameters: QP_Params Parameters Group
The following table describes the QP_Params group of parameters.
Parameter
Description
QPBSlice
Specifies the Quantization parameter for B slices [0-51].
QPISlice
Specifies the Quantization parameter for I Slices [0-51].
QPPSlice
Specifies the Quantization parameter P Slices [0-51]
Rate Control Parameters: RC_Params Parameters Group
The following table describes the RC_Params group of parameters.
Parameter
Description
RCMode
Specifies the rate control mode.
Supported modes include:
0x00—Constant bitrate mode
0x01—Constant QP mode
0x02—Variable bitrate mode
0x03—Variable bitrate mode with MinQP
RCAverageBitrate
Specifies the average bitrate in bits/second; used for encoding.
RCMaxBitrate
Specifies the maximum bitrate for the encoded output. This is used om Variable Bit Rate (VBR) mode and is ignored in 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) buffer size in bits. Set to 0 to use the default VBV buffer size.
RCEnableMinQP
Must be set to 1 if minimum QP is used for the rate control.
RCEnableMaxQP
Must be set to 1 if maximum QP is used for the rate control.
RCConstQPIndex
Specifies the initial QP_Params section index used for encoding. In Constant QP mode these values are used for all frames.
RCMinQPIndex
Specifies the QP_Params section index used as the minimum QP value for rate control.
RCMaxQPIndex
Specifies the QP_Params section index used as the maximum QP values for rate control.
Per-frame Encode Parameters: EncodePic_Params Parameters Group
The following table describes the EncodePic_Params group of parameters. These parameters must be set on a per-frame basis.
Parameter
Description
EPEencodePicFlags
Specifies the bit-wise OR`ed encode picture flags.
Available flags include:
0x01—Encode the current picture as an Intra picture.
0x02—Encode the current picture as an IDR picture. This flag is valid when the Picture type decision is taken by the Encoder [enable PTD is set to 1].
0x04—Writes the sequence and picture header in encoded bitstream of the current picture.
0x08—Indicates the end of the input stream.
0x10—Indicates a change in bitrate from the current picture onwards.
0x20—Indicates 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.
EPInputDuration
Specifies the duration of the input picture.
EPPictureType
Specifies the input picture type. This parameter must be set explicitly by the client if the client has not set the Enable PTD to 1.
Available picture types include:
0x00—Forward predicted
0x01—Bi-directionally predicted picture
0x02—Intra predicted picture
0x05—Picture is skipped
0x06—First picture in intra refresh cycle
0xFF—Picture type unknown
EPRCParamsIndex
Rate control parameters: RC_Params section index to be used.
H.264 Specific Parameters
The following table describes the H.264 specific group of parameters.
Parameter
Description
EPGopLength
Specifies the number of pictures in one GOP.
If it is 0, keyframes are not inserted automatically.
H264RepeatSPSPPSMode
Specifies the frequency of the writing of Sequence and Picture parameters.
0x0—Repeating of SPS/PPS is disabled
0x1—SPS/PPS is repeated for every intra frame
0x2—SPS/PPS is repeated for every IDR frame
H264Profile
Supported profiles include:
0—Automatic profile selection
66—Baseline profile
77—Main profile
88—Extended profile
100—High profile
H264Level
Specifies the encoding level. It is recommended that the client set the encoding level to 0 to enable the NvMedia Encode interface to select the correct level.
H264Features
Specifies the bit-wise OR'ed' configuration feature flags.
ENABLE_OUTPUT_AUD = (1 << 0)
ENABLE_INTRA_REFRESH = (1 << 1)
ENABLE_DYNAMIC_SLICE_MODE = (1 << 2)
ENABLE_CONSTRANED_ENCODING= (1 << 3)
H264IdrPeriod
Specifies the IDR interval. If not set, it is made equal to the GOP length. The low latency application client must set IDR interval to 0 so that IDR frames are not inserted automatically.
H264NumSliceCountMinus1
Set to 1 less than the desired number of slices per frame.
H264DisableDeblockingFilterIDC
Deblocking filter mode. The permissible value range is [0,2].
H264IntraRefreshPeriod
Interval between successive intra refreshes, if intra refresh is enabled and one-time intra refresh configuration is desired.
If H264IntraRefreshPeriod is specified, first IDR is encoded and no more key frames are encoded.
The client must set the picture type to 6 for the first picture of every intra refresh period.
H264IntraRefreshCnt
Number of frames over which intra refresh happens.
H264MaxSliceSizeInBytes
Maximum slice size for the dynamic slice mode, in bytes. The client must enable dynamic slice mode to use the maximum slice size.
H264MotionPredictionExclusionFlags
Specifies the bit-wise OR`ed exclusion flags for motion prediction.
Available flags include:
(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
H264AdaptiveTransformMode
Specifies the Adaptive Transform Mode.
Available modes include:
0x00—Adaptive Transform 8x8 mode is automatically selected by the encoder driver.
0x01—Adaptive Transform 8x8 mode is disabled.
0x02—Adaptive Transform 8x8 mode must be used.
H264BdirectMode
Specifies the B Direct mode.
Available modes include:
0x00—Spatial B Direct mode
0x01—Disable B Direct mode
0x02—Temporal B Direct mode
H264EntropyCodingMode
Specifies the entropy coding mode. Available modes are:
0x00—Entropy coding mode is automatically selected by the encoder driver
0x01—Entropy coding mode is CABAC
0x02—Entropy coding mode is CAVLC
H.264 VUI Parameters
The following table describes the H.264 VUI group of parameters.
Parameter
Description
VUIAspectRatioInfoPresentFlag
If set to 1, indicates that the aspect ratio information is present.
VUIAspectRatioIDC
Specifies the value of the sample aspect ratio of the luma samples.
VUIAspectSARWidth
Horizontal size of the sample aspect ratio.
VUIAspectSARHeight
Vertical size of the sample aspect ratio.
VUIOverscanInfoPresentFlag
If set to 1, indicates that the overscan info is present.
VUIOverscanInfo
Overscan information, as defined in Annex E of the ITU‑T Specification.
VUIVideoSignalTypePresentFlag
If set to 1, indicates that the Video Format, Video Full Range Flag, and Color Description Present Flag are present.
VUIVideoFormat
Specifies source video format, as defined in Annex E of the ITU‑T Specification.
VUIVideoFullRangeFlag
Specifies output range of the luma and chroma samples, as defined in Annex E of the ITU‑T Specification.
VUIColourDescriptionPresentFlag
If set to NVMEDIA_TRUE, specifies 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 in deriving the luma and chroma from the RGB primaries, as defined in Annex E of the ITU‑T Specification.
H.264 Payload: Payload parameters group in the Configuration file
The following table describes the H.264 payload group of parameters.
Parameter
Description
H264PayloadSize
SEI payload 1 size in bytes. The SEI payload must be byte aligned, as described in Annex D of the H.264 Specification.
H264PayloadType
SEI payload 1 type. Types and syntax are described in Annex D.
H264Payload
Payload 1 data.
H.264 Specific Per-Frame Encoding Parameters: EncodePicH264_Params Parameter Group
The following table describes the H.264 specific group of parameters that are specified on a per-frame basis.
Parameter
Description
EPH264PicParamsIndex
Codec specific parameters: EncodePicH264_Params section index to be used.
H264PayloadArrayIndexes
Array of Payload sections indexes to be used.
H264PayloadArraySize
Size of Payload Array Indexes array.
H.265 Specific Parameters
The following table describes the H.265… group of parameters.
Parameter
Description
H265EPGopLength
Specifies the number of pictures in one GOP.
If set to 0, keyframes are inserted automatically.
H265RepeatSPSPPSMode
Specifies the frequency of the writing of Sequence and Picture parameters.
Available parameters include:
0x00—Repeating of SPS/PPS is disabled
0x01—SPS/PPS is repeated for every intra frame
0x02—SPS/PPS is repeated for every IDR frame
H265Profile
Supported profiles include:
0—Automatic profile selection (unsupported)
1—Main profile (supported)
2—Main 10 profile (unsupported)
H265Level
Specifies the encoding level. It is recommended the the client sets the level to 0 to enable the NvMedia Encode interface to select the correct level.
H265Features
Specifies bit-wise OR'ed' configuration feature flags.
ENABLE_OUTPUT_AUD = (1 << 0)
ENABLE_INTRA_REFRESH = (1 << 1)
ENABLE_DYNAMIC_SLICE_MODE = (1 << 2)
ENABLE_CONSTRANED_ENCODING= (1 << 3)
H265IdrPeriod
Specifies the IDR interval. If not set, this is made equal to GOP Length. Low latency application client can set the IDR interval to 0 so that IDR frames are not inserted automatically.
H265NumSliceCountMinus1
1 less than the number of slices desired per frame.
H265DisableDeblockingFilterIDC
De-blocking filter mode. Possible value range: [0,1]
H265IntraRefreshPeriod
The interval between successive intra refresh, if Intra refresh is enabled, and 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 picture type to 6 for first picture of every intra refresh period.
H265IntraRefreshCnt
Specifies the number of frames over which intra refresh happens.
H265MaxSliceSizeInBytes
Specifies the maximum slice size, in bytes, for dynamic slice mode. The client must enable dynamic slice mode to use the maximum slice size.
H.265 VUI Parameters
The following table describes the H.265… group of parameters.
Parameter
Description
H265VUIAspectRatioInfoPresentFlag
If set to 1, indicates that the aspect ratio information is present.
H265VUIAspectRatioIDC
Value of the sample aspect ratio of the luma samples.
H265VUIAspectSARWidth
Horizontal size of the sample aspect ratio.
H265VUIAspectSARHeight
Vertical size of the sample aspect ratio.
H265VUIOverscanInfoPresentFlag
If set to 1, indicates that the overscan information is present.
H265VUIOverscanInfo
Overscan information, as defined in Annex E of the ITU‑T Specification.
H265VUIVideoSignalTypePresentFlag
If set to 1, indicates that the Video Format, Video Full Range Flag, and Color Description Present Flag are present.
H265VUIVideoFormat
Source video format, as defined in Annex E of the ITU‑T Specification.
H265VUIVideoFullRangeFlag
Output range of the luma and chroma samples, as defined in Annex E of the ITU‑T Specification.
H265VUIColourDescriptionPresentFlag
If set to NVMEDIA_TRUE, indicates that the color primaries, transfer characteristics, and color matrix are present.
H265VUIColourPrimaries
Color primaries for converting to RGB, as defined in Annex E of the ITU‑T Specification.
H265VUITransferCharacteristics
Opto-electronic transfer characteristics to use, as defined in Annex E of the ITU‑T Specification.
H265VUIMatrixCoefficients
Matrix coefficients used to derive the luma and chroma from the RGB primaries, as defined in Annex E of the ITU‑T Specification.
H.265 Payload: Payload Parameters Group in the Configuration file
The following table describes the H.265payload group of parameters.
Parameter
Description
H265PayloadSize
SEI payload 1 size in bytes. SEI payload must be byte aligned, as described in Annex D.
H265PayloadType
SEI payload 1 types and syntax are available in Annex D of the H.264 Specification.
H265Payload
Payload 1 data.
H.265 Specific Per-Frame Encoding Parameters: EncodePicH265_Params Parameters Group
The following table describes the H.265 specific group of parameters that must be specified on a per-frame basis.
Parameter
Description
EPH265PicParamsIndex
Codec specific parameters: EncodePicH265_Params section index to be used.
H265PayloadArrayIndexes
Array of Payload sections indexes to be used.
H265PayloadArraySize
Size of Payload Array Indexes array.
Test Cases
This section lists the specific H.264 and H.265 encode test cases.
H.264 Encode Test Cases
1. TVMR_NVENC_TEST_BP_IP_352x240_YUV
This is the baseline profile constant QP test for input resolution 352 x 240. For parameters that are not defined in the table, the default values (0) are used.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
2. TVMR_NVENC_TEST_BP_IP_704x480_YUV
This is the baseline profile constant QP test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
3. TVMR_NVENC_TEST_BP_IP_720x480_YUV
This is the baseline profile constant QP test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
4. TVMR_NVENC_TEST_BP_IP_1920x1080_YUV
This is the baseline profile constant QP test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
5. TVMR_NVENC_TEST_BP1_IP_352x240_YUV
This is the baseline profile constant QP test with extra freatures for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
H264Features
1
H264DisableDeblockingFilterIDC
1
H264NumSliceCountMinus1
4
6. TVMR_NVENC_TEST_BP1_IP_704x480_YUV
This is the baseline profile constant QP test with extra freatures for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
H264Features
1
H264DisableDeblockingFilterIDC
1
H264NumSliceCountMinus1
4
7. TVMR_NVENC_TEST_BP1_IP_720x480_YUV
This is the baseline profile constant QP test with extra freatures for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
H264Features
1
H264DisableDeblockingFilterIDC
1
H264NumSliceCountMinus1
4
8. TVMR_NVENC_TEST_BP1_IP_1920x1080_YUV
This is the baseline profile constant QP test with extra freatures for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
66
RCMode
1
QPISlice
25
QPPSlice
27
H264Features
1
H264DisableDeblockingFilterIDC
1
H264NumSliceCountMinus1
4
9. TVMR_NVENC_TEST_MP_IP_352x240_YUV
This is the main profile constant QP test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
1
10. TVMR_NVENC_TEST_MP_IP_704x480_YUV
This is the main profile constant QP test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
1
11. TVMR_NVENC_TEST_MP_IP_720x480_YUV
This is the main profile constant QP test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
1
12. TVMR_NVENC_TEST_MP_IP_1920x1080_YUV
This is the main profile constant QP test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
1
13. TVMR_NVENC_TEST_MP2_IP_352x240_YUV
This is the main profile constant QP test extra features for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingModes
4
14. TVMR_NVENC_TEST_MP2_IP_704x480_YUV
This is the main profile constant QP test II extra features for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
H264NumSliceCountMinus1
4
15. TVMR_NVENC_TEST_MP2_IP_720x480_YUV
This is the main profile constant QP test II for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
0
H264NumSliceCountMinus1
4
16. TVMR_NVENC_TEST_MP2_IP_1920x1080_YUV
This is the main profile constant QP test II for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingModes
0
H264NumSliceCountMinus1
4
17. TVMR_NVENC_TEST_MP3_IP_352x240_YUV
This is the main profile constant QP test II for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264Features
1
H264DisableDeblockingFilterIDC
1
H264RepeatSPSPPSMode
1
18. TVMR_NVENC_TEST_MP3_IP_704x480_YUV
This is the main profile constant QP test III for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
H264Features
1
H264DisableDeblockingFilterIDC
1
H264RepeatSPSPPSMode
1
19. TVMR_NVENC_TEST_MP3_IP_720x480_YUV
This is the main profile constant QP test III for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264Features
1
H264DisableDeblockingFilterIDC
1
H264RepeatSPSPPSMode
1
20. TVMR_NVENC_TEST_MP3_IP_1920x1080_YUV
This is the main profile constant QP test III for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingMode
1
21. TVMR_NVENC_TEST_MP4_IP_352x240_YUV
This is the main profile constant QP test IV for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H264NumSliceCountMinus1
4
H264RepeatSPSPPSMode
2
H264DisableDeblockingFilterIDC
2
VUIAspectRatioInfoPresentFlag
1
VUIOverscanInfoPresentFlag
1
VUIVideoSignalTypePresentFlag
1
22. TVMR_NVENC_TEST_MP4_IP_704x480_YUV
This is the main profile constant QP test IV for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H264NumSliceCountMinus1
4
H264RepeatSPSPPSMode
2
H264DisableDeblockingFilterIDC
2
VUIAspectRatioInfoPresentFlag
1
VUIOverscanInfoPresentFlag
1
VUIVideoSignalTypePresentFlag
1
23. TVMR_NVENC_TEST_MP4_IP_720x480_YUV
This is the main profile constant QP test IV for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H264NumSliceCountMinus1
4
H264RepeatSPSPPSMode
2
H264DisableDeblockingFilterIDC
2
VUIAspectRatioInfoPresentFlag
1
VUIOverscanInfoPresentFlag
1
VUIVideoSignalTypePresentFlag
1
24. TVMR_NVENC_TEST_MP4_IP_1920x1080_YUV
This is the main profile constant QP test IV for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H264NumSliceCountMinus1
4
H264RepeatSPSPPSMode
2
H264DisableDeblockingFilterIDC
2
VUIAspectRatioInfoPresentFlag
1
VUIOverscanInfoPresentFlag
1
VUIVideoSignalTypePresentFlag
1
25. TVMR_NVENC_TEST_MP5_IP_352x240_YUV
This is the main profile constant QP test V for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingMode
1
H264RepeatSPSPPSMode
2
H264MotionPredictionExclusionFlags
1FF
H264Features
2
H264IntraRefreshPeriod
30
H264IntraRefreshCount
4
26. TVMR_NVENC_TEST_MP5_IP_704x480_YUV
This is the main profile constant QP test V for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingMode
1
H264RepeatSPSPPSMode
2
H264MotionPredictionExclusionFlags
1FF
H264Features
2
H264IntraRefreshPeriod
30
H264IntraRefreshCount
4
27. TVMR_NVENC_TEST_MP5_IP_720x480_YUV
This is the main profile constant QP test V for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
RCMode
1
QPISlice
20
QPPSlice
23
H264EntropyCodingMode
1
H264RepeatSPSPPSMode
2
H264MotionPredictionExclusionFlags
1FF
H264Features
2
H264IntraRefreshPeriod
30
H264IntraRefreshCount
4
28. TVMR_NVENC_TEST_MP5_IP_1920x1080_YUV
This is the main profile constant QP test V for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingMode
0
H264MotionPredictionExclusionFlags
1FF
H264Features
2
H264IntraRefreshPeriod
30
H264IntraRefreshCount
4
29. TVMR_NVENC_TEST_MP5_IP_352X240_YUV
This is the high profile constant QP test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
100
EPGopLength
30
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingMode
1
30. TVMR_NVENC_TEST_HP_IP_704x480_YUV
This is the high profile constant QP test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
100
EPGopLength
30
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingMode
1
31. TVMR_NVENC_TEST_HP_IP_720x480_YUV
This is the high profile constant QP test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
100
EPGopLength
30
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingMode
1
32. TVMR_NVENC_TEST_HP_IP_1920x1080_YUV
This is the high profile constant QP test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
RCMode
1
QPISlice
22
QPPSlice
25
H264EntropyCodingMode
1
33. TVMR_NVENC_TEST_MP_IPB_352x240_YUV
This is the main profile constant QP IPB test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
0
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
2
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
QPBSlice
25
34. TVMR_NVENC_TEST_MP_IPB_704x480_YUV
This is the main profile constant QP IPB test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
0
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
2
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
QPBSlice
25
35. TVMR_NVENC_TEST_MP_IPB_720x480_YUV
This is the main profile constant QP IPB test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
2
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
QPBSlice
25
36. TVMR_NVENC_TEST_MP_IPB_1920x1080_YUV
This is the main profile constant QP IPB test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
2
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
QPBSlice
25
37. TVMR_NVENC_TEST_CBR_IP_352x240_YUV
This is the main profile constant bitrate (CBR) test for input resolution 352 x 240.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
2
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
QPBSlice
25
38. TVMR_NVENC_TEST_CBR_IP_704x480_YUV
This is the main profile constant bitrate (CBR) test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
39. TVMR_NVENC_TEST_CBR_IP_720x480_YUV
This is the main profile constant bitrate (CBR) test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
40. TVMR_NVENC_TEST_CBR_IP_1920x1080_YUV
This is the main profile constant bitrate (CBR) test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
8000000
41. TVMR_NVENC_TEST_CBR_IPB_352x240_YUV
This is the main profile IPB constant bitrate (CBR) test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
500000
42. TVMR_NVENC_TEST_CBR_IPB_704x480_YUV
This is the main profile IPB constant bitrate (CBR) test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
43. TVMR_NVENC_TEST_CBR_IPB_720x480_YUV
This is the main profile IPB constant bitrate (CBR) test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
44. TVMR_NVENC_TEST_CBR_IPB_1920x1080_YUV
This is the main profile IPB constant bitrate (CBR) test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
0
RCAverageBitrate
8000000
45. TVMR_NVENC_TEST_VBR_IP_352x240_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
500000
RCMaxBitrate
1000000
46. TVMR_NVENC_TEST_VBR_IP_704x480_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
H264Level
30
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
47. TVMR_NVENC_TEST_VBR_IP_720x480_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
H264Level
30
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
48. TVMR_NVENC_TEST_VBR_IP_1920x1080_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H264Profile
77
H264Level
40
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
8000000
RCMaxBitrate
12000000
49. TVMR_NVENC_TEST_VBR_IPB_352x240_YUV
This is the main profile IPB variable bitrate (VBR) test for input resolution 352 x 240.
Parameter
Description
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
H264Level
30
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
500000
RCMaxBitrate
1000000
50. TVMR_NVENC_TEST_VBR_IPB_704x480_YUV
This is the main profile IPB variable bitrate (VBR) test for input resolution 704 x 480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
H264Level
30
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
51. TVMR_NVENC_TEST_VBR_IPB_720x480_YUV
This is the main profile IPB variable bitrate (VBR) test for input resolution 720 x 480.
Parameter
Description
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
H264Level
30
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
52. TVMR_NVENC_TEST_VBR_IPB_1920x1080_YUV
This is the main profile IPB variable bitrate (VBR) test for input resolution 1920 x 1080.
Parameter
Description
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
3
EPMaxNumRefFrames
2
H264Profile
77
H264Level
40
EPGopLength
30
H264IdrPeriod
30
RCMode
2
RCAverageBitrate
6000000
RCMaxBitrate
9000000
53. H.265 Encode Test Cases
1. TVMR_NVENC_H265_TEST_MP_IP_352x240_YUV
This is the main profile constant QP test for input resolution 352 x 240.
Parameter
Value
InputFileact
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
2. TVMR_NVENC_H265_TEST_MP_IP_704x480_YUV
This is the main profile constant QP test for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
EPGopLength
15
H265IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
3. TVMR_NVENC_H265_TEST_MP_IP_720x480_YUV
This is the main profile constant QP test for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
4. TVMR_NVENC_H265_TEST_MP_IP_1920x1080_YUV
This is the main profile constant QP test for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
66
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
5. TVMR_NVENC_H265_TEST_MP2_IP_352x240_YUV
This is the main profile constant QP test extra freatures for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
6. TVMR_NVENC_H265_TEST_MP2_IP_704x480_YUV
This is the main profile constant QP test II with extra freatures for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
H265NumSliceCountMinus1
4
7. TVMR_NVENC_H265_TEST_MP2_IP_720x480_YUV
This is the main profile constant QP test II for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265NumSliceCountMinus1
4
8. TVMR_NVENC_H265_TEST_MP2_IP_1920x1080_YUV
This is the main profile constant QP test II for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
|RCMode|1| |QPISlice|20| |QPPSlice|23| |H265NumSliceCountMinus1|4|
9. TVMR_NVENC_H265_TEST_MP3_IP_352x240_YUV
This is the main profile constant QP test III for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
1
H26RepeatSPSPPSMode
1
10. TVMR_NVENC_H265_TEST_MPs_IP_704x480_YUV
This is the main profile constant QP test III for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
77
H265EPGopLength
15
H265IdrPeriod
20
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
1
H265RepeatSPSPPSMode
1
11. TVMR_NVENC_TEST_MP_IP_720x480_YUV
This is the main profile constant QP test III for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
1
H265RepeatSPSPPSMode
1
12. TVMR_NVENC_H265 TEST_MP3_IP_1920x1080_YUV
This is the main profile constant QP III test for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265RepeatSPSPPSModes
1
13. TVMR_NVENC_H265 TEST_MP4_IP_352x240_YUV
This is the main profile constant QP test IV for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H265NumSliceCountMinus1
4
H265RepeatSPSPPSMode
2
H265VUIAspectRatioInfoPresentFlag
1
H265VUIOverscanInfoPresentFlag
1
H265VUIVideoSignalTypePresentFlag
1
14. TVMR_NVENC_H265_TEST_MP4_IP_704x480_YUV
This is the main profile constant QP test IV for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H265NumSliceCountMinus1
4
H265RepeatSPSPPSMode
2
H265VUIAspectRatioInfoPresentFlag
1
H265VUIOverscanInfoPresentFlag
1
H265VUIVideoSignalTypePresentFlag
1
15. TVMR_NVENC_H265_TEST_MP4_IP_720x480_YUV
This is the main profile constant QP test IV for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
15
H265IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265NumSliceCountMinus1
4
H265RepeatSPSPPSMode
2
H265VUIAspectRatioInfoPresentFlag
1
H265VUIOverscanInfoPresentFlag
1
H265VUIVideoSignalTypePresentFlag
1
16. TVMR_NVENC_H265 TEST_MP4_IP_1920x1080_YUV
This is the main profile constant QP test IV for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
1
QPISlice
22
QPPSlice
25
H265NumSliceCountMinus1
4
H265RepeatSPSPPSMode
2
H265VUIAspectRatioInfoPresentFlag
1
H265VUIOverscanInfoPresentFlag
1
H265VUIVideoSignalTypePresentFlag
1
17. TVMR_NVENC_H265_TEST_MP5_IP_352x240_YUV
This is the main profile constant QP test V for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
EPGopLength
15
H264IdrPeriod
30
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
2
H265IntraRefreshPeriod
30
H265IntraRefreshCount
4
18. TVMR_NVENC_H265_TEST_MP5_IP_704x480_YUV
This is the main profile constant QP test V for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
2
H265IntraRefreshPeriod
30
H26IntraRefreshCount
4
19. TVMR_NVENC_TEST_MP3_IP_720x480_YUV
This is the main profile constant QP test V for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
RCMode
1
QPISlice
20
QPPSlice
23
H265Features
2
H265IntraRefreshPeriod
30
H265IntraRefreshCount
4
20. TVMR_NVENC_H265_TEST_MP5_IP_1920x1080_YUV
This is the main profile constant QP test V for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
60
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
RCMode
1
QPISlice
22
QPPSlice
25
H265Features
2
H265IntraRefreshPeriod
30
H265IntraRefreshCount
4
21. TVMR_NVENC_H265_TEST_CBR_IP_352x240_YUV
This is the main profile constant bitrate (CBR) test for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
0
RCAverageBitrate
500000
22. TVMR_NVENC_H265_TEST_CBR_IP_704x480_YUV
This is the main profile constant bitrate (CBR) test for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
23. TVMR_NVENC_H265_TEST_CBR_IP_720x480_YUV
This is the main profile constant bitrate (CBR) test for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
0
RCAverageBitrate
2000000
24. TVMR_NVENC_H265_TEST_CBR_IP_1920x1080_YUV
This is the main profile constant bitrate (CBR) test for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
0
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265EPGopLength
30
H265IdrPeriod
30
RCMode
0
RCAverageBitrate
8000000
25. TVMR_NVENC_H265_TEST_VBR_IP_352x240_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 352 x 240.
Parameter
Value
InputFile
NTSC352x240.yv12
InputFileFormat
1
EPEncodeWidth
352
EPEncodeHeight
240
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265Level
60
H265EPGopLength
30
H265IdrPeriod
30
RCMode
2
RCAverageBitrate
500000
RCMaxBitrate
1000000
26. TVMR_NVENC_H265_TEST_VBR_IP_704x480_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 704 x 480.
Parameter
Value
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265Level
60
H265EPGopLength
30
H265IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
27. TVMR_NVENC_H265_TEST_VBR_IP_720x480_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 720 x 480.
Parameter
Value
InputFile
NTSC720x480.yv12
InputFileFormat
1
EPEncodeWidth
720
EPEncodeHeight
480
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265Level
60
H265EPGopLength
30
H265IdrPeriod
30
RCMode
2
RCAverageBitrate
2000000
RCMaxBitrate
4000000
28. TVMR_NVENC_H265_TEST_VBR_IP_1920x1080_YUV
This is the main profile IP variable bitrate (VBR) test for input resolution 1920 x 1080.
Parameter
Value
InputFile
Disney_test.yuv
InputFileFormat
1
EPEncodeWidth
1920
EPEncodeHeight
1080
FramesToBeEncoded
300
EPGopPattern
1
EPMaxNumRefFrames
1
H265Profile
1
H265Level
60
H265EPGopLength
30
H265IdrPeriod
30
RCMode
2
RCAverageBitrate
8000000
RCMaxBitrate
12000000