NVIDIA Tegra
NVIDIA DRIVE OS 5.1 Linux SDK

Developer Guide
5.1.12.0 Release


 
Video Encode (nvmvid_enc)
 
Features
Architecture
Creating the Configuration File
Running the Sample Application
Command Line Switches
Examples
Configuration File Parameters
Test Cases
H.264 Encode Test Cases
H.265 Encode Test Cases
The NvMedia Video Encode sample application, nvmvid_enc, demonstrates using the NvMedia video encode API to encode H.264/H.265/VP9 bitstreams using the NVIDIA Encoder (NVENC) hardware engine.
The application accepts raw YUV frames as input and produces a compressed elementary stream as output. It supports encoding of:
H.264 Baseline
H.264 Main profiles up to Level 4.1
H.264 High profiles up to Level 4.1
H.265 Main profiles up to level 6.0 with various configuration parameters
VP9 profile 0
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 frames as input.
Encodes content for Internet, common SD, and HD formats up to dual streams of 1920×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 (16×16, 8×8, 4×4, and PCM) and prediction types.
Supports inter-macroblock partition sizes from 16×16, 16×8, and 8×16 down to 8×8; supports 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 8×8 transform mode.
Supports VUI and SEI insertion.
Supports CAVLC and CABAC.
Supports rotation/mirroring mode.
Supports dynamic configuration changes at the frame level, including:
SPS PPS output on next frame
Constrained 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 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 (32×32, 16×16, 8×8, 4×4, and PCM) and prediction types.
Supports inter-CU partition sizes from 32×32 to 8×8, 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
Constrained 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 Encode 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 returns the encode status, including bitstreams, statistics, etc. The low-level driver is responsible for writing high-level headers, including SPS, PPS, VUI, and SEI. Slice header and data is handled by NVENC microcode hardware. The application performs further packetization or encryption of the encoded stream.
Buffer allocation is managed between the low-level driver and the application. The application manages the input YUV surfaces and handles any 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
This diagram shows the components of the application’s software stack.
High Level Data Flow
The application collects frames from a source such as a camera or a raw data file and queues them to the NvMedia low-level driver. The 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 application sends the encoder configurations and the input video surface buffers to the driver for encoding. The 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 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
Component Descriptions
Name
Description
nvmimg_enc (the sample application)
Calls the NvMedia encode APIs. On receipt of the headers and bitstream, packetizes or encrypts the encoded stream and saves the result to an output file.
NvMedia encoder API
Calls the low-level hardware driver interface to issue encoding commands to NVENC microcode.
Low-level hardware driver
Writes out high level headers, including SPS, PPS, VUI and SEI.
The driver creates and maintains reference picture surfaces, the output bitstream buffers, and the internal status buffers.
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
NVENC microcode
Accesses the hardware engine to schedule the encoding commands, and return the encode status including bitstreams, statistics, etc.
NVENC hardware engine
Handles slice header and data.
 
