vdr  1.7.31
Classes | Macros | Enumerations | Functions
remux.h File Reference
#include "channels.h"
#include "tools.h"

Go to the source code of this file.

Classes

class  cRemux
class  cPatPmtGenerator
class  cPatPmtParser
class  cTsToPes
class  cFrameDetector

Macros

#define TS_SYNC_BYTE   0x47
#define TS_SIZE   188
#define TS_ERROR   0x80
#define TS_PAYLOAD_START   0x40
#define TS_TRANSPORT_PRIORITY   0x20
#define TS_PID_MASK_HI   0x1F
#define TS_SCRAMBLING_CONTROL   0xC0
#define TS_ADAPT_FIELD_EXISTS   0x20
#define TS_PAYLOAD_EXISTS   0x10
#define TS_CONT_CNT_MASK   0x0F
#define TS_ADAPT_DISCONT   0x80
#define TS_ADAPT_RANDOM_ACC   0x40
#define TS_ADAPT_ELEM_PRIO   0x20
#define TS_ADAPT_PCR   0x10
#define TS_ADAPT_OPCR   0x08
#define TS_ADAPT_SPLICING   0x04
#define TS_ADAPT_TP_PRIVATE   0x02
#define TS_ADAPT_EXTENSION   0x01
#define PATPID   0x0000
#define MAXPID   0x2000
#define MAX_SECTION_SIZE   4096
#define MAX_PMT_TS   (MAX_SECTION_SIZE / TS_SIZE + 1)
#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR   5

Enumerations

enum  ePesHeader {
  phNeedMoreData = -1, phInvalid = 0, phMPEG1 = 1, phMPEG2 = 2,
  phNeedMoreData = -1, phInvalid = 0, phMPEG1 = 1, phMPEG2 = 2
}

Functions

ePesHeader AnalyzePesHeader (const uchar *Data, int Count, int &PesPayloadOffset, bool *ContinuationHeader=NULL)
bool TsHasPayload (const uchar *p)
bool TsHasAdaptationField (const uchar *p)
bool TsPayloadStart (const uchar *p)
bool TsError (const uchar *p)
int TsPid (const uchar *p)
bool TsIsScrambled (const uchar *p)
int TsPayloadOffset (const uchar *p)
int TsGetPayload (const uchar **p)
int TsContinuityCounter (const uchar *p)
int TsGetAdaptationField (const uchar *p)
int64_t TsGetPts (const uchar *p, int l)
void TsSetTeiOnBrokenPackets (uchar *p, int l)
bool PesLongEnough (int Length)
bool PesHasLength (const uchar *p)
int PesLength (const uchar *p)
int PesPayloadOffset (const uchar *p)
bool PesHasPts (const uchar *p)
int64_t PesGetPts (const uchar *p)
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)

Macro Definition Documentation

#define MAX_PMT_TS   (MAX_SECTION_SIZE / TS_SIZE + 1)

Definition at line 157 of file remux.h.

#define MAX_SECTION_SIZE   4096

Definition at line 156 of file remux.h.

#define MAXPID   0x2000

Definition at line 53 of file remux.h.

#define MIN_TS_PACKETS_FOR_FRAME_DETECTOR   5

Definition at line 348 of file remux.h.

#define PATPID   0x0000

Definition at line 52 of file remux.h.

#define TS_ADAPT_DISCONT   0x80

Definition at line 43 of file remux.h.

#define TS_ADAPT_ELEM_PRIO   0x20

Definition at line 45 of file remux.h.

#define TS_ADAPT_EXTENSION   0x01

Definition at line 50 of file remux.h.

#define TS_ADAPT_FIELD_EXISTS   0x20

Definition at line 40 of file remux.h.

Referenced by TsHasAdaptationField().

#define TS_ADAPT_OPCR   0x08

Definition at line 47 of file remux.h.

#define TS_ADAPT_PCR   0x10

Definition at line 46 of file remux.h.

#define TS_ADAPT_RANDOM_ACC   0x40

Definition at line 44 of file remux.h.

#define TS_ADAPT_SPLICING   0x04

Definition at line 48 of file remux.h.

#define TS_ADAPT_TP_PRIVATE   0x02

Definition at line 49 of file remux.h.

#define TS_CONT_CNT_MASK   0x0F

