vdr 2.6.8
|
#include <remux.h>
Public Member Functions | |
cFrameDetector (int Pid=0, int Type=0) | |
void | SetPid (int Pid, int Type) |
int | Analyze (const uchar *Data, int Length) |
bool | Synced (void) |
bool | NewFrame (void) |
bool | IndependentFrame (void) |
double | FramesPerSecond (void) |
uint16_t | FrameWidth (void) |
uint16_t | FrameHeight (void) |
eScanType | ScanType (void) |
eAspectRatio | AspectRatio (void) |
Private Types | |
enum | { MaxPtsValues = 150 } |
Private Attributes | |
int | pid |
int | type |
bool | synced |
bool | newFrame |
bool | independentFrame |
uint32_t | ptsValues [MaxPtsValues] |
int | numPtsValues |
int | numIFrames |
bool | isVideo |
double | framesPerSecond |
uint16_t | frameWidth |
uint16_t | frameHeight |
eScanType | scanType |
eAspectRatio | aspectRatio |
int | framesInPayloadUnit |
int | framesPerPayloadUnit |
bool | scanning |
cFrameParser * | parser |
cFrameDetector::cFrameDetector | ( | int | Pid = 0, |
int | Type = 0 ) |
Sets up a frame detector for the given Pid and stream Type.
If no Pid and Type is given, they need to be set by a separate call to SetPid().
Definition at line 1946 of file remux.c.
References arUnknown, aspectRatio, frameHeight, framesInPayloadUnit, framesPerPayloadUnit, framesPerSecond, frameWidth, independentFrame, newFrame, numIFrames, numPtsValues, parser, scanning, scanType, SetPid(), stUnknown, and synced.
int cFrameDetector::Analyze | ( | const uchar * | Data, |
int | Length ) |
Analyzes the TS packets pointed to by Data.
Length is the number of bytes Data points to, and must be a multiple of TS_SIZE. Returns the number of bytes that have been analyzed. If the return value is 0, the data was not sufficient for analyzing and Analyze() needs to be called again with more actual data.
Definition at line 1989 of file remux.c.
References cFrameParser::AspectRatio(), aspectRatio, CmpUint32(), dbgframes, DEFAULTFRAMESPERSECOND, dsyslog, cFrameParser::FrameHeight(), frameHeight, framesInPayloadUnit, framesPerPayloadUnit, cFrameParser::FramesPerSecond(), framesPerSecond, cFrameParser::FrameWidth(), frameWidth, cFrameParser::IFrameTemporalReferenceOffset(), cFrameParser::IndependentFrame(), independentFrame, isVideo, MaxPtsValues, MIN_TS_PACKETS_FOR_FRAME_DETECTOR, cFrameParser::NewFrame(), newFrame, numIFrames, numPtsValues, cFrameParser::Parse(), parser, PATPID, PesGetPts(), PesHasPts(), pid, PTSTICKS, ptsValues, scanning, cFrameParser::ScanType(), scanType, cFrameParser::SetDebug(), synced, TS_SIZE, TS_SYNC, TsHasPayload(), TsIsScrambled(), TsPayloadOffset(), TsPayloadStart(), and TsPid().
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns the aspect ratio, or arUnknown if this information is not available.
Definition at line 579 of file remux.h.
References aspectRatio.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns the frame height, or 0 if this information is not available.
Definition at line 575 of file remux.h.
References frameHeight.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns the number of frames per second, or 0 if this information is not available.
Definition at line 570 of file remux.h.
References framesPerSecond.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns the frame width, or 0 if this information is not available.
Definition at line 573 of file remux.h.
References frameWidth.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns true if a new frame was detected and this is an independent frame (i.e.
one that can be displayed by itself, without using data from any other frames).
Definition at line 566 of file remux.h.
References independentFrame.
Referenced by cIndexFileGenerator::Action(), cRecorder::Action(), and cRecorder::NextFile().
|
inline |
Returns true if the data given to the last call to Analyze() started a new frame.
Definition at line 563 of file remux.h.
References newFrame.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
inline |
Returns the scan type, or stUnknown if this information is not available.
Definition at line 577 of file remux.h.
References scanType.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
void cFrameDetector::SetPid | ( | int | Pid, |
int | Type ) |
Sets the Pid and stream Type to detect frames for.
Definition at line 1970 of file remux.c.
References esyslog, isVideo, parser, pid, and type.
Referenced by cIndexFileGenerator::Action(), and cFrameDetector().
|
inline |
Returns true if the frame detector has synced on the data stream.
Definition at line 561 of file remux.h.
References synced.
Referenced by cIndexFileGenerator::Action(), and cRecorder::Action().
|
private |
Definition at line 542 of file remux.h.
Referenced by Analyze(), AspectRatio(), and cFrameDetector().
|
private |
Definition at line 540 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and FrameHeight().
|
private |
Definition at line 543 of file remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 544 of file remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 538 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and FramesPerSecond().
|
private |
Definition at line 539 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and FrameWidth().
|
private |
Definition at line 533 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and IndependentFrame().
|
private |
|
private |
Definition at line 532 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and NewFrame().
|
private |
Definition at line 536 of file remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 535 of file remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 547 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and SetPid().
|
private |
|
private |
|
private |
Definition at line 546 of file remux.h.
Referenced by Analyze(), and cFrameDetector().
|
private |
Definition at line 541 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and ScanType().
|
private |
Definition at line 531 of file remux.h.
Referenced by Analyze(), cFrameDetector(), and Synced().