|
vdr 2.8.3
|
#include "remux.h"#include "device.h"#include "libsi/si.h"#include "libsi/section.h"#include "libsi/descriptor.h"#include "recording.h"#include "shutdown.h"#include "tools.h"Go to the source code of this file.
Classes | |
| class | cFrameParser |
| class | cAudioParser |
| class | cMpeg2Parser |
| class | cH264Parser |
| class | cH265Parser |
| class | cTsChecker |
| class | cPtsChecker |
Macros | |
| #define | dbgpatpmt(a...) |
| #define | dbgframes(a...) |
| #define | MAX_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION 6 |
| #define | WRN_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION (MAX_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION / 2) |
| #define | WRN_TS_PACKETS_FOR_FRAME_DETECTOR (MIN_TS_PACKETS_FOR_FRAME_DETECTOR / 2) |
| #define | EMPTY_SCANNER (0xFFFFFFFF) |
| #define | VIDEO_STREAM_S 0xE0 |
| #define | P_TSID 0x8008 |
| #define | P_PMT_PID 0x0084 |
| #define | MAXPID 0x2000 |
| #define | SETPID(p) |
| #define | SETPIDS(l) |
| #define | MAXPESLENGTH 0xFFF0 |
| #define | TS_CC_UNKNOWN 0xFF |
Functions | |
| ePesHeader | AnalyzePesHeader (const uchar *Data, int Count, int &PesPayloadOffset, bool *ContinuationHeader) |
| void | TsHidePayload (uchar *p) |
| void | TsSetPcr (uchar *p, int64_t Pcr) |
| int | TsSync (const uchar *Data, int Length, const char *File, const char *Function, int Line) |
| int64_t | TsGetPts (const uchar *p, int l, int Pid) |
| int64_t | TsGetDts (const uchar *p, int l) |
| void | TsSetPts (uchar *p, int l, int64_t Pts) |
| void | TsSetDts (uchar *p, int l, int64_t Dts) |
| void | PesSetPts (uchar *p, int64_t Pts) |
| void | PesSetDts (uchar *p, int64_t Dts) |
| int64_t | PtsDiff (int64_t Pts1, int64_t Pts2) |
| void | BlockDump (const char *Name, const u_char *Data, int Length) |
| void | TsDump (const char *Name, const u_char *Data, int Length) |
| void | PesDump (const char *Name, const u_char *Data, int Length) |
| static int | ComparePts (const void *a, const void *b) |
| static int | CmpUint32 (const void *p1, const void *p2) |
Variables | |
| static bool | DebugPatPmt = false |
| static bool | DebugFrames = false |
| static bool | DebugChecks = false |
| const char * | ScanTypeChars = "-pi" |
| const char * | AspectRatioTexts [] |
| #define dbgframes | ( | a... | ) |
Definition at line 24 of file remux.c.
Referenced by cFrameDetector::Analyze(), cAudioParser::Parse(), cH264Parser::Parse(), cMpeg2Parser::Parse(), cH264Parser::ParseAccessUnitDelimiter(), cH264Parser::ParseSequenceParameterSet(), cH265Parser::ParseSequenceParameterSet(), and cH264Parser::ParseSliceHeader().
| #define dbgpatpmt | ( | a... | ) |
Definition at line 23 of file remux.c.
Referenced by cPatPmtParser::ParsePat(), and cPatPmtParser::ParsePmt().
| #define EMPTY_SCANNER (0xFFFFFFFF) |
Definition at line 30 of file remux.c.
Referenced by cH264Parser::cH264Parser(), cMpeg2Parser::cMpeg2Parser(), cTsPayload::Find(), cH264Parser::Parse(), cH265Parser::Parse(), and cMpeg2Parser::Parse().
| #define MAX_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION 6 |
Definition at line 26 of file remux.c.
Referenced by cTsPayload::GetByte(), and cTsPayload::Statistics().
| #define MAXPESLENGTH 0xFFF0 |
Definition at line 1094 of file remux.c.
Referenced by cTsToPes::GetPes().
| #define MAXPID 0x2000 |
Definition at line 469 of file remux.c.
Referenced by cPacketStorage::cPacketStorage(), cCuttingThread::GetPendingPackets(), and cPacketStorage::~cPacketStorage().
| #define P_PMT_PID 0x0084 |
Definition at line 468 of file remux.c.
Referenced by cPatPmtGenerator::GeneratePmtPid().
| #define P_TSID 0x8008 |
Definition at line 467 of file remux.c.
Referenced by cPatPmtGenerator::GeneratePat().
| #define SETPID | ( | p | ) |
Referenced by cPatPmtGenerator::GeneratePmtPid().
| #define SETPIDS | ( | l | ) |
Referenced by cPatPmtGenerator::GeneratePmtPid().
| #define TS_CC_UNKNOWN 0xFF |
Definition at line 1968 of file remux.c.
Referenced by cTsChecker::CheckTs(), and cTsChecker::Reset().
| #define VIDEO_STREAM_S 0xE0 |
Definition at line 98 of file remux.c.
Referenced by cRemux::SetBrokenLink().
| #define WRN_TS_PACKETS_FOR_FRAME_DETECTOR (MIN_TS_PACKETS_FOR_FRAME_DETECTOR / 2) |
Definition at line 28 of file remux.c.
Referenced by cTsPayload::Statistics().
| #define WRN_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION (MAX_TS_PACKETS_FOR_VIDEO_FRAME_DETECTION / 2) |
Definition at line 27 of file remux.c.
Referenced by cTsPayload::Statistics().
| ePesHeader AnalyzePesHeader | ( | const uchar * | Data, |
| int | Count, | ||
| int & | PesPayloadOffset, | ||
| bool * | ContinuationHeader ) |
Definition at line 32 of file remux.c.
References AnalyzePesHeader(), PesPayloadOffset(), phInvalid, phMPEG1, phMPEG2, and phNeedMoreData.
Referenced by AnalyzePesHeader(), and cRemux::SetBrokenLink().
| void BlockDump | ( | const char * | Name, |
| const u_char * | Data, | ||
| int | Length ) |
|
static |
Definition at line 2227 of file remux.c.
References CmpUint32().
Referenced by cFrameDetector::Analyze(), and CmpUint32().
|
inlinestatic |
Definition at line 2043 of file remux.c.
References ComparePts(), and PtsDiff().
Referenced by ComparePts(), and cPtsChecker::Process().
| void PesDump | ( | const char * | Name, |
| const u_char * | Data, | ||
| int | Length ) |
| void PesSetDts | ( | uchar * | p, |
| int64_t | Dts ) |
Definition at line 227 of file remux.c.
References PesSetDts().
Referenced by PesSetDts(), and TsSetDts().
| void PesSetPts | ( | uchar * | p, |
| int64_t | Pts ) |
Definition at line 218 of file remux.c.
References PesSetPts().
Referenced by PesSetPts(), and TsSetPts().
| int64_t PtsDiff | ( | int64_t | Pts1, |
| int64_t | Pts2 ) |
Returns the difference between two PTS values.
The result of Pts2 - Pts1 is the actual number of 90kHz time ticks that pass from Pts1 to Pts2, properly taking into account the 33bit wrap around. If Pts2 is "before" Pts1, the result is negative.
Definition at line 236 of file remux.c.
References MAX33BIT, and PtsDiff().
Referenced by cDvbPlayer::Action(), ComparePts(), cCuttingThread::FixFrame(), cRecorder::GetLastPts(), cCuttingThread::GetPendingPackets(), cPtsChecker::Process(), and PtsDiff().
| void TsDump | ( | const char * | Name, |
| const u_char * | Data, | ||
| int | Length ) |
| int64_t TsGetDts | ( | const uchar * | p, |
| int | l ) |
Definition at line 175 of file remux.c.
References PesGetDts(), PesHasDts(), TS_SIZE, TsGetDts(), TsGetPayload(), and TsPayloadStart().
Referenced by cCuttingThread::FixFrame(), and TsGetDts().
| int64_t TsGetPts | ( | const uchar * | p, |
| int | l, | ||
| int | Pid ) |
Definition at line 160 of file remux.c.
References PesGetPts(), PesHasPts(), TS_SIZE, TsGetPayload(), TsGetPts(), TsPayloadStart(), and TsPid().
Referenced by cDvbPlayer::Action(), cFrameDetector::Analyze(), cFrameChecker::Check(), cCuttingThread::FixFrame(), cRecorder::GetLastPts(), cCuttingThread::GetPendingPackets(), cDvbPlayer::Goto(), and TsGetPts().
| void TsHidePayload | ( | uchar * | p | ) |
Definition at line 121 of file remux.c.
References TS_ADAPT_FIELD_EXISTS, TS_PAYLOAD_EXISTS, TS_PAYLOAD_START, TS_SIZE, and TsHidePayload().
Referenced by cCuttingThread::FixFrame(), and TsHidePayload().
| void TsSetDts | ( | uchar * | p, |
| int | l, | ||
| int64_t | Dts ) |
Definition at line 202 of file remux.c.
References PesHasDts(), PesSetDts(), TS_SIZE, TsGetPayload(), TsPayloadStart(), and TsSetDts().
Referenced by cCuttingThread::FixFrame(), and TsSetDts().
| void TsSetPcr | ( | uchar * | p, |
| int64_t | Pcr ) |
Definition at line 131 of file remux.c.
References PCRFACTOR, TS_ADAPT_PCR, TsHasAdaptationField(), and TsSetPcr().
Referenced by cCuttingThread::FixFrame(), and TsSetPcr().
| void TsSetPts | ( | uchar * | p, |
| int | l, | ||
| int64_t | Pts ) |
Definition at line 188 of file remux.c.
References PesHasPts(), PesSetPts(), TS_SIZE, TsGetPayload(), TsPayloadStart(), and TsSetPts().
Referenced by cCuttingThread::FixFrame(), and TsSetPts().
| int TsSync | ( | const uchar * | Data, |
| int | Length, | ||
| const char * | File, | ||
| const char * | Function, | ||
| int | Line ) |
| const char* AspectRatioTexts[] |
Definition at line 2190 of file remux.c.
Referenced by cRecordingInfo::AspectRatioText(), cMpeg2Parser::Parse(), cH264Parser::ParseSequenceParameterSet(), cH265Parser::ParseSequenceParameterSet(), cRecordingInfo::Read(), and cRecordingInfo::Write().
|
static |
Definition at line 1957 of file remux.c.
Referenced by cTsChecker::Report().
| const char* ScanTypeChars = "-pi" |
Definition at line 2189 of file remux.c.
Referenced by cMpeg2Parser::Parse(), cH264Parser::ParseSequenceParameterSet(), cH265Parser::ParseSequenceParameterSet(), cRecordingInfo::Read(), cRecordingInfo::ScanTypeChar(), and cRecordingInfo::Write().