AMD ROCm Video Parser Structs

AMD ROCm Video Parser Structs#

Rocprofiler SDK Developer API: rocDecode Parser Structs: AMD ROCm Video Parser Structs
Rocprofiler SDK Developer API 0.6.0
ROCm Profiling API and tools
rocDecode Parser Structs: AMD ROCm Video Parser Structs

AMD The rocDecode video parser struct. More...

Data Structures

struct  RocdecVideoFormat
 ROCDEC_VIDEO_FORMAT structUsed in Parser callback API. More...
 
struct  RocdecOperatingPointInfo
 RocdecOperatingPointInfo structOperating point information of scalable bitstream. More...
 
struct  RocdecParserParams
 The AMD rocDecode library.\Used in rocDecCreateVideoParser API. More...
 
struct  RocdecSourceDataPacket
 Data Packet Used in rocDecParseVideoData API IN for rocDecParseVideoData. More...
 
struct  RocdecParserDispInfo
 Timing Info struct\Used in rocdecParseVideoData API with PFNVIDDISPLAYCALLBACK pfn_display_picture. More...
 
struct  RocdecSeiMessage
 Used in RocdecSeiMessageInfo structure. More...
 
struct  RocdecSeiMessageInfo
 Used in rocDecParseVideoData API with PFNVIDSEIMSGCALLBACK pfn_get_sei_msg. More...
 
struct  RocdecVideoFormat.frame_rate
 
struct  RocdecVideoFormat.display_area
 
struct  RocdecVideoFormat.display_aspect_ratio
 
struct  RocdecVideoFormat.video_signal_description
 
union  RocdecOperatingPointInfo.__unnamed771__
 
struct  RocdecOperatingPointInfo.__unnamed771__.av1
 

Detailed Description

AMD The rocDecode video parser struct.


Data Structure Documentation

◆ RocdecVideoFormat

struct RocdecVideoFormat

ROCDEC_VIDEO_FORMAT struct

Used in Parser callback API.

Video format including raw sequence header information Used in rocDecCreateVideoParser API.

Definition at line 70 of file rocparser.h.

+ Collaboration diagram for RocdecVideoFormat:
Data Fields
uint8_t bit_depth_chroma_minus8

OUT: high bit depth chroma. E.g, 2 for 10-bitdepth, 4 for 12-bitdepth

uint8_t bit_depth_luma_minus8

OUT: high bit depth luma. E.g, 2 for 10-bitdepth, 4 for 12-bitdepth

uint32_t bitrate

OUT: video bitrate (bps, 0=unknown)

rocDecVideoChromaFormat chroma_format

OUT: Chroma format

rocDecVideoCodec codec

OUT: Compression format

uint32_t coded_height

OUT: coded frame height in pixels

uint32_t coded_width

OUT: coded frame width in pixels

struct RocdecVideoFormat.display_area display_area

area of the frame that should be displayed typical example: coded_width = 1920, coded_height = 1088 display_area = { 0,0,1920,1080 }

struct RocdecVideoFormat.display_aspect_ratio display_aspect_ratio

OUT: Display Aspect Ratio = x:y (4:3, 16:9, etc)

struct RocdecVideoFormat.frame_rate frame_rate

OUT: frame rate = numerator / denominator (for example: 30000/1001)

uint8_t min_num_decode_surfaces

OUT: Minimum number of decode surfaces to be allocated for correct decoding. The client can send this value in num_decode_surfaces. This guarantees correct functionality and optimal video memory usage but not necessarily the best performance, which depends on the design of the overall application. The optimal number of decode surfaces (in terms of performance and memory utilization) should be decided by experimentation for each application, but it cannot go below min_num_decode_surfaces. If this value is used for num_decode_surfaces then it must be returned to parser during sequence callback.

uint8_t progressive_sequence

OUT: 0=interlaced, 1=progressive

uint32_t seqhdr_data_length

