![]() |
Gray C++ Libraries
0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
|
#include <cVideoFS.h>
Public Member Functions | |
| cVideoFSComp (int nBlockX=k_BLOCK_DEF, int nBlockY=k_BLOCK_DEF) | |
| cVideoFSComp (const cVideoFSComp ©this) | |
| virtual | ~cVideoFSComp () |
| virtual HRESULT | CompStart (const cSurfaceInfo &rInfo, cSurfaceBitmapInfo *pbiOut) override |
| virtual HRESULT | CompFrame (const cSurfaceBase &frame, OUT const void *&rpCompRet, OUT size_t &rnSizeRet, OUT bool &rbIsKey) override |
Public Member Functions inherited from GrayLib::IVideoCompress | |
| virtual | ~IVideoCompress () |
| virtual void | CompEnd () |
| virtual AV_QUALITY_t | get_CompQuality () const |
Protected Member Functions | |
| void | SetBlockDirty (int x, int y) |
| void | UpdateBlockDirtyBits (const cSurfaceBase &frame) |
| size_t | AddImageBlock (BYTE *pComp, INT_PTR nCompSizeMax, int row, int col) |
Protected Member Functions inherited from GrayLib::cVideoFS | |
| 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 | |
| cNewPtr< cColor888 > | m_FrameLast |
| The last full frame m_FrameSize. (diff against this) More... | |
| cBitArrayStatic | m_BlocksDirty |
| are any of the pixels in the block changed? 2d array of m_Blocks More... | |
| cHeapBlock | m_CompFrame |
| holder for the last compressed frame. key or diff. persisted for CompFrame( rpCompRet ) More... | |
Additional Inherited Members | |
Public Attributes inherited from GrayLib::cVideoFS | |
| 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 Public Attributes inherited from GrayLib::cVideoFS | |
| 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 )) |
the Adobe Flash 'screenshare' compressor. FOURCC(fsv1)
| GrayLib::cVideoFSComp::cVideoFSComp | ( | int | nBlockX = k_BLOCK_DEF, |
| int | nBlockY = k_BLOCK_DEF |
||
| ) |
| GrayLib::cVideoFSComp::cVideoFSComp | ( | const cVideoFSComp & | copythis | ) |
|
virtual |
|
protected |
Take the image block from m_FrameLast and compress to pComp in m_CompFrame nCompSizeMax = sanity check on my buffer size.
|
overridevirtual |
IVideoCompress compress a single frame into the stream.
Implements GrayLib::IVideoCompress.
|
overridevirtual |
IVideoCompress Must call this again if the image size changes or the block size changes.
size of the frame.
Implements GrayLib::IVideoCompress.
|
protected |
Mark this block is changed. x,y = pixels.
|
protected |
Discover which pixels/blocks have changed and copy them into the m_FrameLast
|
protected |
are any of the pixels in the block changed? 2d array of m_Blocks
|
protected |
holder for the last compressed frame. key or diff. persisted for CompFrame( rpCompRet )
The last full frame m_FrameSize. (diff against this)