Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cVideoBZComp Class Reference

#include <cVideoBZ.h>

Inheritance diagram for GrayLib::cVideoBZComp:
GrayLib::IVideoCompress GrayLib::cVideoBZ

Public Member Functions

 cVideoBZComp (void)
 
virtual ~cVideoBZComp (void)
 
virtual HRESULT CompStart (const cSurfaceInfo &rInfo, OUT 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 HRESULT CompStart (const cSurfaceInfo &rInfo, cSurfaceBitmapInfo *pbiOut)=0
 
virtual void CompEnd ()
 
virtual AV_QUALITY_t get_CompQuality () const
 

Public Attributes

cSurface m_FrameLast
 The last full frame m_Info. (diff against this) More...
 
cBitArrayStatic m_BlocksDirty
 which blocks changed? (any pixels in them) 2d array of m_Blocks More...
 
cStreamQueue m_CompFrame
 holder for the last compressed frame. key or diff. persisted for CompFrame( rpCompRet ) More...
 
- Public Attributes inherited from GrayLib::cVideoBZ
cWinSize m_Blocks
 Count of blocks = m_FrameSize / k_BLOCK_SIZE. More...
 
UINT m_nFrameNum
 
cSurfaceInfo m_Info
 i was init to use this format + size. CompStart() or DecompStart() More...
 

Protected Member Functions

bool SetBlockDirty (int x, int y)
 
int UpdateBlockDirtyBits (const cSurfaceBase &frame)
 
- Protected Member Functions inherited from GrayLib::cVideoBZ
 cVideoBZ ()
 
virtual ~cVideoBZ ()
 
void UpdateBlockParams ()
 
bool isReady () const noexcept
 
int get_BlocksTotal () const noexcept
 
void GetBlockRect (const BLOCK_COORD &coord, cRectI &rect) const noexcept
 
 UNITTEST_FRIEND (cVideoBZ)
 

Additional Inherited Members

- Static Public Attributes inherited from GrayLib::cVideoBZ
static const int k_BLOCK_SIZE = 32
 
static const FOURCC k_Form = ((DWORD)(BYTE)( 'G' ) | ((DWORD)(BYTE)( 'V' ) << 8) | ((DWORD)(BYTE)( 'B' ) << 16) | ((DWORD)(BYTE)( 'Z' ) << 24 ))
 
- Static Protected Member Functions inherited from GrayLib::cVideoBZ
static HRESULT GRAYCALL CoordWrite (cStreamOutput &out, const BLOCK_COORD &coord)
 
static HRESULT GRAYCALL CoordRead (cStreamInput &stmIn, BLOCK_COORD &coord)
 

Detailed Description

Implement a video codec similar to FS but using BZ2 and has frame differencing. FOURCC_GVBZ

Constructor & Destructor Documentation

◆ cVideoBZComp()

GrayLib::cVideoBZComp::cVideoBZComp ( void  )

◆ ~cVideoBZComp()

virtual GrayLib::cVideoBZComp::~cVideoBZComp ( void  )
virtual

Member Function Documentation

◆ CompFrame()

virtual HRESULT GrayLib::cVideoBZComp::CompFrame ( const cSurfaceBase frame,
OUT const void *&  rpCompRet,
OUT size_t &  rnSizeRet,
OUT bool &  rbIsKey 
)
overridevirtual

◆ CompStart()

virtual HRESULT GrayLib::cVideoBZComp::CompStart ( const cSurfaceInfo rInfo,
OUT cSurfaceBitmapInfo pbiOut 
)
overridevirtual

◆ SetBlockDirty()

bool GrayLib::cVideoBZComp::SetBlockDirty ( int  x,
int  y 
)
protected

◆ UpdateBlockDirtyBits()

int GrayLib::cVideoBZComp::UpdateBlockDirtyBits ( const cSurfaceBase frame)
protected

Member Data Documentation

◆ m_BlocksDirty

cBitArrayStatic GrayLib::cVideoBZComp::m_BlocksDirty

which blocks changed? (any pixels in them) 2d array of m_Blocks

◆ m_CompFrame

cStreamQueue GrayLib::cVideoBZComp::m_CompFrame

holder for the last compressed frame. key or diff. persisted for CompFrame( rpCompRet )

◆ m_FrameLast

cSurface GrayLib::cVideoBZComp::m_FrameLast

The last full frame m_Info. (diff against this)


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