vdr 2.6.8
|
Public Member Functions | |
cH265Parser (void) | |
virtual int | Parse (const uchar *Data, int Length, int Pid) |
![]() | |
cH264Parser (void) | |
![]() | |
cFrameParser (void) | |
virtual | ~cFrameParser () |
void | SetDebug (bool Debug) |
bool | NewFrame (void) |
bool | IndependentFrame (void) |
int | IFrameTemporalReferenceOffset (void) |
uint16_t | FrameWidth (void) |
uint16_t | FrameHeight (void) |
double | FramesPerSecond (void) |
eScanType | ScanType (void) |
eAspectRatio | AspectRatio (void) |
Private Types | |
enum | eNalUnitType { nutSliceSegmentTrailingN = 0 , nutSliceSegmentTrailingR = 1 , nutSliceSegmentTSAN = 2 , nutSliceSegmentTSAR = 3 , nutSliceSegmentSTSAN = 4 , nutSliceSegmentSTSAR = 5 , nutSliceSegmentRADLN = 6 , nutSliceSegmentRADLR = 7 , nutSliceSegmentRASLN = 8 , nutSliceSegmentRASLR = 9 , nutSliceSegmentBLAWLP = 16 , nutSliceSegmentBLAWRADL = 17 , nutSliceSegmentBLANLP = 18 , nutSliceSegmentIDRWRADL = 19 , nutSliceSegmentIDRNLP = 20 , nutSliceSegmentCRANUT = 21 , nutVideoParameterSet = 32 , nutSequenceParameterSet = 33 , nutPictureParameterSet = 34 , nutAccessUnitDelimiter = 35 , nutEndOfSequence = 36 , nutEndOfBitstream = 37 , nutFillerData = 38 , nutPrefixSEI = 39 , nutSuffixSEI = 40 , nutNonVCLRes0 = 41 , nutNonVCLRes3 = 44 , nutUnspecified0 = 48 , nutUnspecified7 = 55 } |
Private Member Functions | |
void | ParseSequenceParameterSet (void) |
Additional Inherited Members | |
![]() | |
uchar | GetByte (bool Raw=false) |
uchar | GetBit (void) |
uint32_t | GetBits (int Bits) |
uint32_t | GetGolombUe (void) |
int32_t | GetGolombSe (void) |
void | ParseAccessUnitDelimiter (void) |
void | ParseSequenceParameterSet (void) |
void | ParseSliceHeader (void) |
![]() | |
cTsPayload | tsPayload |
uint32_t | scanner |
bool | gotAccessUnitDelimiter |
bool | gotSequenceParameterSet |
![]() | |
bool | debug |
bool | newFrame |
bool | independentFrame |
int | iFrameTemporalReferenceOffset |
uint16_t | frameWidth |
uint16_t | frameHeight |
double | framesPerSecond |
eScanType | scanType |
eAspectRatio | aspectRatio |
|
private |
|
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.
Reimplemented from cH264Parser.
Definition at line 1706 of file remux.c.
References cTsPayload::AtPayloadStart(), EMPTY_SCANNER, cTsPayload::Eof(), cFrameParser::frameWidth, cH264Parser::GetBit(), cH264Parser::GetByte(), cH264Parser::gotSequenceParameterSet, cFrameParser::independentFrame, cFrameParser::newFrame, nutSequenceParameterSet, nutSliceSegmentBLAWLP, nutSliceSegmentCRANUT, nutSliceSegmentIDRNLP, nutSliceSegmentIDRWRADL, nutSliceSegmentRASLR, ParseSequenceParameterSet(), cH264Parser::scanner, cTsPayload::Setup(), cTsPayload::SkipPesHeader(), cTsPayload::Statistics(), cH264Parser::tsPayload, TsPayloadStart(), and cTsPayload::Used().
|
private |
Definition at line 1740 of file remux.c.
References ar_16_9, cFrameParser::aspectRatio, AspectRatioTexts, dbgframes, cFrameParser::debug, dsyslog, cFrameParser::frameHeight, cFrameParser::framesPerSecond, cFrameParser::frameWidth, cH264Parser::GetBit(), cH264Parser::GetBits(), cH264Parser::GetByte(), cH264Parser::GetGolombSe(), cH264Parser::GetGolombUe(), min(), cFrameParser::scanType, ScanTypeChars, cH264Parser::separate_colour_plane_flag, cString::sprintf(), stInterlaced, and stProgressive.
Referenced by Parse().