VR-Forces 4.7 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | Public Member Functions | Protected Member Functions | Protected Attributes
makVrv::DtEncoderIO Class Reference

The EncoderIO class is responsible to initialize CUDA and NVidia encoder then will be responsible to submit the Pixel Buffer Object to the GPU for encoding. More...

Public Member Functions

 DtEncoderIO ()
 CTOR.
virtual ~DtEncoderIO ()
 DTOR.
void deinitialize ()
 Shutdown all (CUDA / NVIDIA encoder)
bool initialize (DtDe *theDe, const osg::ref_ptr< osg::Image > &image, unsigned int frameRate)
 Initialize all (CUDA / NVIDIA encoder)
void flipVertically (CUdeviceptr dev, uint32_t stride, int height)
 Flip image.
void submitPBO (unsigned int pboId, osg::ref_ptr< osg::Image > &image, DtReadFramebufferProcessData &fbData, unsigned int frameRate)
 Submit Pixel Buffer Object.

Protected Member Functions

void deinitCUDA ()
 Shutdown CUDA.
bool initCUDA (const osg::ref_ptr< osg::Image > &image, unsigned int frameRate)
 Initialize CUDA.
void deinitNVidiaEncoder ()
 Shutdown NVIDIA encoder.
bool initNVidiaEncoder (const osg::ref_ptr< osg::Image > &image, unsigned int frameRate)
 Initialize NVIDIA encoder.

Protected Attributes

int myCudaDeviceId
 CUDA device ID use for the encoding.
int myHcuDevice
 CUDA device handle.
CUcontext myHcuContext
 CUDA device context.
EncodeBuffer myEncodeBuffer [MAX_ENCODE_QUEUE]
 Encoder buffer.
DtNvQueue< EncodeBuffermyEncodeBufferQueue
 Encoding queue.
void * myNVEncoder
 encoding pointer
uint64_t myEncodeIdx
 encoding index
CUdeviceptr myCUDATempDevicePtr
 Temp buffer on CUDA device.
uint32_t myTempStride
 Temp buffer on CUDA device.
unsigned int myFrameRate
 Frame Rate.
DtDemyDe
 Copy of the DtDe.

Detailed Description

The EncoderIO class is responsible to initialize CUDA and NVidia encoder then will be responsible to submit the Pixel Buffer Object to the GPU for encoding.

Constructor & Destructor Documentation

makVrv::DtEncoderIO::DtEncoderIO ( )

CTOR.

virtual makVrv::DtEncoderIO::~DtEncoderIO ( )
virtual

DTOR.

Member Function Documentation

void makVrv::DtEncoderIO::deinitialize ( )

Shutdown all (CUDA / NVIDIA encoder)

bool makVrv::DtEncoderIO::initialize ( DtDe theDe,
const osg::ref_ptr< osg::Image > &  image,
unsigned int  frameRate 
)

Initialize all (CUDA / NVIDIA encoder)

void makVrv::DtEncoderIO::flipVertically ( CUdeviceptr  dev,
uint32_t  stride,
int  height 
)

Flip image.

void makVrv::DtEncoderIO::submitPBO ( unsigned int  pboId,
osg::ref_ptr< osg::Image > &  image,
DtReadFramebufferProcessData fbData,
unsigned int  frameRate 
)

Submit Pixel Buffer Object.

void makVrv::DtEncoderIO::deinitCUDA ( )
protected

Shutdown CUDA.

bool makVrv::DtEncoderIO::initCUDA ( const osg::ref_ptr< osg::Image > &  image,
unsigned int  frameRate 
)
protected

Initialize CUDA.

void makVrv::DtEncoderIO::deinitNVidiaEncoder ( )
protected

Shutdown NVIDIA encoder.

bool makVrv::DtEncoderIO::initNVidiaEncoder ( const osg::ref_ptr< osg::Image > &  image,
unsigned int  frameRate 
)
protected

Initialize NVIDIA encoder.

Member Data Documentation

int makVrv::DtEncoderIO::myCudaDeviceId
protected

CUDA device ID use for the encoding.

int makVrv::DtEncoderIO::myHcuDevice
protected

CUDA device handle.

CUcontext makVrv::DtEncoderIO::myHcuContext
protected

CUDA device context.

EncodeBuffer makVrv::DtEncoderIO::myEncodeBuffer[MAX_ENCODE_QUEUE]
protected

Encoder buffer.

DtNvQueue<EncodeBuffer> makVrv::DtEncoderIO::myEncodeBufferQueue
protected

Encoding queue.

void* makVrv::DtEncoderIO::myNVEncoder
protected

encoding pointer

uint64_t makVrv::DtEncoderIO::myEncodeIdx
protected

encoding index

CUdeviceptr makVrv::DtEncoderIO::myCUDATempDevicePtr
protected

Temp buffer on CUDA device.

uint32_t makVrv::DtEncoderIO::myTempStride
protected

Temp buffer on CUDA device.

unsigned int makVrv::DtEncoderIO::myFrameRate
protected

Frame Rate.

DtDe* makVrv::DtEncoderIO::myDe
protected

Copy of the DtDe.


The documentation for this class was generated from the following file:

Document ID: Generated on Fri Apr 26 21:53:14 EDT 2019 from SVN revision 197883
Copyright © 2005-2019 VT MAK. All Rights Reserved (www.mak.com)