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

#include <cVideoBZ.h>

Inheritance diagram for GrayLib::cVideoBZ:
GrayLib::cVideoBZComp GrayLib::cVideoBZDecomp GrayLib::cVideoBZRateController

Classes

struct  BLOCK_COORD
 

Public Attributes

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...
 

Static Public Attributes

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 ))
 

Protected Member Functions

 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)
 

Static Protected Member Functions

static HRESULT GRAYCALL CoordWrite (cStreamOutput &out, const BLOCK_COORD &coord)
 
static HRESULT GRAYCALL CoordRead (cStreamInput &stmIn, BLOCK_COORD &coord)
 

Detailed Description

Custom screen video codec using BZ2. FOURCC(GVBZ) common for compress, decompress or render.

Note
similar to cVideoFS but improved via diff last frame and bzip whole frame as one block.

Constructor & Destructor Documentation

◆ cVideoBZ()

GrayLib::cVideoBZ::cVideoBZ ( )
protected

◆ ~cVideoBZ()

virtual GrayLib::cVideoBZ::~cVideoBZ ( )
protectedvirtual

Member Function Documentation

◆ CoordRead()

static HRESULT GRAYCALL GrayLib::cVideoBZ::CoordRead ( cStreamInput stmIn,
BLOCK_COORD coord 
)
staticprotected

◆ CoordWrite()

static HRESULT GRAYCALL GrayLib::cVideoBZ::CoordWrite ( cStreamOutput out,
const BLOCK_COORD coord 
)
staticprotected

◆ get_BlocksTotal()

int GrayLib::cVideoBZ::get_BlocksTotal ( ) const
inlineprotectednoexcept

◆ GetBlockRect()

void GrayLib::cVideoBZ::GetBlockRect ( const BLOCK_COORD coord,
cRectI rect 
) const
inlineprotectednoexcept

Get PIXELS_t rectangle for a particular block.

◆ isReady()

bool GrayLib::cVideoBZ::isReady ( ) const
inlineprotectednoexcept

◆ UNITTEST_FRIEND()

GrayLib::cVideoBZ::UNITTEST_FRIEND ( cVideoBZ  )
protected

◆ UpdateBlockParams()

void GrayLib::cVideoBZ::UpdateBlockParams ( )
protected

Member Data Documentation

◆ k_BLOCK_SIZE

const int GrayLib::cVideoBZ::k_BLOCK_SIZE = 32
static

◆ k_Form

const FOURCC GrayLib::cVideoBZ::k_Form = ((DWORD)(BYTE)( 'G' ) | ((DWORD)(BYTE)( 'V' ) << 8) | ((DWORD)(BYTE)( 'B' ) << 16) | ((DWORD)(BYTE)( 'Z' ) << 24 ))
static

◆ m_Blocks

cWinSize GrayLib::cVideoBZ::m_Blocks

Count of blocks = m_FrameSize / k_BLOCK_SIZE.

◆ m_Info

cSurfaceInfo GrayLib::cVideoBZ::m_Info

i was init to use this format + size. CompStart() or DecompStart()

◆ m_nFrameNum

UINT GrayLib::cVideoBZ::m_nFrameNum

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