NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Classes | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
video::CompressorImpl Class Reference
Collaboration diagram for video::CompressorImpl:
Collaboration graph
[legend]

Classes

struct  FramePerfStats
 
struct  OutputQueue
 

Public Member Functions

 CompressorImpl (int _width, int _height, int mfps, const std::string &_filename)
 
void try_cleanup ()
 
 ~CompressorImpl ()
 
void preparetexture (int gltexture)
 
void compresstexture (int gltexture)
 
bool get_output_info (unsigned int frameno, unsigned __int64 *fileoffset, FrameType::FT *frametype)
 

Public Attributes

std::string filename
 
NVEncoder encoder
 
NVVE_EncodeFrameParams frameparams
 
CUdeviceptr framebuffer
 
CUvideoctxlock ctxlock
 
CUcontext cudacontext
 
HGLRC oglrc
 
int width
 
int height
 
int paddedheight
 
std::map< int,
cudaGraphicsResource * > 
gl2cudamap
 
Keep some performance stats.
std::vector< FramePerfStatsframeperstats
 
cudaEvent_t formatconversion_started
 
cudaEvent_t formatconversion_finished
 

Static Public Attributes

static const float BITRATEESTIMATER_BITSPERPIXEL = 0.6f
 

Encoder callbacks for writing out data.

HANDLE outputfile
 
unsigned __int64 outputoffset
 
struct
video::CompressorImpl::OutputQueue 
outputqueue [3]
 
int currentqueueslot
 
int currentframe
 
std::vector< std::pair
< unsigned __int64,
FrameType::FT > > 
outputinfo
 
unsigned int currentnalsize
 
unsigned int nalsizehistogram [32]
 
static unsigned char *_stdcall acquirebitstream_callback (int *pBufferSize, void *pUserData)
 
static void _stdcall releasebitstream_callback (int nBytesInBuffer, unsigned char *cb, void *pUserData)
 
static void _stdcall beginframe_callback (const NVVE_BeginFrameInfo *pbfi, void *pUserdata)
 
static void _stdcall endframe_callback (const NVVE_EndFrameInfo *pefi, void *pUserdata)
 

Constructor & Destructor Documentation

video::CompressorImpl::CompressorImpl ( int  _width,
int  _height,
int  mfps,
const std::string _filename 
)
inline
video::CompressorImpl::~CompressorImpl ( )
inline

Member Function Documentation

static unsigned char* _stdcall video::CompressorImpl::acquirebitstream_callback ( int pBufferSize,
void pUserData 
)
inlinestatic
static void _stdcall video::CompressorImpl::beginframe_callback ( const NVVE_BeginFrameInfo *  pbfi,
void pUserdata 
)
inlinestatic
void video::CompressorImpl::compresstexture ( int  gltexture)
inline
static void _stdcall video::CompressorImpl::endframe_callback ( const NVVE_EndFrameInfo *  pefi,
void pUserdata 
)
inlinestatic
bool video::CompressorImpl::get_output_info ( unsigned int  frameno,
unsigned __int64 *  fileoffset,
FrameType::FT frametype 
)
inline
void video::CompressorImpl::preparetexture ( int  gltexture)
inline
static void _stdcall video::CompressorImpl::releasebitstream_callback ( int  nBytesInBuffer,
unsigned char *  cb,
void pUserData 
)
inlinestatic
void video::CompressorImpl::try_cleanup ( )
inline

Member Data Documentation

const float video::CompressorImpl::BITRATEESTIMATER_BITSPERPIXEL = 0.6f
static
CUvideoctxlock video::CompressorImpl::ctxlock
CUcontext video::CompressorImpl::cudacontext
int video::CompressorImpl::currentframe
unsigned int video::CompressorImpl::currentnalsize
int video::CompressorImpl::currentqueueslot
NVEncoder video::CompressorImpl::encoder
std::string video::CompressorImpl::filename
cudaEvent_t video::CompressorImpl::formatconversion_finished
cudaEvent_t video::CompressorImpl::formatconversion_started
CUdeviceptr video::CompressorImpl::framebuffer
NVVE_EncodeFrameParams video::CompressorImpl::frameparams
std::vector<FramePerfStats> video::CompressorImpl::frameperstats
std::map<int, cudaGraphicsResource*> video::CompressorImpl::gl2cudamap
int video::CompressorImpl::height
unsigned int video::CompressorImpl::nalsizehistogram[32]
HGLRC video::CompressorImpl::oglrc
HANDLE video::CompressorImpl::outputfile
std::vector<std::pair<unsigned __int64, FrameType::FT> > video::CompressorImpl::outputinfo
unsigned __int64 video::CompressorImpl::outputoffset
struct video::CompressorImpl::OutputQueue video::CompressorImpl::outputqueue[3]
int video::CompressorImpl::paddedheight
int video::CompressorImpl::width

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