OUT: Additional bytes following (RocdecVideoFormatEx)

struct RocdecVideoFormat.video_signal_description video_signal_description

Video Signal Description Refer section E.2.1 (VUI parameters semantics) of H264 spec file

◆ RocdecOperatingPointInfo

struct RocdecOperatingPointInfo

RocdecOperatingPointInfo struct

Operating point information of scalable bitstream.

Definition at line 217 of file rocparser.h.

+ Collaboration diagram for RocdecOperatingPointInfo:
Data Fields
union RocdecOperatingPointInfo.__unnamed771__ __unnamed__
rocDecVideoCodec codec

◆ RocdecParserParams

struct RocdecParserParams

The AMD rocDecode library.

\Used in rocDecCreateVideoParser API.

Definition at line 282 of file rocparser.h.

+ Collaboration diagram for RocdecParserParams:
Data Fields
uint32_t annex_b: 1

IN: AV1 annexB stream

uint32_t clock_rate

IN: Timestamp units in Hz (0=default=10000000Hz)

rocDecVideoCodec codec_type

IN: rocDecVideoCodec_XXX

uint32_t error_threshold

IN: % Error threshold (0-100) for calling pfn_decode_picture (100=always IN: call pfn_decode_picture even if picture bitstream is fully corrupted)

RocdecVideoFormatEx * ext_video_info

IN: [Optional] sequence header data from system layer

uint32_t max_display_delay

IN: Max display queue delay (improves pipelining of decode with display) 0 = no delay (recommended values: 2..4)

uint32_t max_num_decode_surfaces

IN: Max # of decode surfaces (parser will cycle through these)

PFNVIDDECODECALLBACK pfn_decode_picture

IN: Called when a picture is ready to be decoded (decode order)

PFNVIDDISPLAYCALLBACK pfn_display_picture

IN: Called whenever a picture is ready to be displayed (display order)

PFNVIDSEIMSGCALLBACK pfn_get_sei_msg

IN: Called when all SEI messages are parsed for particular frame

PFNVIDSEQUENCECALLBACK pfn_sequence_callback

IN: Called before decoding frames and/or whenever there is a fmt change

uint32_t reserved: 31

Reserved for future use - set to zero

uint32_t reserved_1[4]

IN: Reserved for future use - set to 0

void * reserved_2[5]

Reserved for future use - set to NULL

void * user_data

IN: User data for callbacks

◆ RocdecSourceDataPacket

struct RocdecSourceDataPacket

Data Packet Used in rocDecParseVideoData API IN for rocDecParseVideoData.

Definition at line 184 of file rocparser.h.

+ Collaboration diagram for RocdecSourceDataPacket:
Data Fields
uint32_t flags

IN: Combination of ROCDEC_PKT_XXX flags

const uint8_t * payload

IN: Pointer to packet payload data (may be NULL if EOS flag is set)

uint32_t payload_size

IN: number of bytes in the payload (may be zero if EOS flag is set)

RocdecTimeStamp pts

IN: Presentation time stamp (10MHz clock), only valid if ROCDEC_PKT_TIMESTAMP flag is set

◆ RocdecParserDispInfo

struct RocdecParserDispInfo

Timing Info struct

\Used in rocdecParseVideoData API with PFNVIDDISPLAYCALLBACK pfn_display_picture.

Definition at line 202 of file rocparser.h.

+ Collaboration diagram for RocdecParserDispInfo:
Data Fields
int picture_index

OUT: Index of the current picture

int progressive_frame

OUT: 1 if progressive frame; 0 otherwise

RocdecTimeStamp pts

OUT: Presentation time stamp

int repeat_first_field

OUT: Number of additional fields (1=ivtc, 2=frame doubling, 4=frame tripling, -1=unpaired field)

int top_field_first

OUT: 1 if top field is displayed first; 0 otherwise

◆ RocdecSeiMessage

struct RocdecSeiMessage

Used in RocdecSeiMessageInfo structure.

