NVIDIA DRIVE OS Linux API Reference

5.1.3.0 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Detailed Description

The H.264 Encoder API provides basic encode picture types.

Data Structures

struct  NvMediaNalData
 This is used to get header info (SPS/PPS/VPS) using GetAttribute call. More...
 
struct  NvMediaEncodeConfigH264VUIParams
 Holds H264 video usability information parameters. More...
 
struct  NvMediaEncodeExternalMeHintCountsPerBlocktype
 Holds an external motion vector hint with counts per block type. More...
 
struct  NvMediaEncodeExternalMEHint
 Holds an External Motion Vector hint. More...
 
struct  NvMediaEncodeConfigH264
 Holds an H264 encoder configuration. More...
 
struct  NvMediaEncodeH264SEIPayload
 H.264 specific User SEI message. More...
 
struct  NvMediaEncodeInitializeParamsH264
 Holds H264-specific encode initialization parameters. More...
 
struct  NvMediaEncodePicParamsH264
 H264 specific encoder picture params. More...
 

Macros

#define MAX_NON_SLICE_DATA_SIZE
 Maximum encoded header info size. More...
 

Enumerations

enum  NvMediaEncodePicType {
  NVMEDIA_ENCODE_PIC_TYPE_AUTOSELECT = 0,
  NVMEDIA_ENCODE_PIC_TYPE_P = 1,
  NVMEDIA_ENCODE_PIC_TYPE_B = 2,
  NVMEDIA_ENCODE_PIC_TYPE_I = 3,
  NVMEDIA_ENCODE_PIC_TYPE_IDR = 4,
  NVMEDIA_ENCODE_PIC_TYPE_P_INTRA_REFRESH = 5
}
 Input picture type. More...
 
enum  NvMediaEncodeProfile {
  NVMEDIA_ENCODE_PROFILE_AUTOSELECT = 0,
  NVMEDIA_ENCODE_PROFILE_BASELINE = 66,
  NVMEDIA_ENCODE_PROFILE_MAIN = 77,
  NVMEDIA_ENCODE_PROFILE_EXTENDED = 88,
  NVMEDIA_ENCODE_PROFILE_HIGH = 100,
  NVMEDIA_ENCODE_PROFILE_HIGH444 = 244
}
 Defines encoding profiles. More...
 
enum  NvMediaEncodeLevel {
  NVMEDIA_ENCODE_LEVEL_AUTOSELECT = 0,
  NVMEDIA_ENCODE_LEVEL_H264_1 = 10,
  NVMEDIA_ENCODE_LEVEL_H264_1b = 9,
  NVMEDIA_ENCODE_LEVEL_H264_11 = 11,
  NVMEDIA_ENCODE_LEVEL_H264_12 = 12,
  NVMEDIA_ENCODE_LEVEL_H264_13 = 13,
  NVMEDIA_ENCODE_LEVEL_H264_2 = 20,
  NVMEDIA_ENCODE_LEVEL_H264_21 = 21,
  NVMEDIA_ENCODE_LEVEL_H264_22 = 22,
  NVMEDIA_ENCODE_LEVEL_H264_3 = 30,
  NVMEDIA_ENCODE_LEVEL_H264_31 = 31,
  NVMEDIA_ENCODE_LEVEL_H264_32 = 32,
  NVMEDIA_ENCODE_LEVEL_H264_4 = 40,
  NVMEDIA_ENCODE_LEVEL_H264_41 = 41,
  NVMEDIA_ENCODE_LEVEL_H264_42 = 42
}
 Defines encoding levels. More...
 
enum  NvMediaEncodePicFlags {
  NVMEDIA_ENCODE_PIC_FLAG_OUTPUT_SPSPPS = (1 << 0),
  NVMEDIA_ENCODE_PIC_FLAG_RATECONTROL_CHANGE = (1 << 1),
  NVMEDIA_ENCODE_PIC_FLAG_CONSTRAINED_FRAME = (1 << 2)
}
 Defines encoding Picture encode flags. More...
 
