Class ILLIXR::nvdec_decoder
ClassList > ILLIXR > nvdec_decoder
#include <nvdec_decoder.hpp>
Public Functions
| Type | Name |
|---|---|
| const uint8_t * | decode (const uint8_t * data, size_t size, int64_t frame_number, int64_t & out_frame_number) Decode one H.265 annexb access unit. |
| int | height () const |
| nvdec_decoder (cudaVideoCodec codec=cudaVideoCodec_HEVC) |
|
| nvdec_decoder (const nvdec_decoder &) = delete |
|
| nvdec_decoder & | operator= (const nvdec_decoder &) = delete |
| int | width () const |
| ~nvdec_decoder () |
Public Functions Documentation
function decode
Decode one H.265 annexb access unit.
const uint8_t * ILLIXR::nvdec_decoder::decode (
const uint8_t * data,
size_t size,
int64_t frame_number,
int64_t & out_frame_number
)
Decodes the input bytes and converts the resulting NV12 frame to packed RGB uint8 on the GPU, then copies to a pre-allocated pinned host buffer.
NVDEC may hand back a different picture than the one just submitted (see the reordering note above), so frame_number is threaded through as the NVDEC picture timestamp and read back via GetFrame(&ts) out_frame_number identifies which picture pinned_rgb_ actually holds.
Parameters:
dataPointer to annexb bytes.sizeByte count.frame_numberFrame number of the packet being submitted; passed through as the NVDEC picture timestamp.out_frame_numberSet to the frame number of the picture actually returned, which may lag frame_number while the reorder buffer is filling. Untouched if nullptr is returned.
Returns:
Pointer to pinned host RGB buffer (H x W x 3, uint8, RGB order), or nullptr if no frame was output this call (e.g. during decoder init with SPS/PPS only, or while the reorder buffer is filling). The pointer is valid until the next call to decode().
function height
inline int ILLIXR::nvdec_decoder::height () const
function nvdec_decoder [1/2]
explicit ILLIXR::nvdec_decoder::nvdec_decoder (
cudaVideoCodec codec=cudaVideoCodec_HEVC
)
function nvdec_decoder [2/2]
ILLIXR::nvdec_decoder::nvdec_decoder (
const nvdec_decoder &
) = delete
function operator=
nvdec_decoder & ILLIXR::nvdec_decoder::operator= (
const nvdec_decoder &
) = delete
function width
inline int ILLIXR::nvdec_decoder::width () const
function ~nvdec_decoder
ILLIXR::nvdec_decoder::~nvdec_decoder ()
The documentation for this class was generated from the following file /home/friedel/devel/ILLIXR/illixr_release/ILLIXR/plugins/semantic_python/nvdec_decoder.hpp