cVideoRepacker Class Reference

Inheritance diagram for cVideoRepacker:

Inheritance graph
[legend]
Collaboration diagram for cVideoRepacker:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 cVideoRepacker (void)
virtual void Reset (void)
virtual void Repack (cRingBufferLinear *ResultBuffer, const uchar *Data, int Count)
virtual int BreakAt (const uchar *Data, int Count)

Private Types

enum  eState { syncing, findPicture, scanPicture }

Private Member Functions

void HandleStartCode (const uchar *const Data, cRingBufferLinear *const ResultBuffer, const uchar *&Payload, const uchar StreamID, const ePesHeader MpegLevel)
bool ScanDataForStartCodeSlow (const uchar *const Data)
bool ScanDataForStartCodeFast (const uchar *&Data, const uchar *Limit)
bool ScanDataForStartCode (const uchar *&Data, int &Done, int &Todo)
void AdjustCounters (const int Delta, int &Done, int &Todo)
bool ScanForEndOfPictureSlow (const uchar *&Data)
bool ScanForEndOfPictureFast (const uchar *&Data, const uchar *Limit)
bool ScanForEndOfPicture (const uchar *&Data, const uchar *Limit)

Private Attributes

int state


Detailed Description

Definition at line 243 of file remux.c.


Member Enumeration Documentation

enum cVideoRepacker::eState [private]

Enumerator:
syncing 
findPicture 
scanPicture 

Definition at line 245 of file remux.c.


Constructor & Destructor Documentation

cVideoRepacker::cVideoRepacker ( void   ) 

Definition at line 266 of file remux.c.

References Reset().

Here is the call graph for this function:


Member Function Documentation

void cVideoRepacker::HandleStartCode ( const uchar *const   Data,
cRingBufferLinear *const   ResultBuffer,
const uchar *&  Payload,
const uchar  StreamID,
const ePesHeader  MpegLevel 
) [private]

Definition at line 278 of file remux.c.

References findPicture, cRepacker::initiallySyncing, LOG, cRepacker::maxPacketSize, cCommonRepacker::packetTodo, cCommonRepacker::pesHeader, cCommonRepacker::pesHeaderBackup, cCommonRepacker::pesHeaderBackupLen, cCommonRepacker::pesHeaderLen, phMPEG2, cCommonRepacker::PushOutPacket(), scanPicture, cCommonRepacker::skippedBytes, state, and syncing.

Referenced by Repack().

Here is the call graph for this function:

bool cVideoRepacker::ScanDataForStartCodeSlow ( const uchar *const   Data  )  [inline, private]

Definition at line 370 of file remux.c.

References cCommonRepacker::scanner.

Referenced by ScanDataForStartCode().

bool cVideoRepacker::ScanDataForStartCodeFast ( const uchar *&  Data,
const uchar Limit 
) [inline, private]

Definition at line 378 of file remux.c.

References cCommonRepacker::scanner.

Referenced by ScanDataForStartCode().

bool cVideoRepacker::ScanDataForStartCode ( const uchar *&  Data,
int &  Done,
int &  Todo 
) [inline, private]

Definition at line 397 of file remux.c.

References AdjustCounters(), cCommonRepacker::packetTodo, ScanDataForStartCodeFast(), ScanDataForStartCodeSlow(), state, and syncing.

Referenced by Repack().

Here is the call graph for this function:

void cVideoRepacker::AdjustCounters ( const int  Delta,
int &  Done,
int &  Todo 
) [inline, private]

Definition at line 423 of file remux.c.

References cCommonRepacker::packetTodo, cCommonRepacker::skippedBytes, state, and syncing.

Referenced by ScanDataForStartCode().

bool cVideoRepacker::ScanForEndOfPictureSlow ( const uchar *&  Data  )  [inline, private]

Definition at line 579 of file remux.c.

References cCommonRepacker::localScanner.

Referenced by ScanForEndOfPicture().

bool cVideoRepacker::ScanForEndOfPictureFast ( const uchar *&  Data,
const uchar Limit 
) [inline, private]

Definition at line 594 of file remux.c.

References cCommonRepacker::localScanner.

Referenced by ScanForEndOfPicture().

bool cVideoRepacker::ScanForEndOfPicture ( const uchar *&  Data,
const uchar Limit 
) [inline, private]

Definition at line 623 of file remux.c.

References cCommonRepacker::localStart, ScanForEndOfPictureFast(), and ScanForEndOfPictureSlow().

Referenced by BreakAt().

Here is the call graph for this function:

void cVideoRepacker::Reset ( void   )  [virtual]

Reimplemented from cCommonRepacker.

Definition at line 271 of file remux.c.

References cCommonRepacker::Reset(), cCommonRepacker::scanner, state, and syncing.

Referenced by cVideoRepacker().

Here is the call graph for this function:

void cVideoRepacker::Repack ( cRingBufferLinear ResultBuffer,
const uchar Data,
int  Count 
) [virtual]

Implements cRepacker.

Definition at line 434 of file remux.c.

References AnalyzePesHeader(), cRepacker::DroppedData(), cCommonRepacker::fragmentData, cCommonRepacker::fragmentLen, HandleStartCode(), cRepacker::initiallySyncing, cCommonRepacker::localStart, LOG, cRepacker::maxPacketSize, cCommonRepacker::packetTodo, cCommonRepacker::pesHeader, cCommonRepacker::pesHeaderBackup, cCommonRepacker::pesHeaderBackupLen, cCommonRepacker::pesHeaderLen, phInvalid, phMPEG2, cCommonRepacker::PushOutPacket(), ScanDataForStartCode(), cCommonRepacker::scanner, cCommonRepacker::skippedBytes, state, and syncing.

Here is the call graph for this function:

int cVideoRepacker::BreakAt ( const uchar Data,
int  Count 
) [virtual]

Implements cRepacker.

Definition at line 652 of file remux.c.

References AnalyzePesHeader(), cRepacker::initiallySyncing, cCommonRepacker::localScanner, cCommonRepacker::localStart, cCommonRepacker::packetTodo, phInvalid, ScanForEndOfPicture(), cCommonRepacker::scanner, scanPicture, and state.

Here is the call graph for this function:


Member Data Documentation

int cVideoRepacker::state [private]

Definition at line 250 of file remux.c.

Referenced by AdjustCounters(), BreakAt(), HandleStartCode(), Repack(), Reset(), and ScanDataForStartCode().


The documentation for this class was generated from the following file:
Generated on Tue Nov 6 20:31:49 2007 for VDR by  doxygen 1.5.3-20071008