enum  NvMediaEncodeQuality {
  NVMEDIA_ENCODE_QUALITY_L0 = 0,
  NVMEDIA_ENCODE_QUALITY_L1 = 1,
  NVMEDIA_ENCODE_QUALITY_L2 = 2
}
 Defines encode quality level pre-settings. More...
 
enum  NvMediaEncodeH264EntropyCodingMode {
  NVMEDIA_ENCODE_H264_ENTROPY_CODING_MODE_CAVLC = 0,
  NVMEDIA_ENCODE_H264_ENTROPY_CODING_MODE_CABAC = 1
}
 Defines H.264 entropy coding modes. More...
 
enum  NvMediaEncodeH264BDirectMode {
  NVMEDIA_ENCODE_H264_BDIRECT_MODE_SPATIAL = 0,
  NVMEDIA_ENCODE_H264_BDIRECT_MODE_DISABLE = 1,
  NVMEDIA_ENCODE_H264_BDIRECT_MODE_TEMPORAL = 2
}
 Defines H.264 specific Bdirect modes. More...
 
enum  NvMediaEncodeH264AdaptiveTransformMode {
  NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_AUTOSELECT = 0,
  NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_DISABLE = 1,
  NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_ENABLE = 2
}
 Defines H.264 specific Adaptive Transform modes. More...
 
enum  NvMediaEncodeH264MotionPredictionExclusionFlags {
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_PREDICTION = (1 << 0),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_PREDICTION = (1 << 1),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DC_PREDICTION = (1 << 2),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DIAGONAL_DOWN_LEFT_PREDICTION = (1 << 3),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DIAGONAL_DOWN_RIGHT_PREDICTION = (1 << 4),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_RIGHT_PREDICTION = (1 << 5),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_DOWN_PREDICTION = (1 << 6),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_LEFT_PREDICTION = (1 << 7),
  NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_UP_PREDICTION = (1 << 8),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_PREDICTION = (1 << 9),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_PREDICTION = (1 << 10),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DC_PREDICTION = (1 << 11),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DIAGONAL_DOWN_LEFT_PREDICTION = (1 << 12),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DIAGONAL_DOWN_RIGHT_PREDICTION = (1 << 13),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_RIGHT_PREDICTION = (1 << 14),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_DOWN_PREDICTION = (1 << 15),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_LEFT_PREDICTION = (1 << 16),
  NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_UP_PREDICTION = (1 << 17),
  NVMEDIA_ENCODE_DISABLE_INTRA_16x16_VERTICAL_PREDICTION = (1 << 18),
  NVMEDIA_ENCODE_DISABLE_INTRA_16x16_HORIZONTAL_PREDICTION = (1 << 19),
  NVMEDIA_ENCODE_DISABLE_INTRA_16x16_DC_PREDICTION = (1 << 20),
  NVMEDIA_ENCODE_DISABLE_INTRA_16x16_PLANE_PREDICTION = (1 << 21),
  NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_VERTICAL_PREDICTION = (1 << 22),
  NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_HORIZONTAL_PREDICTION = (1 << 23),
  NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_DC_PREDICTION = (1 << 24),
  NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_PLANE_PREDICTION = (1 << 25),
  NVMEDIA_ENCODE_DISABLE_INTER_L0_16x16_PREDICTION = (1 << 26),
  NVMEDIA_ENCODE_DISABLE_INTER_L0_16x8_PREDICTION = (1 << 27),
  NVMEDIA_ENCODE_DISABLE_INTER_L0_8x16_PREDICTION = (1 << 28),
  NVMEDIA_ENCODE_DISABLE_INTER_L0_8x8_PREDICTION = (1 << 29)
}
 Defines motion prediction exclusion flags for H.264. More...
 
