MythTV  master
Classes | Macros | Enumerations
mpegtables.h File Reference
#include <cassert>
#include "mpegdescriptors.h"
#include "pespacket.h"
#include "mythtvexp.h"
#include "mythmiscutil.h"
Include dependency graph for mpegtables.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  PESStreamID
 Contains a listing of PES Stream ID's for various PES Packet types. More...
 
class  StreamID
 Contains listing of PMT Stream ID's for various A/V Stream types. More...
 
class  TableID
 Contains listing of Table ID's for various tables (PAT=0,PMT=2,etc). More...
 
class  PSIPTable
 A PSIP table is a variant of a PES packet containing an MPEG, ATSC or DVB table. More...
 
class  ProgramAssociationTable
 The Program Association Table lists all the programs in a stream, and is always found on PID 0. More...
 
class  ProgramMapTable
 A PMT table maps a program described in the ProgramAssociationTable to various PID's which describe the multimedia contents of the program. More...
 
class  ConditionalAccessTable
 The CAT is used to transmit additional ConditionalAccessDescriptor instances, in addition to the ones in the PMTs. More...
 
class  SpliceTimeView
 
class  SpliceScheduleView
 
class  SpliceInsertView
 
class  SpliceInformationTable
 
class  AdaptationFieldControl
 AdaptationFieldControl is used to transmit various important stream attributes. More...
 

Macros

#define GPS_EPOCH   315964800
 Seconds between start of GPS time and the start of UNIX time. More...
 
#define GPS_LEAP_SECONDS   16
 Leap seconds as of June 30th, 2012. More...
 

Enumerations

enum  {
  MPEG_PAT_PID = 0x0000, MPEG_CAT_PID = 0x0001, MPEG_TSDT_PID = 0x0002, DVB_NIT_PID = 0x0010,
  DVB_SDT_PID = 0x0011, DVB_EIT_PID = 0x0012, DVB_RST_PID = 0x0013, DVB_TDT_PID = 0x0014,
  DVB_DNLONG_EIT_PID = 0x0300, DVB_BVLONG_EIT_PID = 0x0441, PREMIERE_EIT_DIREKT_PID = 0x0b11, PREMIERE_EIT_SPORT_PID = 0x0b12,
  ATSC_PSIP_PID = 0x1ffb, SCTE_PSIP_PID = 0x1ffc, FREESAT_SI_PID = 0x0f01, FREESAT_EIT_PID = 0x0f02,
  FREESAT_ST_EIT_PID = 0x0f03, MPEG_NULL_PID = 0x1fff
}
 

Detailed Description

special ATSC restrictions on PMT,PAT tables
max 400ms,100ms between PMTs,PATs, resp.
no adaptation headers in PMT,PAT or PSIP packets
(?unless version number is discontinuous?)
PES Payload must not be scrambled (1999 Sarnoff)
No Clock in PES, no MPEG-1 System Fields, no CRC or priv. data
no more than one frame per PES packet
program 0 is network information table in DVB streams

Definition in file mpegtables.h.

Macro Definition Documentation

◆ GPS_EPOCH

#define GPS_EPOCH   315964800

Seconds between start of GPS time and the start of UNIX time.

i.e. from Jan 1st, 1970 UTC to Jan 6th, 1980 UTC

Definition at line 28 of file mpegtables.h.

◆ GPS_LEAP_SECONDS

#define GPS_LEAP_SECONDS   16

Leap seconds as of June 30th, 2012.

Definition at line 31 of file mpegtables.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MPEG_PAT_PID 
MPEG_CAT_PID 
MPEG_TSDT_PID 
DVB_NIT_PID 
DVB_SDT_PID 
DVB_EIT_PID 
DVB_RST_PID 
DVB_TDT_PID 
DVB_DNLONG_EIT_PID 
DVB_BVLONG_EIT_PID 
PREMIERE_EIT_DIREKT_PID 
PREMIERE_EIT_SPORT_PID 
ATSC_PSIP_PID 
SCTE_PSIP_PID 
FREESAT_SI_PID 
FREESAT_EIT_PID 
FREESAT_ST_EIT_PID 
MPEG_NULL_PID 

The all-ones PID value 0x1FFF indicates a Null TS Packet introduced to maintain a constant bit rate of a TS Multiplex.

Definition at line 200 of file mpegtables.h.