vdr 2.6.1
Public Member Functions | Private Attributes | List of all members
cMpeg2Parser Class Reference

Public Member Functions

 cMpeg2Parser (void)
 
virtual int Parse (const uchar *Data, int Length, int Pid)
 
- Public Member Functions inherited from cFrameParser
 cFrameParser (void)
 
virtual ~cFrameParser ()
 
virtual int Parse (const uchar *Data, int Length, int Pid)=0
 
void SetDebug (bool Debug)
 
bool NewFrame (void)
 
bool IndependentFrame (void)
 
int IFrameTemporalReferenceOffset (void)
 

Private Attributes

uint32_t scanner
 
bool seenIndependentFrame
 
int lastIFrameTemporalReference
 

Additional Inherited Members

- Protected Attributes inherited from cFrameParser
bool debug
 
bool newFrame
 
bool independentFrame
 
int iFrameTemporalReferenceOffset
 

Detailed Description

Definition at line 1227 of file remux.c.

Constructor & Destructor Documentation

◆ cMpeg2Parser()

cMpeg2Parser::cMpeg2Parser ( void  )

Definition at line 1237 of file remux.c.

References EMPTY_SCANNER, lastIFrameTemporalReference, scanner, and seenIndependentFrame.

Member Function Documentation

◆ Parse()

int cMpeg2Parser::Parse ( const uchar Data,
int  Length,
int  Pid 
)
virtual

Parses the given Data, which is a sequence of Length bytes of TS packets.

The payload in the TS packets with the given Pid is searched for just enough information to determine the beginning and type of the next video frame. Returns the number of bytes parsed. Upon return, the functions NewFrame() and IndependentFrame() can be called to retrieve the required information.

Implements cFrameParser.

Definition at line 1244 of file remux.c.

References cTsPayload::AtPayloadStart(), cTsPayload::AtTsStart(), dbgframes, cFrameParser::debug, EMPTY_SCANNER, cTsPayload::Eof(), cTsPayload::Find(), cTsPayload::GetByte(), cTsPayload::GetLastIndex(), cFrameParser::iFrameTemporalReferenceOffset, cFrameParser::independentFrame, lastIFrameTemporalReference, cFrameParser::newFrame, scanner, seenIndependentFrame, cTsPayload::SkipPesHeader(), cTsPayload::Statistics(), TS_SIZE, TsPayloadStart(), and cTsPayload::Used().

Member Data Documentation

◆ lastIFrameTemporalReference

int cMpeg2Parser::lastIFrameTemporalReference
private

Definition at line 1231 of file remux.c.

Referenced by cMpeg2Parser(), and Parse().

◆ scanner

uint32_t cMpeg2Parser::scanner
private

Definition at line 1229 of file remux.c.

Referenced by cMpeg2Parser(), and Parse().

◆ seenIndependentFrame

bool cMpeg2Parser::seenIndependentFrame
private

Definition at line 1230 of file remux.c.

Referenced by cMpeg2Parser(), and Parse().


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