enum  NvMediaEncodeH264MotionSearchControlFlags {
  NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_4x4 = (1 << 0),
  NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_8x8 = (1 << 1),
  NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_16x16 = (1 << 2),
  NVMEDIA_ENCODE_ENABLE_SELF_TEMPORAL_REFINE = (1 << 3),
  NVMEDIA_ENCODE_ENABLE_SELF_SPATIAL_REFINE = (1 << 4),
  NVMEDIA_ENCODE_ENABLE_COLOC_REFINE = (1 << 5),
  NVMEDIA_ENCODE_ENABLE_EXTERNAL_REFINE = (1 << 6),
  NVMEDIA_ENCODE_ENABLE_CONST_MV_REFINE = (1 << 7),
  NVMEDIA_ENCODE_MOTION_SEARCH_CONTROL_FLAG_VALID = (1 << 31)
}
 Defines motion search mode control flags for H.264. More...
 
enum  NvMediaEncodeH264SPSPPSRepeatMode {
  NVMEDIA_ENCODE_SPSPPS_REPEAT_DISABLED = 0,
  NVMEDIA_ENCODE_SPSPPS_REPEAT_INTRA_FRAMES = 1,
  NVMEDIA_ENCODE_SPSPPS_REPEAT_IDR_FRAMES = 2
}
 Specifies the frequency of the writing of Sequence and Picture parameters for H.264. More...
 
enum  NvMediaEncAttrType {
  NvMediaEncAttr_GetSPS = 1,
  NvMediaEncAttr_GetPPS,
  NvMediaEncAttr_GetVPS
}
 Specifies the Video encoder get attribute type. More...
 
enum  NvMediaEncodeH264POCType {
  NVMEDIA_ENCODE_H264_POC_TYPE_AUTOSELECT = 0,
  NVMEDIA_ENCODE_H264_POC_TYPE_0 = 1,
  NVMEDIA_ENCODE_H264_POC_TYPE_2 = 2
}
 Define H.264 pic_order_cnt_type. More...
 
enum  NvMediaEncodeH264Features {
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_OUTPUT_AUD = (1 << 0),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_INTRA_REFRESH = (1 << 1),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_DYNAMIC_SLICE_MODE = (1 << 2),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_CONSTRANED_ENCODING = (1 << 3),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_LOSSLESS_COMPRESSION = (1 << 4),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_SLICE_LEVEL_OUTPUT = (1 << 5),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_RTP_MODE_OUTPUT = (1 << 6),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_EXT_PIC_RC_HINT = (1 << 7),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_DYNAMIC_RPS = (1 << 8),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_MV_BUFFER_DUMP = (1 << 9),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_PROFILING = (1 << 10),
  NVMEDIA_ENCODE_CONFIG_H264_INIT_QP = (1 << 11),
  NVMEDIA_ENCODE_CONFIG_H264_QP_MAX = (1 << 12),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_FOUR_BYTE_START_CODE = (1 << 13),
  NVMEDIA_ENCODE_CONFIG_H264_ENABLE_ULTRA_FAST_ENCODE = (1 << 14)
}
 Defines H264 encoder configuration features. More...
 

Macro Definition Documentation

#define MAX_NON_SLICE_DATA_SIZE

Maximum encoded header info size.

Definition at line 1840 of file nvmedia_common.h.

Enumeration Type Documentation

Specifies the Video encoder get attribute type.

This can be extended to get other encoding parameter information.

Enumerator
NvMediaEncAttr_GetSPS 

This attribute is used to get SPS data for current encoding session.

NvMediaEncAttr_GetPPS 

This attribute is used to get PPS data for current encoding session.

NvMediaEncAttr_GetVPS 

This attribute is used to get VPS data for current h265 encoding session.

Definition at line 1814 of file nvmedia_common.h.

Defines H.264 specific Adaptive Transform modes.

Enumerator
NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_AUTOSELECT 

Specifies that Adaptive Transform 8x8 mode is auto selected by the encoder driver.

NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_DISABLE 

Specifies that Adaptive Transform 8x8 mode is disabled.

NVMEDIA_ENCODE_H264_ADAPTIVE_TRANSFORM_ENABLE 

Specifies that Adaptive Transform 8x8 mode must be used.

Definition at line 1690 of file nvmedia_common.h.

Defines H.264 specific Bdirect modes.

Enumerator
NVMEDIA_ENCODE_H264_BDIRECT_MODE_SPATIAL 

Spatial BDirect mode.