NvMedia Low-Level Encode Driver Inputs and Outputs
This 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
64 for VP9 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 pads the picture on the right or bottom side.
Creating the Configuration File
When you run nvmvid_enc 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 contains parameters with values, groups or sections of parameters, and optional 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
An optional 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. An ill-formed parameter line causes the application to fail.
Comments
A comment consists of a pound sign (a ‘#’) and any following text to the end of the line. A comment may appear at the end of any parameter line, or on a line by itself.
Sections
A section is a named group of parameters, containing a specific set of parameters. For example, the group RC_Params contains rate control parameters. You can define one or more RC_Params sections and use the parameter values they set by referring to them in the EPRateControlSectionIndex and EPPRCParamsIndex parameters, described later in this topic.
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
EncodePicVP9_Params: Specific VP9 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 begins with a line in the form:
[<section name> <section number>]
The rest of the section consists of parameter values to be defined in the group. A specific set of parameters may be defined in each group, as shown in Configuration File Parameters.
For example, these lines define three QP_Params groups:
[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 Sample Application
The nvmvid_enc application supports an input file of type YUV.
To run the application
1. Prepare the input file.
The input is a single YUV file.
To encode YUV files, the InputFile parameter must specify the pathname on the command line or in a configuration file.
2. Create a configuration for the encoding process.
3. Follow the steps in Building and Running the NvMedia Samples.
4. Launch the application.
Command Line Switches
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]}
This table describes the command line switches.
Switch
Description
Default
-h
Displays help text for this application.
N/A
-v <level>
Logging level. Value may be:
0: Errors
1: Warnings
2: Info
3: Debug
0
-cf <config_file>
Specifies the base configuration file.
N/A
-sf <config_file>
Specifies a specific configuration file.
Any parameters provided in this file overwrite parameters specified in the base configuration file.
N/A
-p <p1>=<v1>,… <pn>=<vn>
Sets parameter <p1> to the value <v1><pn> to value <vN>.
Overrides parameters set through both configuration files.
N/A
-crc gen <filename>
Generates golden CRC values and stores them in the specified file.
N/A
-crc chk <filename>
Generates golden CRC values and checks them against the specified file.
N/A
-nosave
Do not save bitstream to output file.
N/A
-id <id>
Specifies encoder instance ID. Value may be 0 or 1.
0
Examples
These examples demonstrate some common usage scenarios.
To perform basic H.264 / H.265 / VP9 encoding
Enter the command:
./nvmvid_enc -cf <enc_sample>.cfg
Where <enc_sample>.cfg is either enc_h264_sample.cfg or simple_h265_cif.cfg or simple_vp9_cif.cfg.
Encoding is performed using parameters supplied in the enc_h26x_sample.cfg or simple_vp9_cif.cfg file.
The input and output file information can be supplied through the base configuration file, but it is more convenient to use a specific configuration file for these parameters or pass them through the command line using the ‑p switch.
To set H.264 / H.265 / VP9 encoding configuration parameters
Enter the command:
./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 or simple_vp9_cif.cfg.
H.26x/VP9 encoding is performed using parameters supplied in the enc_h26x_sample.cfg or simple_vp9_cif.cfg file. The input and output file information is supplied through the command line using the ‑p switch.
To use a specific H.264 / H.265 configuration file
Enter the command:
./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.
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.
Parameter Mapping
This table describes the mapping of the parameters:
Codec
Command Set
H.264
run -filtered /vid_enc/nvmvid_enc -args nvmvid_enc_as0 -cf /vid_enc/enc_h264_sample.cfg
H.265
run -filtered /vid_enc/nvmvid_enc -args nvmvid_enc_as0 -cf /vid_enc/simple_h265_cif.cfg
VP9
run -filtered /vid_enc/nvmvid_enc -args nvmvid_enc_as0 -cf /vid_enc/simple_vp9_cif.cfg
Configuration File Parameters
Parameters that specify the length of an array such as ExplicitFrameIntervalPatternLength and ExplicitFrameIntervalPattern may be left unset or may be set to 0. In either case the application uses the default array size, 1000.
General Configuration Parameters
This table describes the general configuration parameters:
Parameter
Description
InputFile
Identifies the file sent to the encoder.
InputFileFormat
Input file format. The value may be:
0: IYUV
1: YV12
2: IYUV444
OutputFile
Specifies the output file.
InputHeaderLength
Specifies the header length in bytes, if the input file has a header.
StartFrame
Specifies the start frame for encoding. Encoding for StartFrame−1 is skipped.
FramesToBeEncoded
Number of frames to encode.
EPCodec
Video codec type. Codec types are:
0: H.264 codec
1: H.265 codec
2: VP9 codec
EPEncodeWidth
Encode width.
EPEncodeHeight
Encode height.
EPFrameRateNum
EPFrameRateDen
Specify the numerator and denominator for the frame rate used for encoding, in frames/second. The frame rate is:
EPFrameRateNum / EPFrameRateDen
EPSourceRectSpecified
A Boolean value; if 1, constrains the source to be encoded to the rectangle specified by the EPSourceRect… parameters. For RBG input only.
EPSourceRectX0
EPSourceRectY0
EPSourceRectX1
EPSourceRectY1
Specify the source rectangle to encode, from the top left point [X0,Y0] to the bottom-right point [X1,Y1]. Meaningful only if EPSourceRectSpecified is set.
EPEncodeRotation
Specifies the rotation of the input surface. The value may be:
0x00: No rotation
0x01: 90-degree rotation
0x02: 180-degree rotation
0x03: 270-degree rotation
EPEncodeMirroring
Specifies the mirroring of the input surface. The value may be:
0x00: No mirroring
0x01: Horizontal mirroring
0x02: Vertical mirroring
0x03: Horizontal and vertical mirroring
EPMaxNumRefFrames
Specifies the maximum number of reference frames. The value may be:
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 represent the EncodePic_Params section to be used for each frame.
For example, if the given pattern is 123, then:
For frames 1, 4, 7, 10, etc., EncodePic_Params section 1 is used.
For frames 2, 5, 8, 11, etc., EncodePic_Params section 2 is used.
For frames 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 0, the frame encode pattern must be set to IPP.
Supported patterns are:
0: I
1: IPP
2: IBP
3: IBBP
Quantization Parameters: QP_Params Parameter Group
This table describes the QP_Params group of parameters:
Parameter
Description
QPBSlice
Quantization parameter for B slices [0-51].
QPISlice
Quantization parameter for I Slices [0-51].
QPPSlice
Quantization parameter P Slices [0-51]
Rate Control Parameters: RC_Params Parameter Group
This table describes the RC_Params group of parameters:
Parameter
Description
RCMode
Specifies the rate control mode. The value may be:
0x00: Constant bitrate mode
0x01: Constant QP mode
0x02: Variable bitrate mode
0x03: 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 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 to use the QP parameters specified in RCMinQPIndex or RCMaxQPIndex.
RCEnableMaxQP
Must be set to 1 to use the QP parameters specified in RCMinQPIndex or RCMaxQPIndex.
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 to define the minimum QP value for rate control.
RCMaxQPIndex
Specifies the QP_Params section index used to define the maximum QP value for rate control.
Per-Frame Encode Parameters: EncodePic_Params Parameter Group
This table describes the EncodePic_Params group of parameters. These parameters must be set on a per-frame basis.
Parameter
Description
EPEencodePicFlags
Specifies the bitwise OR`ed encode picture flags. The flags are:
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 made by the encoder (set EPPictureType to 0).
0x04: Writes the sequence and picture header in the encoded bitstream of the current picture.
0x08: 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.
EPInputDuration
Specifies the duration of the input picture.
EPPictureType
Specifies the input picture type. The value may be:
0x00: Auto select
0x01: Forward predicted (P)
0x02: Bidirectionally predicted picture (B)
0x03: Intra predicted picture (I)
0x04: IDR picture
0x05: P_Intra_Refresh type trigger new intra refresh cycle
EPRCParamsIndex
Rate control parameters: RC_Params section index to be used for a specific frame encoding.
H.264 Specific Parameters
This table describes the H.264 specific group of parameters:
Parameter
Description
EPGopLength
Specifies the number of pictures in one GOP.
If 0, keyframes are not inserted automatically.
H264RepeatSPSPPSMode
Specifies the frequency of writing Sequence and Picture parameters. Value may be:
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
Specifies the H.264 profile. The profile may be:
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 bitwise OR'ed configuration feature flags. Value may be:
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 defaults to the GOP length. A low latency application client must set this parameter 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 value may be:
0: Enable deblocking
1: Disable deblocking for the whole slice
2: Disable deblocking at the slice boundary
H264IntraRefreshPeriod
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 5 for the first picture of every intra refresh period.
H264IntraRefreshCnt
Number of frames over which intra refresh occurs.
H264MaxSliceSizeInBytes
Maximum slice size for the dynamic slice mode, in bytes. The client must enable dynamic slice mode to use this parameter.
H264MotionPredictionExclusionFlags
Specifies the bitwise OR`ed exclusion flags for motion prediction. The 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
H264AdaptiveTransformMode
Specifies the Adaptive Transform Mode.
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. The modes are:
0x00: Spatial B Direct mode
0x01: Disable B Direct mode
0x02: Temporal B Direct mode
H264EntropyCodingMode
Specifies the entropy coding mode. The 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
This table describes the H.264 VUI group of parameters:
Parameter
Description
VUIAspectRatioInfoPresentFlag
A value of 1 indicates that aspect ratio information is present.
VUIAspectRatioIDC
Specifies 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
A value of 1 indicates that overscan info is present.
VUIOverscanInfo
Overscan information, as defined in Annex E of the ITU‑T Specification.
VUIVideoSignalTypePresentFlag
A value of 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 the output range of the luma and chroma samples, as defined in Annex E of the ITU‑T Specification.
VUIColourDescriptionPresentFlag
A Boolean; if set to 1, 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 to derive the luma and chroma from the RGB primaries, as defined in Annex E of the ITU‑T Specification.
H.264 Payload: Payload Parameters Group
This table describes the H.264 payload group of parameters:
Parameter
Description
H264PayloadSize
SEI payload 1 size in bytes. SEI payload 1 types and syntax are described in Annex D of the ITU‑T specification.
H264PayloadType
SEI payload 1 type. Types and syntax are described in Annex D of the ITU‑T specification.
H264Payload
Payload 1 data.
H.264 Specific Per-Frame Encoding Parameters: EncodePicH264_Params Parameter Group
This table describes the H.264 specific group of parameters. These parameters must be 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
This table describes the H.265 specific group of parameters:
Parameter
Description
H265EPGopLength
Specifies the number of pictures in a GOP.
If set to 0, keyframes are inserted automatically.
H265RepeatSPSPPSMode
Specifies the frequency of writing Sequence and Picture parameters. The values are:
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
Specifies the H.265 profile. The profiles are:
0: Automatic profile selection (unsupported)
1: Main profile (supported)
2: Main 10 profile (unsupported)
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.
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)
H265IdrPeriod
Specifies the IDR frame interval. If not set, it defaults to the GOP length. A low latency application client can set this parameter to 0 so that IDR frames are not inserted automatically.
H265NumSliceCountMinus1
1 less than the number of slices desired per frame.
H265DisableDeblockingFilterIDC
Deblocking filter mode. The value may be:
0: Enable deblocking
1: Disable deblocking for the whole slice
H265IntraRefreshPeriod
The interval between successive intra refreshes, 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 EPPictureType to 5 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 Parameters
This table describes the H.265 VUI group of parameters:
Parameter
Description
H265VUIAspectRatioInfoPresentFlag
A value of 1 indicates that aspect ratio information is present.
H265VUIAspectRatioIDC
Sample aspect ratio of the luma samples.
H265VUIAspectSARWidth
Horizontal size of the sample aspect ratio.
H265VUIAspectSARHeight
Vertical size of the sample aspect ratio.
H265VUIOverscanInfoPresentFlag
A value of 1 indicates that overscan information is present.
H265VUIOverscanInfo
Overscan information, as defined in Annex E of the ITU‑T Specification.
H265VUIVideoSignalTypePresentFlag
A value of 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
A Boolean; if set to 1, 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
This 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 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 Specific Per-Frame Encoding Parameters: EncodePicH265_Params Parameter Group
This table describes the H.265 specific group of parameters. These parameters 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 section indexes to be used.
H265PayloadArraySize
Size of Payload Array.
VP9 Configuration Parameters
This table describes the VP9 configuration parameters:
Parameter
Description
VP9Features
Specifies bitwise OR'ed configuration feature flags. The flags are:
ENABLE_LOOP_FILTER_PARAMS (1 << 0),
ENABLE_QUANTIZATION_PARAMS (1 << 1),
ENABLE_TRANSFORM_MODE (1 << 2),
ENABLE_HIGH_PRECISION_MV (1 << 3),
DISABLE_ERROR_RESILIENT (1 << 4),
ENABLE_PROFILING (1 << 5),
INIT_QP (1 << 6),
QP_MAX (1 << 7)
VP9IdrPeriod
Specifies the IDR interval. If not set, this is made equal to GOP length. Low latency application client can set IDR interval to 0 so that IDR frames are not inserted automatically.
Default value = 17
VP9 Per-Frame Encode Configuration Parameters
This table describes the VP9 per-frame encode configuration parameters. These parameters must be sent on a per frame basis.
Parameter
Description
EPVP9PicParamsIndex
Codec specific parameters: EncodePicVP9_Params section index to be used.
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×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×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×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×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 features for input resolution 352×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 features for input resolution 704×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 features for input resolution 720×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 features for input resolution 1920×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×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×480.
Parameter
Description
InputFile
NTSC704x480.yv12
InputFileFormat
1
EPEncodeWidth
704