Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GrayLib::cVideoFS Class Reference

#include <cVideoFS.h>

Inheritance diagram for GrayLib::cVideoFS:
GrayLib::cVideoFSComp GrayLib::cVideoFSDecomp GrayLib::cVideoFSRateController

Public Attributes

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< cColor888m_BlockTmp
 space to hold a block for (de)compression. m_BlockSize More...
 

Static Public Attributes

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

Protected Member Functions

 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)
 

Detailed Description

Implement the Adobe Flash 'screenshare' (Screen video) codec natively. based on zlib. common for compress, decompress or render. FOURCC(fsv1) http://en.wikipedia.org/wiki/Flash_Video FLV native pixel format = 24 bit D3DCOLOR format/order. (RGB high to low bytes) cColor888

Constructor & Destructor Documentation

◆ cVideoFS()

GrayLib::cVideoFS::cVideoFS ( int  nBlockX = k_BLOCK_DEF,
int  nBlockY = k_BLOCK_DEF 
)
protected

◆ ~cVideoFS()

GrayLib::cVideoFS::~cVideoFS ( )
protected

Member Function Documentation

◆ BuildCompFrameHeader()

BYTE * GrayLib::cVideoFS::BuildCompFrameHeader ( BYTE *  pComp) const
protected

Build the 4 byte frame header.

◆ get_BlocksTotal()

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

◆ GetBlockRect()

void GrayLib::cVideoFS::GetBlockRect ( int  col,
int  row,
cRectI rect 
) const
inlineprotectednoexcept

Get pixel rectangle for a particular block.

◆ isReady()

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

◆ UNITTEST_FRIEND()

GrayLib::cVideoFS::UNITTEST_FRIEND ( cVideoFS  )
protected

◆ UpdateBlockParams()

void GrayLib::cVideoFS::UpdateBlockParams ( )
protected

Once i know the m_BlockSize and m_FrameSize. update the derived properties.

frame number in video.

Member Data Documentation

◆ k_BLOCK_DEF

const int GrayLib::cVideoFS::k_BLOCK_DEF = 32
static

◆ k_Form

const FOURCC GrayLib::cVideoFS::k_Form = ((DWORD)(BYTE)( 'F' ) | ((DWORD)(BYTE)( 'S' ) << 8) | ((DWORD)(BYTE)( 'V' ) << 16) | ((DWORD)(BYTE)( '1' ) << 24 ))
static

◆ m_Blocks

cWinSize GrayLib::cVideoFS::m_Blocks

Count of blocks = m_FrameSize / m_BlockSize.

◆ m_BlockSize

cWinSize GrayLib::cVideoFS::m_BlockSize

Preconfigured size of the dirty block in pixels. (arbitrary 16..256, multiple of 16)

◆ m_BlockTmp

cArrayVal<cColor888> GrayLib::cVideoFS::m_BlockTmp

space to hold a block for (de)compression. m_BlockSize

◆ m_FrameSize

cWinSize GrayLib::cVideoFS::m_FrameSize

total size in pixels in Frame.

◆ m_nFrameNum

UINT GrayLib::cVideoFS::m_nFrameNum

frame number in video stream so far.


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