RocVideoDecoder Class Reference#
Public Member Functions | |
| RocVideoDecoder (int device_id, OutputSurfaceMemoryType out_mem_type, rocDecVideoCodec codec, bool force_zero_latency=false, const Rect *p_crop_rect=nullptr, bool extract_user_SEI_Message=false, int max_width=0, int max_height=0, uint32_t clk_rate=1000) | |
| Construct a new Roc Video Decoder object. More... | |
| rocDecVideoCodec | GetCodecId () |
| hipStream_t | GetStream () |
| uint32_t | GetWidth () |
| Get the output frame width. | |
| int | GetDecodeWidth () |
| This function is used to get the actual decode width. | |
| uint32_t | GetHeight () |
| Get the output frame height. | |
| int | GetChromaHeight () |
| This function is used to get the current chroma height. | |
| int | GetNumChromaPlanes () |
| This function is used to get the number of chroma planes. | |
| int | GetFrameSize () |
| This function is used to get the current frame size based on pixel format. | |
| int | GetFrameSizePitched () |
| This function is used to get the current frame size based on pitch. | |
| uint32_t | GetBitDepth () |
| Get the Bit Depth and BytesPerPixel associated with the pixel format. More... | |
| uint32_t | GetBytePerPixel () |
| size_t | GetSurfaceSize () |
| Functions to get the output surface attributes. | |
| uint32_t | GetSurfaceStride () |
| const char * | GetCodecFmtName (rocDecVideoCodec codec_id) |
| Get the name of the output format. More... | |
| const char * | GetSurfaceFmtName (rocDecVideoSurfaceFormat surface_format_id) |
| function to return the name from surface_format_id More... | |
| bool | GetOutputSurfaceInfo (OutputSurfaceInfo **surface_info) |
| Get the pointer to the Output Image Info. More... | |
| bool | SetReconfigParams (ReconfigParams *p_reconfig_params) |
| Function to set the Reconfig Params object. More... | |
| int | DecodeFrame (const uint8_t *data, size_t size, int pkt_flags, int64_t pts=0) |
| this function decodes a frame and returns the number of frames avalable for display More... | |
| uint8_t * | GetFrame (int64_t *pts) |
| This function returns a decoded frame and timestamp. This should be called in a loop fetching all the available frames. | |
| bool | ReleaseFrame (int64_t pTimestamp, bool b_flushing=false) |
| function to release frame after use by the application: Only used with "OUT_SURFACE_MEM_DEV_INTERNAL" More... | |
| void | GetDeviceinfo (std::string &device_name, std::string &gcn_arch_name, int &pci_bus_id, int &pci_domain_id, int &pci_device_id) |
| utility function to save image to a file More... | |
| void | SaveFrameToFile (std::string output_file_name, void *surf_mem, OutputSurfaceInfo *surf_info) |
| Helper function to dump decoded output surface to file. More... | |
| void | ResetSaveFrameToFile () |
| Helper funtion to close a existing file and dump to new file in case of multiple files using same decoder. | |
| void | InitMd5 () |
| Helper function to start MD5 calculation. | |
| void | UpdateMd5ForFrame (void *surf_mem, OutputSurfaceInfo *surf_info) |
| Helper function to dump decoded output surface to file. More... | |
| void | FinalizeMd5 (uint8_t **digest) |
| Helper function to complete MD5 calculation. More... | |
| int32_t | GetNumOfFlushedFrames () |
| Get the Num Of Flushed Frames from video decoder object. More... | |
Constructor & Destructor Documentation
◆ RocVideoDecoder()
| RocVideoDecoder::RocVideoDecoder | ( | int | device_id, |
| OutputSurfaceMemoryType | out_mem_type, | ||
| rocDecVideoCodec | codec, | ||
| bool | force_zero_latency = false, |
||
| const Rect * | p_crop_rect = nullptr, |
||
| bool | extract_user_SEI_Message = false, |
||
| int | max_width = 0, |
||
| int | max_height = 0, |
||
| uint32_t | clk_rate = 1000 |
||
| ) |
Construct a new Roc Video Decoder object.
- Parameters
-
hip_ctx b_use_device_mem codec device_id b_low_latency device_frame_pitched p_crop_rect extract_user_SEI_Message max_width max_height clk_rate force_zero_latency
Member Function Documentation
◆ DecodeFrame()
| int RocVideoDecoder::DecodeFrame | ( | const uint8_t * | data, |
| size_t | size, | ||
| int | pkt_flags, | ||
| int64_t | pts = 0 |
||
| ) |
this function decodes a frame and returns the number of frames avalable for display
- Parameters
-
data - pointer to the data buffer that is to be decode size - size of the data buffer in bytes pts - presentation timestamp flags - video packet flags
- Returns
- int - num of frames to display
◆ FinalizeMd5()
| void RocVideoDecoder::FinalizeMd5 | ( | uint8_t ** | digest | ) |
Helper function to complete MD5 calculation.
- Parameters
-
[out] digest Pointer to the 16 byte message digest
◆ GetBitDepth()
|
inline |
Get the Bit Depth and BytesPerPixel associated with the pixel format.
- Returns
- uint32_t
◆ GetCodecFmtName()
| const char* RocVideoDecoder::GetCodecFmtName | ( | rocDecVideoCodec | codec_id | ) |
Get the name of the output format.
- Parameters
-
codec_id
- Returns
- std::string
◆ GetDeviceinfo()
| void RocVideoDecoder::GetDeviceinfo | ( | std::string & | device_name, |
| std::string & | gcn_arch_name, | ||
| int & | pci_bus_id, | ||
| int & | pci_domain_id, | ||
| int & | pci_device_id | ||
| ) |
utility function to save image to a file
- Parameters
-
output_file_name - file to write dev_mem - dev_memory pointer of the frame image_info - output image info is_output_RGB - to write in RGB
Get the Device info for the current device
- Parameters
-
device_name gcn_arch_name pci_bus_id pci_domain_id pci_device_id
◆ GetNumOfFlushedFrames()
|
inline |
Get the Num Of Flushed Frames from video decoder object.
- Returns
- int32_t
◆ GetOutputSurfaceInfo()
| bool RocVideoDecoder::GetOutputSurfaceInfo | ( | OutputSurfaceInfo ** | surface_info | ) |
Get the pointer to the Output Image Info.
- Parameters
-
surface_info ptr to output surface info
- Returns
- true
- false
◆ GetSurfaceFmtName()
| const char* RocVideoDecoder::GetSurfaceFmtName | ( | rocDecVideoSurfaceFormat | surface_format_id | ) |
function to return the name from surface_format_id
- Parameters
-
surface_format_id - enum for surface format
- Returns
- const char*
◆ ReleaseFrame()
| bool RocVideoDecoder::ReleaseFrame | ( | int64_t | pTimestamp, |
| bool | b_flushing = false |
||
| ) |
function to release frame after use by the application: Only used with "OUT_SURFACE_MEM_DEV_INTERNAL"
- Parameters
-
pTimestamp - timestamp of the frame to be released (unmapped) b_flushing - true when flushing
- Returns
- true - success
- false - falied
◆ SaveFrameToFile()
| void RocVideoDecoder::SaveFrameToFile | ( | std::string | output_file_name, |
| void * | surf_mem, | ||
| OutputSurfaceInfo * | surf_info | ||
| ) |
Helper function to dump decoded output surface to file.
- Parameters
-
output_file_name - Output file name dev_mem - pointer to surface memory surf_info - surface info
◆ SetReconfigParams()
| bool RocVideoDecoder::SetReconfigParams | ( | ReconfigParams * | p_reconfig_params | ) |
Function to set the Reconfig Params object.
- Parameters
-
p_reconfig_params pointer to reconfig params struct
- Returns
- true : success
- false : fail
◆ UpdateMd5ForFrame()
| void RocVideoDecoder::UpdateMd5ForFrame | ( | void * | surf_mem, |
| OutputSurfaceInfo * | surf_info | ||
| ) |
Helper function to dump decoded output surface to file.
- Parameters
-
dev_mem - pointer to surface memory surf_info - surface info
The documentation for this class was generated from the following file:
- docs-6.1.5/utils/rocvideodecode/roc_video_dec.h