NVMEDIA_ENCODE_H264_BDIRECT_MODE_DISABLE 

Disable BDirect mode.

NVMEDIA_ENCODE_H264_BDIRECT_MODE_TEMPORAL 

Temporal BDirect mode.

Definition at line 1677 of file nvmedia_common.h.

Defines H.264 entropy coding modes.

Enumerator
NVMEDIA_ENCODE_H264_ENTROPY_CODING_MODE_CAVLC 

Entropy coding mode is CAVLC.

NVMEDIA_ENCODE_H264_ENTROPY_CODING_MODE_CABAC 

Entropy coding mode is CABAC.

Definition at line 1666 of file nvmedia_common.h.

Defines H264 encoder configuration features.

Enumerator
NVMEDIA_ENCODE_CONFIG_H264_ENABLE_OUTPUT_AUD 

Enable to write access unit delimiter syntax in bitstream.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_INTRA_REFRESH 

Enable gradual decoder refresh or intra refresh.

If the GOP structure uses B frames this will be ignored

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_DYNAMIC_SLICE_MODE 

Enable dynamic slice mode.

Client must specify max slice size using the maxSliceSizeInBytes field.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_CONSTRANED_ENCODING 

Enable constrainedFrame encoding where each slice in the constrained picture is independent of other slices.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_LOSSLESS_COMPRESSION 

Enable lossless compression.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_SLICE_LEVEL_OUTPUT 

Enable slice level output encoding.

This enables delivery endoded data slice by slice to client to reduce encode latency

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_RTP_MODE_OUTPUT 

Enable RTP mode output.

Nal unit start code will be replaced with NAL size for the NAL units.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_EXT_PIC_RC_HINT 

Enable support for external picture RC hint.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_DYNAMIC_RPS 

Enable support for dynamic reference picture set RPS/DPB control support.

After receiving an input buffer and result of previous frame encoding, based on real time information, Some client software determines properties for the new input buffer (long term/short term/non-referenced, frame number/poc/LT index),

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_MV_BUFFER_DUMP 

Enable support for motion vector buffer dump.

This will enable motion vector dump. Motion vector buffer will be appended at the end of encoded bitstream data

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_PROFILING 

Enable encoder profiling.

Profiling information would be added as part of output extradata

NVMEDIA_ENCODE_CONFIG_H264_INIT_QP 

Enable support to use client provided Initial QP for all frame types.

NVMEDIA_ENCODE_CONFIG_H264_QP_MAX 

Enable support to use client provided QP max for all frame types.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_FOUR_BYTE_START_CODE 

Enable support to use 4 byte start code in all the slices in a picture.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_ULTRA_FAST_ENCODE 

Enable ultra fast encoding.

It overrides some of the quality settings to acheive ultra fast encoding. This is specific to H264 encode.

Definition at line 1938 of file nvmedia_common.h.

Defines motion prediction exclusion flags for H.264.

Enumerator
NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_PREDICTION 

Disable Intra 4x4 vertical prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_PREDICTION 

Disable Intra 4x4 horizontal prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DC_PREDICTION 

Disable Intra 4x4 DC prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DIAGONAL_DOWN_LEFT_PREDICTION 

Disable Intra 4x4 diagonal down left prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_DIAGONAL_DOWN_RIGHT_PREDICTION 

Disable Intra 4x4 diagonal down right prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_RIGHT_PREDICTION 

Disable Intra 4x4 vertical right prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_DOWN_PREDICTION 

Disable Intra 4x4 horizontal down prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_VERTICAL_LEFT_PREDICTION 

Disable Intra 4x4 vertical left prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_4x4_HORIZONTAL_UP_PREDICTION 

Disable Intra 4x4 horizontal up prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_PREDICTION 

Disable Intra 8x8 vertical prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_PREDICTION 

Disable Intra 8x8 horizontal prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DC_PREDICTION 

Disable Intra 8x8 DC prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DIAGONAL_DOWN_LEFT_PREDICTION 

Disable Intra 8x8 diagonal down left prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_DIAGONAL_DOWN_RIGHT_PREDICTION 

