Skip to content

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:

  • data Pointer to annexb bytes.
  • size Byte count.
  • frame_number Frame number of the packet being submitted; passed through as the NVDEC picture timestamp.
  • out_frame_number Set 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