Definition at line 42 of file remux.h.

Referenced by TsContinuityCounter().

#define TS_ERROR   0x80

Definition at line 35 of file remux.h.

Referenced by TsError().

#define TS_PAYLOAD_EXISTS   0x10

Definition at line 41 of file remux.h.

Referenced by TsHasPayload().

#define TS_PAYLOAD_START   0x40

Definition at line 36 of file remux.h.

Referenced by TsPayloadStart().

#define TS_PID_MASK_HI   0x1F

Definition at line 38 of file remux.h.

Referenced by TsPid().

#define TS_SCRAMBLING_CONTROL   0xC0

Definition at line 39 of file remux.h.

Referenced by TsIsScrambled().

#define TS_SIZE   188

Definition at line 34 of file remux.h.

Referenced by TsGetPayload(), and TsPayloadOffset().

#define TS_SYNC_BYTE   0x47

Definition at line 33 of file remux.h.

#define TS_TRANSPORT_PRIORITY   0x20

Definition at line 37 of file remux.h.

Enumeration Type Documentation

enum ePesHeader
Enumerator:
phNeedMoreData 
phInvalid 
phMPEG1 
phMPEG2 
phNeedMoreData 
phInvalid 
phMPEG1 
phMPEG2 

Definition at line 16 of file remux.h.

Function Documentation

ePesHeader AnalyzePesHeader ( const uchar Data,
int  Count,
int &  PesPayloadOffset,
bool *  ContinuationHeader = NULL 
)

Definition at line 26 of file remux.c.

References phInvalid, phMPEG1, phMPEG2, and phNeedMoreData.

void BlockDump ( const char *  Name,
const u_char *  Data,
int  Length 
)

Definition at line 834 of file remux.c.

void PesDump ( const char *  Name,
const u_char *  Data,
int  Length 
)

Definition at line 860 of file remux.c.

References TsDump().

int64_t PesGetPts ( const uchar p)
inline

Definition at line 145 of file remux.h.

bool PesHasLength ( const uchar p)
inline

Definition at line 125 of file remux.h.

bool PesHasPts ( const uchar p)
inline

Definition at line 140 of file remux.h.

int PesLength ( const uchar p)
inline

Definition at line 130 of file remux.h.

bool PesLongEnough ( int  Length)
inline

Definition at line 120 of file remux.h.

int PesPayloadOffset ( const uchar p)
inline

Definition at line 135 of file remux.h.

int TsContinuityCounter ( const uchar p)
inline

Definition at line 101 of file remux.h.

References TS_CONT_CNT_MASK.

void TsDump ( const char *  Name,
const u_char *  Data,
int  Length 
)

Definition at line 845 of file remux.c.

References max(), and min().

bool TsError ( const uchar p)
inline

Definition at line 70 of file remux.h.

References TS_ERROR.

int TsGetAdaptationField ( const uchar p)
inline

Definition at line 106 of file remux.h.

References TsHasAdaptationField().

int TsGetPayload ( const uchar **  p)
inline

Definition at line 91 of file remux.h.

References TS_SIZE, TsHasPayload(), and TsPayloadOffset().

int64_t TsGetPts ( const uchar p,
int  l 
)

Definition at line 115 of file remux.c.

References PesGetPts(), PesHasPts(), TS_SIZE, TsGetPayload(), and TsPayloadStart().

bool TsHasAdaptationField ( const uchar p)
inline

Definition at line 60 of file remux.h.

References TS_ADAPT_FIELD_EXISTS.

bool TsHasPayload ( const uchar p)
inline

Definition at line 55 of file remux.h.

References TS_PAYLOAD_EXISTS.

bool TsIsScrambled ( const uchar p)
inline

Definition at line 80 of file remux.h.

References TS_SCRAMBLING_CONTROL.

int TsPayloadOffset ( const uchar p)
inline

Definition at line 85 of file remux.h.

References TS_SIZE, and TsHasAdaptationField().

bool TsPayloadStart ( const uchar p)
inline

Definition at line 65 of file remux.h.

References TS_PAYLOAD_START.

int TsPid ( const uchar p)
inline

Definition at line 75 of file remux.h.

References TS_PID_MASK_HI.

void TsSetTeiOnBrokenPackets ( uchar p,
int  l 
)