Disable Intra 8x8 diagonal down right prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_RIGHT_PREDICTION 

Disable Intra 8x8 vertical right prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_DOWN_PREDICTION 

Disable Intra 8x8 horizontal down prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_VERTICAL_LEFT_PREDICTION 

Disable Intra 8x8 vertical left prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_8x8_HORIZONTAL_UP_PREDICTION 

Disable Intra 8x8 horizontal up prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_16x16_VERTICAL_PREDICTION 

Disable Intra 16x16 vertical prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_16x16_HORIZONTAL_PREDICTION 

Disable Intra 16x16 horizontal prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_16x16_DC_PREDICTION 

Disable Intra 16x16 DC prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_16x16_PLANE_PREDICTION 

Disable Intra 16x16 plane prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_VERTICAL_PREDICTION 

Disable Intra chroma vertical prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_HORIZONTAL_PREDICTION 

Disable Intra chroma horizontal prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_DC_PREDICTION 

Disable Intra chroma DC prediction.

NVMEDIA_ENCODE_DISABLE_INTRA_CHROMA_PLANE_PREDICTION 

Disable Intra chroma plane prediction.

NVMEDIA_ENCODE_DISABLE_INTER_L0_16x16_PREDICTION 

Disable Inter L0 partition 16x16 prediction.

NVMEDIA_ENCODE_DISABLE_INTER_L0_16x8_PREDICTION 

Disable Inter L0 partition 16x8 prediction.

NVMEDIA_ENCODE_DISABLE_INTER_L0_8x16_PREDICTION 

Disable Inter L0 partition 8x16 prediction.

NVMEDIA_ENCODE_DISABLE_INTER_L0_8x8_PREDICTION 

Disable Inter L0 partition 8x8 prediction.

Definition at line 1703 of file nvmedia_common.h.

Defines motion search mode control flags for H.264.

Enumerator
NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_4x4 

IP Search mode bit Intra 4x4.

NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_8x8 

IP Search mode bit Intra 8x8.

NVMEDIA_ENCODE_ENABLE_IP_SEARCH_INTRA_16x16 

IP Search mode bit Intra 16x16.

NVMEDIA_ENCODE_ENABLE_SELF_TEMPORAL_REFINE 

Enable self_temporal_refine.

NVMEDIA_ENCODE_ENABLE_SELF_SPATIAL_REFINE 

Enable self_spatial_refine.

NVMEDIA_ENCODE_ENABLE_COLOC_REFINE 

Enable coloc_refine.

NVMEDIA_ENCODE_ENABLE_EXTERNAL_REFINE 

Enable external_refine.

NVMEDIA_ENCODE_ENABLE_CONST_MV_REFINE 

Enable const_mv_refine.

NVMEDIA_ENCODE_MOTION_SEARCH_CONTROL_FLAG_VALID 

Enable the flag set.

Definition at line 1774 of file nvmedia_common.h.

Define H.264 pic_order_cnt_type.

Enumerator
NVMEDIA_ENCODE_H264_POC_TYPE_AUTOSELECT 

Automatic level selection.

NVMEDIA_ENCODE_H264_POC_TYPE_0 

Pic_order_cnt_type 0.

NVMEDIA_ENCODE_H264_POC_TYPE_2 

Pic_order_cnt_type 2.

Definition at line 1827 of file nvmedia_common.h.

Specifies the frequency of the writing of Sequence and Picture parameters for H.264.

Enumerator
NVMEDIA_ENCODE_SPSPPS_REPEAT_DISABLED 

Repeating of SPS/PPS is disabled.

NVMEDIA_ENCODE_SPSPPS_REPEAT_INTRA_FRAMES 

SPS/PPS is repeated for every intra frame.

NVMEDIA_ENCODE_SPSPPS_REPEAT_IDR_FRAMES 

SPS/PPS is repeated for every IDR frame.

Definition at line 1800 of file nvmedia_common.h.

Defines encoding levels.

Enumerator
NVMEDIA_ENCODE_LEVEL_AUTOSELECT 

