![]() |
VR-Forces 4.10 Class Documentation
|
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. More... | |
| virtual | ~DtEncoderIO () |
| DTOR. More... | |
| void | deinitialize () |
| Shutdown all (CUDA / NVIDIA encoder) More... | |
| bool | initialize (DtDe *theDe, const osg::ref_ptr< osg::Image > &image, unsigned int frameRate, const std::string &encodingFormat) |
| Initialize all (CUDA / NVIDIA encoder) More... | |
| void | submitPBO (unsigned int pboId, osg::ref_ptr< osg::Image > &image, DtReadFramebufferProcessData &fbData, unsigned int frameRate) |
| Submit Pixel Buffer Object. More... | |
Protected Member Functions | |
| void | deinitCUDA () |
| Shutdown CUDA. More... | |
| bool | initCUDA (const osg::ref_ptr< osg::Image > &image, unsigned int frameRate) |
| Initialize CUDA. More... | |
| void | deinitNVidiaEncoder () |
| Shutdown NVIDIA encoder. More... | |
| bool | initNVidiaEncoder (const osg::ref_ptr< osg::Image > &image, unsigned int frameRate) |
| Initialize NVIDIA encoder. More... | |
| void | unmapDeviceBuffer () |
| Unmap CUDA buffer. More... | |
Protected Attributes | |
| int | myCudaDeviceId |
| CUDA device ID use for the encoding. More... | |
| int | myHcuDevice |
| CUDA device handle. More... | |
| CUcontext | myHcuContext |
| CUDA device context. More... | |
| EncodeBuffer | myEncodeBuffer [MAX_ENCODE_QUEUE] |
| Encoder buffer. More... | |
| DtNvQueue< EncodeBuffer > | myEncodeBufferQueue |
| Encoding queue. More... | |
| void * | myNVEncoder |
| encoding pointer More... | |
| uint64_t | myEncodeIdx |
| encoding index More... | |
| CUdeviceptr | myCUDATempDevicePtr |
| Temp buffer on CUDA device. More... | |
| unsigned int | myCUDATempDeviceSize |
| CUDATempDevicePtr size. More... | |
| uint32_t | myTempStride |
| Temp buffer on CUDA device. More... | |
| unsigned int | myFrameRate |
| Frame Rate. More... | |
| DtDe * | myDe |
| Copy of the DtDe. More... | |
| std::string | myEncodingFormat |
| Encoding Data format. More... | |
| void * | myDeviceBufferPtr |
| CUDA resource pointer for PBO. More... | |
| unsigned int | myPboId |
| Current PBO Id. More... | |
| cudaGraphicsResource * | myDeviceBufferResource |
| Current CUDA resource. More... | |
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.
| makVrv::DtEncoderIO::DtEncoderIO | ( | ) |
CTOR.
|
virtual |
DTOR.
| 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, | ||
| const std::string & | encodingFormat | ||
| ) |
Initialize all (CUDA / NVIDIA encoder)
| void makVrv::DtEncoderIO::submitPBO | ( | unsigned int | pboId, |
| osg::ref_ptr< osg::Image > & | image, | ||
| DtReadFramebufferProcessData & | fbData, | ||
| unsigned int | frameRate | ||
| ) |
Submit Pixel Buffer Object.
|
protected |
Shutdown CUDA.
|
protected |
Initialize CUDA.
|
protected |
Shutdown NVIDIA encoder.
|
protected |
Initialize NVIDIA encoder.
|
protected |
Unmap CUDA buffer.
|
protected |
CUDA device ID use for the encoding.
|
protected |
CUDA device handle.
|
protected |
CUDA device context.
|
protected |
Encoder buffer.
|
protected |
Encoding queue.
|
protected |
encoding pointer
|
protected |
encoding index
|
protected |
Temp buffer on CUDA device.
|
protected |
Temp buffer on CUDA device.
|
protected |
Encoding Data format.
|
protected |
CUDA resource pointer for PBO.
|
protected |
Current CUDA resource.