Definition at line 237 of file rocparser.h.

+ Collaboration diagram for RocdecSeiMessage:
Data Fields
uint8_t reserved[3]
uint32_t sei_message_size

OUT: SEI Message Size

uint8_t sei_message_type

OUT: SEI Message Type

◆ RocdecSeiMessageInfo

struct RocdecSeiMessageInfo

Used in rocDecParseVideoData API with PFNVIDSEIMSGCALLBACK pfn_get_sei_msg.

Definition at line 249 of file rocparser.h.

+ Collaboration diagram for RocdecSeiMessageInfo:
Data Fields
uint32_t picIdx

OUT: SEI Message Pic Index

void * sei_data

OUT: SEI Message Data

RocdecSeiMessage * sei_message

OUT: SEI Message Info

uint32_t sei_message_count

OUT: SEI Message Count

◆ RocdecVideoFormat.frame_rate

struct RocdecVideoFormat.frame_rate

OUT: frame rate = numerator / denominator (for example: 30000/1001)

Definition at line 76 of file rocparser.h.

+ Collaboration diagram for RocdecVideoFormat.frame_rate:
Data Fields
uint32_t denominator
uint32_t numerator

< OUT: frame rate numerator (0 = unspecified or variable frame rate) OUT: frame rate denominator (0 = unspecified or variable frame rate)

◆ RocdecVideoFormat.display_area

struct RocdecVideoFormat.display_area

area of the frame that should be displayed typical example: coded_width = 1920, coded_height = 1088 display_area = { 0,0,1920,1080 }

Definition at line 107 of file rocparser.h.

+ Collaboration diagram for RocdecVideoFormat.display_area:
Data Fields
int bottom

OUT: bottom position of display rect

int left

OUT: left position of display rect

int right

OUT: right position of display rect

int top

OUT: top position of display rect

◆ RocdecVideoFormat.display_aspect_ratio

struct RocdecVideoFormat.display_aspect_ratio

OUT: Display Aspect Ratio = x:y (4:3, 16:9, etc)

Definition at line 120 of file rocparser.h.

+ Collaboration diagram for RocdecVideoFormat.display_aspect_ratio:
Data Fields
int x
int y

◆ RocdecVideoFormat.video_signal_description

struct RocdecVideoFormat.video_signal_description

Video Signal Description Refer section E.2.1 (VUI parameters semantics) of H264 spec file

Definition at line 129 of file rocparser.h.

+ Collaboration diagram for RocdecVideoFormat.video_signal_description:
Data Fields
uint8_t color_primaries

OUT: chromaticity coordinates of source primaries

uint8_t matrix_coefficients

OUT: used in deriving luma and chroma signals from RGB primaries

uint8_t reserved_zero_bits: 4

Reserved bits

uint8_t transfer_characteristics

OUT: opto-electronic transfer characteristic of the source picture

uint8_t video_format: 3

OUT: 0-Component, 1-PAL, 2-NTSC, 3-SECAM, 4-MAC, 5-Unspecified

uint8_t video_full_range_flag: 1

OUT: indicates the black level and luma and chroma range

◆ RocdecOperatingPointInfo.__unnamed771__

union RocdecOperatingPointInfo.__unnamed771__

Definition at line 220 of file rocparser.h.

+ Collaboration diagram for RocdecOperatingPointInfo.__unnamed771__:
Data Fields
struct RocdecOperatingPointInfo.__unnamed771__.av1 av1
uint8_t codec_reserved[1024]

◆ RocdecOperatingPointInfo.__unnamed771__.av1

struct RocdecOperatingPointInfo.__unnamed771__.av1

Definition at line 222 of file rocparser.h.

+ Collaboration diagram for RocdecOperatingPointInfo.__unnamed771__.av1:
Data Fields
uint8_t operating_points_cnt
uint16_t operating_points_idc[32]
uint8_t reserved24_bits[3]