Automatic level selection.

NVMEDIA_ENCODE_LEVEL_H264_1 

H.264 Level 1.

NVMEDIA_ENCODE_LEVEL_H264_1b 

H.264 Level 1b.

NVMEDIA_ENCODE_LEVEL_H264_11 

H.264 Level 1.1.

NVMEDIA_ENCODE_LEVEL_H264_12 

H.264 Level 1.2.

NVMEDIA_ENCODE_LEVEL_H264_13 

H.264 Level 1.3.

NVMEDIA_ENCODE_LEVEL_H264_2 

H.264 Level 2.

NVMEDIA_ENCODE_LEVEL_H264_21 

H.264 Level 2.1.

NVMEDIA_ENCODE_LEVEL_H264_22 

H.264 Level 2.2.

NVMEDIA_ENCODE_LEVEL_H264_3 

H.264 Level 3.

NVMEDIA_ENCODE_LEVEL_H264_31 

H.264 Level 3.1.

NVMEDIA_ENCODE_LEVEL_H264_32 

H.264 Level 3.2.

NVMEDIA_ENCODE_LEVEL_H264_4 

H.264 Level 4.

NVMEDIA_ENCODE_LEVEL_H264_41 

H.264 Level 4.1.

NVMEDIA_ENCODE_LEVEL_H264_42 

H.264 Level 4.2.

Definition at line 1600 of file nvmedia_common.h.

Defines encoding Picture encode flags.

Enumerator
NVMEDIA_ENCODE_PIC_FLAG_OUTPUT_SPSPPS 

Writes the sequence and picture header in encoded bitstream of the current picture.

NVMEDIA_ENCODE_PIC_FLAG_RATECONTROL_CHANGE 

Indicates change in rate control parameters from the current picture onwards.

NVMEDIA_ENCODE_PIC_FLAG_CONSTRAINED_FRAME 

Indicates that this frame is encoded with each slice completely independent of other slices in the frame.

NVMEDIA_ENCODE_CONFIG_H264_ENABLE_CONSTRANED_ENCODING must be set to support this encode mode

Definition at line 1638 of file nvmedia_common.h.

Input picture type.

Enumerator
NVMEDIA_ENCODE_PIC_TYPE_AUTOSELECT 

Auto selected picture type.

NVMEDIA_ENCODE_PIC_TYPE_P 

Forward predicted.

NVMEDIA_ENCODE_PIC_TYPE_B 

Bi-directionally predicted picture.

NVMEDIA_ENCODE_PIC_TYPE_I 

Intra predicted picture.

NVMEDIA_ENCODE_PIC_TYPE_IDR 

IDR picture.

NVMEDIA_ENCODE_PIC_TYPE_P_INTRA_REFRESH 

Starts a new intra refresh cycle if intra refresh support is enabled otherwise it indicates a P frame.

Definition at line 1558 of file nvmedia_common.h.

Defines encoding profiles.

Enumerator
NVMEDIA_ENCODE_PROFILE_AUTOSELECT 

Automatic profile selection.

NVMEDIA_ENCODE_PROFILE_BASELINE 

Baseline profile.

NVMEDIA_ENCODE_PROFILE_MAIN 

Main profile.

NVMEDIA_ENCODE_PROFILE_EXTENDED 

Extended profile.

NVMEDIA_ENCODE_PROFILE_HIGH 

High profile.

NVMEDIA_ENCODE_PROFILE_HIGH444 

High 444 profile.

H.264 High444 profile support lossless encode (trans-quant bypass) for YUV444 and YUV420 input. Lossy encode is not supported with High444 profile.

Definition at line 1578 of file nvmedia_common.h.

Defines encode quality level pre-settings.

Enumerator
NVMEDIA_ENCODE_QUALITY_L0 

Quality Level 0 Pre-settings.

NVMEDIA_ENCODE_QUALITY_L1 

Quality Level 1 Pre-settings.

NVMEDIA_ENCODE_QUALITY_L2 

Quality Level 2 Pre-settings.

Definition at line 1653 of file nvmedia_common.h.