![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cVideoFS.h>
Classes | |
struct | CBlock |
Public Member Functions | |
cVideoFSRateController () | |
virtual | ~cVideoFSRateController () |
virtual HRESULT | OnHeaderStream (const cAVHeaderStream &head, const void *pForm, size_t nSizeForm) override |
virtual HRESULT | OnFrame (const cAVHeaderFrame &head, const void *pData, size_t nSizeData) override |
virtual HRESULT | BuildCompFrame (TIMESYS_t tWhenLast, const void *&rpCompRet, size_t &rnSizeRet) override |
![]() | |
virtual | ~cAVSink () |
virtual HRESULT | OnHeaderOpen (const cAVHeader &head) |
virtual HRESULT | OnHeaderClose () |
virtual HRESULT | OnClose () |
Protected Member Functions | |
void | UpdateBlockParams () |
![]() | |
cVideoFS (int nBlockX=k_BLOCK_DEF, int nBlockY=k_BLOCK_DEF) | |
~cVideoFS () | |
void | UpdateBlockParams () |
BYTE * | BuildCompFrameHeader (BYTE *pComp) const |
bool | isReady () const noexcept |
int | get_BlocksTotal () const noexcept |
void | GetBlockRect (int col, int row, cRectI &rect) const noexcept |
UNITTEST_FRIEND (cVideoFS) | |
Protected Attributes | |
cArrayStruct< CBlock > | m_aBlocks |
the blocks making up the current frame. More... | |
cHeapBlock | m_CompFrame |
holder for the last compressed frame. key or diff. persisted for BuildCompFrame( rpCompRet ) More... | |
Additional Inherited Members | |
![]() | |
cWinSize | m_BlockSize |
Preconfigured size of the dirty block in pixels. (arbitrary 16..256, multiple of 16) More... | |
cWinSize | m_FrameSize |
total size in pixels in Frame. More... | |
cWinSize | m_Blocks |
Count of blocks = m_FrameSize / m_BlockSize. More... | |
UINT | m_nFrameNum |
frame number in video stream so far. More... | |
cArrayVal< cColor888 > | m_BlockTmp |
space to hold a block for (de)compression. m_BlockSize More... | |
![]() | |
static const int | k_BLOCK_DEF = 32 |
static const FOURCC | k_Form = ((DWORD)(BYTE)( 'F' ) | ((DWORD)(BYTE)( 'S' ) << 8) | ((DWORD)(BYTE)( 'V' ) << 16) | ((DWORD)(BYTE)( '1' ) << 24 )) |
take an incoming compressed stream and rate limit it. I must hold compressed blocks or at least the whole last good frame.
|
inline |
|
inlinevirtual |
|
overridevirtual |
based on cAVRateController Build a (sort of) key frame from a certain point in time.
Implements GrayLib::cAVRateController.
|
overridevirtual |
cAVSink in cAVRateController Add a new frame to the cache.
Reimplemented from GrayLib::cAVSink.
|
overridevirtual |
Reimplemented from GrayLib::cAVSink.
|
protected |
|
protected |
the blocks making up the current frame.
|
protected |
holder for the last compressed frame. key or diff. persisted for BuildCompFrame( rpCompRet )