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

#include <cAVIFileIndex.h>

Public Member Functions

 cAVIFileIndex ()
 
 ~cAVIFileIndex ()
 
void AddFrame (const AVIINDEXENTRY &indexentry)
 
const AVIINDEXENTRYFindFrame (RIFF_SIZE_t dwChunkOffset) const
 
HRESULT FlushIndexChunk (cStreamOutput *pSink)
 
ITERATE_t get_FramesTotal () const noexcept
 
size_t get_ChunkSize () const noexcept
 

Static Public Attributes

static const FOURCC k_fccVideoB = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '0' ) << 8) | ((DWORD)(BYTE)( 'd' ) << 16) | ((DWORD)(BYTE)( 'b' ) << 24 ))
 
static const FOURCC k_fccVideoC = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '0' ) << 8) | ((DWORD)(BYTE)( 'd' ) << 16) | ((DWORD)(BYTE)( 'c' ) << 24 ))
 
static const FOURCC k_fccAudio = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '1' ) << 8) | ((DWORD)(BYTE)( 'w' ) << 16) | ((DWORD)(BYTE)( 'b' ) << 24 ))
 

Detailed Description

Create an index (of frames) for an AVI file/stream

Note
it seems to be necessary to index ALL frames. or just key frames?

Constructor & Destructor Documentation

◆ cAVIFileIndex()

GrayLib::cAVIFileIndex::cAVIFileIndex ( )

◆ ~cAVIFileIndex()

GrayLib::cAVIFileIndex::~cAVIFileIndex ( )

Member Function Documentation

◆ AddFrame()

void GrayLib::cAVIFileIndex::AddFrame ( const AVIINDEXENTRY indexentry)

Add a single index to the array. update index.

◆ FindFrame()

const AVIINDEXENTRY * GrayLib::cAVIFileIndex::FindFrame ( RIFF_SIZE_t  dwChunkOffset) const

Find the dwChunkOffset in m_IndexQ for finding KeyFrame.

Todo:
cAVIFileIndex::FindFrame.

◆ FlushIndexChunk()

HRESULT GrayLib::cAVIFileIndex::FlushIndexChunk ( cStreamOutput pSink)

Write index to pSink. Release memory that index took.

◆ get_ChunkSize()

size_t GrayLib::cAVIFileIndex::get_ChunkSize ( ) const
inlinenoexcept

NOT including the chunk overhead or LIST FOURCC.

◆ get_FramesTotal()

ITERATE_t GrayLib::cAVIFileIndex::get_FramesTotal ( ) const
inlinenoexcept

Member Data Documentation

◆ k_fccAudio

const FOURCC GrayLib::cAVIFileIndex::k_fccAudio = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '1' ) << 8) | ((DWORD)(BYTE)( 'w' ) << 16) | ((DWORD)(BYTE)( 'b' ) << 24 ))
static

◆ k_fccVideoB

const FOURCC GrayLib::cAVIFileIndex::k_fccVideoB = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '0' ) << 8) | ((DWORD)(BYTE)( 'd' ) << 16) | ((DWORD)(BYTE)( 'b' ) << 24 ))
static

◆ k_fccVideoC

const FOURCC GrayLib::cAVIFileIndex::k_fccVideoC = ((DWORD)(BYTE)( '0' ) | ((DWORD)(BYTE)( '0' ) << 8) | ((DWORD)(BYTE)( 'd' ) << 16) | ((DWORD)(BYTE)( 'c' ) << 24 ))
static

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