TSDuck Version 3.16-1064 (TSDuck - The MPEG Transport Stream Toolkit)
tsMPEG.h File Reference

Common definition for MPEG level. More...

Namespaces

 ts
 TSDuck namespace, containing all TSDuck classes and functions.
 

Typedefs

typedef uint32_t ts::BitRate
 Bitrate in bits/second.
 
typedef uint8_t ts::DID
 Descriptor identifier.
 
typedef uint64_t ts::PacketCounter
 Number of Transport Stream packets. More...
 
typedef uint32_t ts::PDS
 Private data specifier.
 
typedef uint16_t ts::PID
 PID value.
 
typedef std::bitset< PID_MAX > ts::PIDSet
 A bit mask for PID values. More...
 
typedef uint64_t ts::SectionCounter
 Number of sections.
 
typedef uint8_t ts::TID
 Table identifier.
 

Enumerations

enum  {
  ts::CHROMA_MONO = 0,
  ts::CHROMA_420 = 1,
  ts::CHROMA_422 = 2,
  ts::CHROMA_444 = 3
}
 Chroma format values (in MPEG-1/2 video sequence header). More...
 
enum  {
  ts::AVC_AUT_NON_IDR = 1,
  ts::AVC_AUT_SLICE_A = 2,
  ts::AVC_AUT_SLICE_B = 3,
  ts::AVC_AUT_SLICE_C = 4,
  ts::AVC_AUT_IDR = 5,
  ts::AVC_AUT_SEI = 6,
  ts::AVC_AUT_SEQPARAMS = 7,
  ts::AVC_AUT_PICPARAMS = 8,
  ts::AVC_AUT_DELIMITER = 9,
  ts::AVC_AUT_END_SEQUENCE = 10,
  ts::AVC_AUT_END_STREAM = 11,
  ts::AVC_AUT_FILLER = 12,
  ts::AVC_AUT_SEQPARAMSEXT = 13,
  ts::AVC_AUT_PREFIX = 14,
  ts::AVC_AUT_SUBSETPARAMS = 15,
  ts::AVC_AUT_SLICE_NOPART = 19,
  ts::AVC_AUT_SLICE_SCALE = 20
}
 AVC access unit types. More...
 
enum  {
  ts::AVC_SEI_BUF_PERIOD = 0,
  ts::AVC_SEI_PIC_TIMING = 1,
  ts::AVC_SEI_PAN_SCAN_RECT = 2,
  ts::AVC_SEI_FILLER_PAYLOAD = 3,
  ts::AVC_SEI_USER_DATA_REG = 4,
  ts::AVC_SEI_USER_DATA_UNREG = 5,
  ts::AVC_SEI_RECOVERY_POINT = 6,
  ts::AVC_SEI_DEC_REF_PIC_MAR_REP = 7,
  ts::AVC_SEI_SPARE_PIC = 8,
  ts::AVC_SEI_SCENE_INFO = 9,
  ts::AVC_SEI_SUB_SEQ_INFO = 10,
  ts::AVC_SEI_SUB_SEQ_LAYER_CHARS = 11,
  ts::AVC_SEI_SUB_SEQ_CHARS = 12,
  ts::AVC_SEI_FFRAME_FREEZE = 13,
  ts::AVC_SEI_FFRAME_FREEZE_RELEASE = 14,
  ts::AVC_SEI_FFRAME_SNAPSHOT = 15,
  ts::AVC_SEI_PROG_REF_SEG_START = 16,
  ts::AVC_SEI_PROG_REF_SEG_END = 17,
  ts::AVC_SEI_MOTION_CSLICE_GROUP_SET = 18,
  ts::AVC_SEI_FILM_GRAIN_CHARS = 19,
  ts::AVC_SEI_DEBLOCK_FILTER_DISP_PREF = 20,
  ts::AVC_SEI_STEREO_VIDEO_INFO = 21,
  ts::AVC_SEI_POST_FILTER_HINT = 22,
  ts::AVC_SEI_TONE_MAPPING_INFO = 23,
  ts::AVC_SEI_SCALABILITY_INFO = 24,
  ts::AVC_SEI_SUB_PIC_SCALABLE_LAYER = 25,
  ts::AVC_SEI_NON_REQUIRED_LAYER_REP = 26,
  ts::AVC_SEI_PRIORITY_LAYER_INFO = 27,
  ts::AVC_SEI_LAYERS_NOT_PRESENT = 28,
  ts::AVC_SEI_LAYER_DEP_CHANGE = 29,
  ts::AVC_SEI_SCALABLE_NESTING = 30,
  ts::AVC_SEI_BASE_LAYER_TEMPORAL_HRD = 31,
  ts::AVC_SEI_QUALITY_LAYER_INTEG_CHECK = 32,
  ts::AVC_SEI_REDUNDANT_PIC_PROPERTY = 33,
  ts::AVC_SEI_TL0_PICTURE_INDEX = 34,
  ts::AVC_SEI_TL_SWITCHING_POINT = 35
}
 AVC SEI types. More...
 
enum  : uint8_t {
  ts::ST_NULL = 0x00,
  ts::ST_MPEG1_VIDEO = 0x01,
  ts::ST_MPEG2_VIDEO = 0x02,
  ts::ST_MPEG1_AUDIO = 0x03,
  ts::ST_MPEG2_AUDIO = 0x04,
  ts::ST_PRIV_SECT = 0x05,
  ts::ST_PES_PRIV = 0x06,
  ts::ST_MHEG = 0x07,
  ts::ST_DSMCC = 0x08,
  ts::ST_MPEG2_ATM = 0x09,
  ts::ST_DSMCC_MPE = 0x0A,
  ts::ST_DSMCC_UN = 0x0B,
  ts::ST_DSMCC_SD = 0x0C,
  ts::ST_DSMCC_SECT = 0x0D,
  ts::ST_MPEG2_AUX = 0x0E,
  ts::ST_AAC_AUDIO = 0x0F,
  ts::ST_MPEG4_VIDEO = 0x10,
  ts::ST_MPEG4_AUDIO = 0x11,
  ts::ST_MPEG4_PES = 0x12,
  ts::ST_MPEG4_SECT = 0x13,
  ts::ST_DSMCC_DLOAD = 0x14,
  ts::ST_MDATA_PES = 0x15,
  ts::ST_MDATA_SECT = 0x16,
  ts::ST_MDATA_DC = 0x17,
  ts::ST_MDATA_OC = 0x18,
  ts::ST_MDATA_DLOAD = 0x19,
  ts::ST_MPEG2_IPMP = 0x1A,
  ts::ST_AVC_VIDEO = 0x1B,
  ts::ST_HEVC_VIDEO = 0x24,
  ts::ST_HEVC_SUBVIDEO = 0x25,
  ts::ST_IPMP = 0x7F,
  ts::ST_AC3_AUDIO = 0x81,
  ts::ST_SCTE35_SPLICE = 0x86,
  ts::ST_EAC3_AUDIO = 0x87
}
 Stream type values, as used in the PMT. More...
 
enum  : TID {
  ts::TID_PAT = 0x00,
  ts::TID_CAT = 0x01,
  ts::TID_PMT = 0x02,
  ts::TID_TSDT = 0x03,
  ts::TID_MP4SDT = 0x04,
  ts::TID_MP4ODT = 0x05,
  ts::TID_MDT = 0x06,
  ts::TID_DSMCC_MPE = 0x3A,
  ts::TID_DSMCC_UNM = 0x3B,
  ts::TID_DSMCC_DDM = 0x3C,
  ts::TID_DSMCC_SD = 0x3D,
  ts::TID_DSMCC_PD = 0x3E,
  ts::TID_NULL = 0xFF,
  ts::TID_NIT_ACT = 0x40,
  ts::TID_NIT_OTH = 0x41,
  ts::TID_SDT_ACT = 0x42,
  ts::TID_SDT_OTH = 0x46,
  ts::TID_BAT = 0x4A,
  ts::TID_UNT = 0x4B,
  ts::TID_INT = 0x4C,
  ts::TID_EIT_PF_ACT = 0x4E,
  ts::TID_EIT_PF_OTH = 0x4F,
  ts::TID_EIT_S_ACT_MIN = 0x50,
  ts::TID_EIT_S_ACT_MAX = 0x5F,
  ts::TID_EIT_S_OTH_MIN = 0x60,
  ts::TID_EIT_S_OTH_MAX = 0x6F,
  ts::TID_TDT = 0x70,
  ts::TID_RST = 0x71,
  ts::TID_ST = 0x72,
  ts::TID_TOT = 0x73,
  ts::TID_AIT = 0x74,
  ts::TID_CT = 0x75,
  ts::TID_RCT = 0x76,
  ts::TID_CIT = 0x77,
  ts::TID_MPE_FEC = 0x78,
  ts::TID_RNT = 0x79,
  ts::TID_MPE_IFEC = 0x7A,
  ts::TID_DIT = 0x7E,
  ts::TID_SIT = 0x7F,
  ts::TID_ECM_80 = 0x80,
  ts::TID_ECM_81 = 0x81,
  ts::TID_EMM_FIRST = 0x82,
  ts::TID_EMM_LAST = 0x8F,
  ts::TID_EIT_MIN = 0x4E,
  ts::TID_EIT_MAX = 0x6F,
  ts::TID_CAS_FIRST = 0x80,
  ts::TID_CAS_LAST = 0x8F,
  ts::TID_SA_CECM_82 = 0x82,
  ts::TID_SA_CECM_83 = 0x83,
  ts::TID_SA_EMM_STB_U = 0x84,
  ts::TID_SA_EMM_STB_G = 0x85,
  ts::TID_SA_EMM_A = 0x86,
  ts::TID_SA_EMM_U = 0x87,
  ts::TID_SA_EMM_S = 0x88,
  ts::TID_SA_EMM_CAM_G = 0x89,
  ts::TID_SA_RECM_8A = 0x8A,
  ts::TID_SA_RECM_8B = 0x8B,
  ts::TID_SA_EMM_T = 0x8F,
  ts::TID_LW_DMT = 0x90,
  ts::TID_LW_BDT = 0x91,
  ts::TID_LW_VIT = 0x92,
  ts::TID_LW_VCT = 0x93,
  ts::TID_VIA_EMM_FT_E = 0x86,
  ts::TID_VIA_EMM_FT_O = 0x87,
  ts::TID_VIA_EMM_U = 0x88,
  ts::TID_VIA_EMM_GA_E = 0x8A,
  ts::TID_VIA_EMM_GA_O = 0x8B,
  ts::TID_VIA_EMM_GH_E = 0x8C,
  ts::TID_VIA_EMM_GH_O = 0x8D,
  ts::TID_VIA_EMM_S = 0x8E,
  ts::TID_MG_EMM_U = 0x82,
  ts::TID_MG_EMM_A = 0x83,
  ts::TID_MG_EMM_G = 0x84,
  ts::TID_MG_EMM_I = 0x85,
  ts::TID_MG_EMM_C = 0x86,
  ts::TID_MG_EMM_CG = 0x89,
  ts::TID_SCTE35_SIT = 0xFC
}
 Table identification (TID) values. More...
 
enum  {
  ts::PDS_NAGRA = 0x00000009,
  ts::PDS_NAGRA_2 = 0x0000000A,
  ts::PDS_NAGRA_3 = 0x0000000B,
  ts::PDS_NAGRA_4 = 0x0000000C,
  ts::PDS_NAGRA_5 = 0x0000000D,
  ts::PDS_TPS = 0x00000010,
  ts::PDS_EACEM = 0x00000028,
  ts::PDS_EICTA = PDS_EACEM,
  ts::PDS_LOGIWAYS = 0x000000A2,
  ts::PDS_CANALPLUS = 0x000000C0,
  ts::PDS_EUTELSAT = 0x0000055F,
  ts::PDS_NULL = 0xFFFFFFFF
}
 Private data specifier (PDS) values. More...
 
enum  : DID {
  ts::DID_VIDEO = 0x02,
  ts::DID_AUDIO = 0x03,
  ts::DID_HIERARCHY = 0x04,
  ts::DID_REGISTRATION = 0x05,
  ts::DID_DATA_ALIGN = 0x06,
  ts::DID_TGT_BG_GRID = 0x07,
  ts::DID_VIDEO_WIN = 0x08,
  ts::DID_CA = 0x09,
  ts::DID_LANGUAGE = 0x0A,
  ts::DID_SYS_CLOCK = 0x0B,
  ts::DID_MUX_BUF_USE = 0x0C,
  ts::DID_COPYRIGHT = 0x0D,
  ts::DID_MAX_BITRATE = 0x0E,
  ts::DID_PRIV_DATA_IND = 0x0F,
  ts::DID_SMOOTH_BUF = 0x10,
  ts::DID_STD = 0x11,
  ts::DID_IBP = 0x12,
  ts::DID_CAROUSEL_IDENTIFIER = 0x13,
  ts::DID_ASSOCIATION_TAG = 0x14,
  ts::DID_DEFERRED_ASSOC_TAGS = 0x15,
  ts::DID_NPT_REFERENCE = 0x17,
  ts::DID_NPT_ENDPOINT = 0x18,
  ts::DID_STREAM_MODE = 0x19,
  ts::DID_STREAM_EVENT = 0x1A,
  ts::DID_MPEG4_VIDEO = 0x1B,
  ts::DID_MPEG4_AUDIO = 0x1C,
  ts::DID_IOD = 0x1D,
  ts::DID_SL = 0x1E,
  ts::DID_FMC = 0x1F,
  ts::DID_EXT_ES_ID = 0x20,
  ts::DID_MUXCODE = 0x21,
  ts::DID_FMX_BUFFER_SIZE = 0x22,
  ts::DID_MUX_BUFFER = 0x23,
  ts::DID_CONTENT_LABELING = 0x24,
  ts::DID_METADATA_ASSOC = 0x25,
  ts::DID_METADATA = 0x26,
  ts::DID_METADATA_STD = 0x27,
  ts::DID_AVC_VIDEO = 0x28,
  ts::DID_MPEG2_IPMP = 0x29,
  ts::DID_AVC_TIMING_HRD = 0x2A,
  ts::DID_MPEG2_AAC_AUDIO = 0x2B,
  ts::DID_FLEX_MUX_TIMING = 0x2C,
  ts::DID_MPEG4_TEXT = 0x2D,
  ts::DID_MPEG4_AUDIO_EXT = 0x2E,
  ts::DID_AUX_VIDEO = 0x2F,
  ts::DID_SVC_EXT = 0x30,
  ts::DID_MVC_EXT = 0x31,
  ts::DID_J2K_VIDEO = 0x32,
  ts::DID_MVC_OPER_POINT = 0x33,
  ts::DID_STEREO_VIDEO_FORMAT = 0x34,
  ts::DID_STEREO_PROG_INFO = 0x35,
  ts::DID_STEREO_VIDEO_INFO = 0x36,
  ts::DID_TRANSPORT_PROFILE = 0x37,
  ts::DID_HEVC_VIDEO = 0x38,
  ts::DID_MPEG_EXTENSION = 0x3F,
  ts::DID_NETWORK_NAME = 0x40,
  ts::DID_SERVICE_LIST = 0x41,
  ts::DID_STUFFING = 0x42,
  ts::DID_SAT_DELIVERY = 0x43,
  ts::DID_CABLE_DELIVERY = 0x44,
  ts::DID_VBI_DATA = 0x45,
  ts::DID_VBI_TELETEXT = 0x46,
  ts::DID_BOUQUET_NAME = 0x47,
  ts::DID_SERVICE = 0x48,
  ts::DID_COUNTRY_AVAIL = 0x49,
  ts::DID_LINKAGE = 0x4A,
  ts::DID_NVOD_REFERENCE = 0x4B,
  ts::DID_TIME_SHIFT_SERVICE = 0x4C,
  ts::DID_SHORT_EVENT = 0x4D,
  ts::DID_EXTENDED_EVENT = 0x4E,
  ts::DID_TIME_SHIFT_EVENT = 0x4F,
  ts::DID_COMPONENT = 0x50,
  ts::DID_MOSAIC = 0x51,
  ts::DID_STREAM_ID = 0x52,
  ts::DID_CA_ID = 0x53,
  ts::DID_CONTENT = 0x54,
  ts::DID_PARENTAL_RATING = 0x55,
  ts::DID_TELETEXT = 0x56,
  ts::DID_TELEPHONE = 0x57,
  ts::DID_LOCAL_TIME_OFFSET = 0x58,
  ts::DID_SUBTITLING = 0x59,
  ts::DID_TERREST_DELIVERY = 0x5A,
  ts::DID_MLINGUAL_NETWORK = 0x5B,
  ts::DID_MLINGUAL_BOUQUET = 0x5C,
  ts::DID_MLINGUAL_SERVICE = 0x5D,
  ts::DID_MLINGUAL_COMPONENT = 0x5E,
  ts::DID_PRIV_DATA_SPECIF = 0x5F,
  ts::DID_SERVICE_MOVE = 0x60,
  ts::DID_SHORT_SMOOTH_BUF = 0x61,
  ts::DID_FREQUENCY_LIST = 0x62,
  ts::DID_PARTIAL_TS = 0x63,
  ts::DID_DATA_BROADCAST = 0x64,
  ts::DID_SCRAMBLING = 0x65,
  ts::DID_DATA_BROADCAST_ID = 0x66,
  ts::DID_TRANSPORT_STREAM = 0x67,
  ts::DID_DSNG = 0x68,
  ts::DID_PDC = 0x69,
  ts::DID_AC3 = 0x6A,
  ts::DID_ANCILLARY_DATA = 0x6B,
  ts::DID_CELL_LIST = 0x6C,
  ts::DID_CELL_FREQ_LINK = 0x6D,
  ts::DID_ANNOUNCE_SUPPORT = 0x6E,
  ts::DID_APPLI_SIGNALLING = 0x6F,
  ts::DID_ADAPTFIELD_DATA = 0x70,
  ts::DID_SERVICE_ID = 0x71,
  ts::DID_SERVICE_AVAIL = 0x72,
  ts::DID_DEFAULT_AUTHORITY = 0x73,
  ts::DID_RELATED_CONTENT = 0x74,
  ts::DID_TVA_ID = 0x75,
  ts::DID_CONTENT_ID = 0x76,
  ts::DID_TIME_SLICE_FEC_ID = 0x77,
  ts::DID_ECM_REPETITION_RATE = 0x78,
  ts::DID_S2_SAT_DELIVERY = 0x79,
  ts::DID_ENHANCED_AC3 = 0x7A,
  ts::DID_DTS = 0x7B,
  ts::DID_AAC = 0x7C,
  ts::DID_XAIT_LOCATION = 0x7D,
  ts::DID_FTA_CONTENT_MGMT = 0x7E,
  ts::DID_DVB_EXTENSION = 0x7F,
  ts::DID_AIT_APPLICATION = 0x00,
  ts::DID_AIT_APP_NAME = 0x01,
  ts::DID_AIT_TRANSPORT_PROTO = 0x02,
  ts::DID_AIT_DVBJ_APP = 0x03,
  ts::DID_AIT_DVBJ_APP_LOC = 0x04,
  ts::DID_AIT_EXT_APP_AUTH = 0x05,
  ts::DID_AIT_APP_RECORDING = 0x06,
  ts::DID_AIT_HTML_APP = 0x08,
  ts::DID_AIT_HTML_APP_LOC = 0x09,
  ts::DID_AIT_HTML_APP_BOUND = 0x0A,
  ts::DID_AIT_APP_ICONS = 0x0B,
  ts::DID_AIT_PREFETCH = 0x0C,
  ts::DID_AIT_DII_LOCATION = 0x0D,
  ts::DID_AIT_APP_STORAGE = 0x10,
  ts::DID_AIT_IP_SIGNALLING = 0x11,
  ts::DID_AIT_GRAPHICS_CONST = 0x14,
  ts::DID_AIT_APP_LOCATION = 0x15,
  ts::DID_AIT_APP_USAGE = 0x16,
  ts::DID_AIT_APP_BOUNDARY = 0x17,
  ts::DID_INT_SMARTCARD = 0x06,
  ts::DID_INT_MAC_ADDR = 0x07,
  ts::DID_INT_SERIAL_NUM = 0x08,
  ts::DID_INT_IP_ADDR = 0x09,
  ts::DID_INT_IPV6_ADDR = 0x0A,
  ts::DID_INT_PF_NAME = 0x0C,
  ts::DID_INT_PF_PROVIDER = 0x0D,
  ts::DID_INT_MAC_ADDR_RANGE = 0x0E,
  ts::DID_INT_IP_SLASH = 0x0F,
  ts::DID_INT_IP_SRC_SLASH = 0x10,
  ts::DID_INT_IPV6_SLASH = 0x11,
  ts::DID_INT_IPV6_SRC_SLASH = 0x12,
  ts::DID_INT_STREAM_LOC = 0x13,
  ts::DID_INT_ISP_ACCESS = 0x14,
  ts::DID_INT_GEN_STREAM_LOC = 0x15,
  ts::DID_UNT_SCHEDULING = 0x01,
  ts::DID_UNT_UPDATE = 0x02,
  ts::DID_UNT_SSU_LOCATION = 0x03,
  ts::DID_UNT_MESSAGE = 0x04,
  ts::DID_UNT_SSU_EVENT_NAME = 0x05,
  ts::DID_UNT_SMARTCARD = 0x06,
  ts::DID_UNT_MAC_ADDR = 0x07,
  ts::DID_UNT_SERIAL_NUM = 0x08,
  ts::DID_UNT_IP_ADDR = 0x09,
  ts::DID_UNT_IPV6_ADDR = 0x0A,
  ts::DID_UNT_SUBGROUP_ASSOC = 0x0B,
  ts::DID_UNT_ENHANCED_MSG = 0x0C,
  ts::DID_UNT_SSU_URI = 0x0D,
  ts::DID_SPLICE_AVAIL = 0x00,
  ts::DID_SPLICE_DTMF = 0x01,
  ts::DID_SPLICE_SEGMENT = 0x02,
  ts::DID_SPLICE_TIME = 0x03,
  ts::DID_ATSC_STUFFING = 0X80,
  ts::DID_AC3_AUDIO_STREAM = 0x81,
  ts::DID_ATSC_PID = 0x85,
  ts::DID_CAPTION = 0x86,
  ts::DID_CONTENT_ADVIS = 0x87,
  ts::DID_CUE_IDENTIFIER = 0x8A,
  ts::DID_EXT_CHAN_NAME = 0xA0,
  ts::DID_SERV_LOCATION = 0xA1,
  ts::DID_ATSC_TIME_SHIFT = 0xA2,
  ts::DID_COMPONENT_NAME = 0xA3,
  ts::DID_ATSC_DATA_BRDCST = 0xA4,
  ts::DID_PID_COUNT = 0xA5,
  ts::DID_DOWNLOAD = 0xA6,
  ts::DID_MPROTO_ENCAPS = 0xA7,
  ts::DID_LW_SUBSCRIPTION = 0x81,
  ts::DID_LW_SCHEDULE = 0xB0,
  ts::DID_LW_PRIV_COMPONENT = 0xB1,
  ts::DID_LW_PRIV_LINKAGE = 0xB2,
  ts::DID_LW_CHAPTER = 0xB3,
  ts::DID_LW_DRM = 0xB4,
  ts::DID_LW_VIDEO_SIZE = 0xB5,
  ts::DID_LW_EPISODE = 0xB6,
  ts::DID_LW_PRICE = 0xB7,
  ts::DID_LW_ASSET_REFERENCE = 0xB8,
  ts::DID_LW_CONTENT_CODING = 0xB9,
  ts::DID_LW_VOD_COMMAND = 0xBA,
  ts::DID_LW_DELETION_DATE = 0xBB,
  ts::DID_LW_PLAY_LIST = 0xBC,
  ts::DID_LW_PLAY_LIST_ENTRY = 0xBD,
  ts::DID_LW_ORDER_CODE = 0xBE,
  ts::DID_LW_BOUQUET_REFERENCE = 0xBF,
  ts::DID_EUTELSAT_CHAN_NUM = 0x83,
  ts::DID_LOGICAL_CHANNEL_NUM = 0x83,
  ts::DID_PREF_NAME_LIST = 0x84,
  ts::DID_PREF_NAME_ID = 0x85,
  ts::DID_EACEM_STREAM_ID = 0x86,
  ts::DID_HD_SIMULCAST_LCN = 0x88,
  ts::DID_DTG_STREAM_IND = 0x80,
  ts::DID_PIO_OFFSET_TIME = 0X80,
  ts::DID_LOGICAL_CHANNEL_81 = 0x81,
  ts::DID_PRIVATE2 = 0x82,
  ts::DID_LOGICAL_CHANNEL = 0x83,
  ts::DID_PIO_CONTENT = 0x83,
  ts::DID_PIO_LOGO = 0x84,
  ts::DID_ADSL_DELIVERY = 0x85,
  ts::DID_PIO_FEE = 0x86,
  ts::DID_PIO_EVENT_RANGE = 0x88,
  ts::DID_PIO_COPY_MANAGEMENT = 0x8B,
  ts::DID_PIO_COPY_CONTROL = 0x8C,
  ts::DID_PIO_PPV = 0x8E,
  ts::DID_PIO_STB_SERVICE_ID = 0x90,
  ts::DID_PIO_MASKING_SERV_ID = 0x91,
  ts::DID_PIO_STB_SERVMAP_UPD = 0x92,
  ts::DID_NEW_SERVICE_LIST = 0x93,
  ts::DID_MESSAGE_NAGRA = 0x94,
  ts::DID_ITEM_EVENT = 0xA1,
  ts::DID_ITEM_ZAPPING = 0xA2,
  ts::DID_APPLI_MESSAGE = 0xA3,
  ts::DID_LIST = 0xA4,
  ts::DID_KEY_LIST = 0xB0,
  ts::DID_PICTURE_SIGNALLING = 0xB1,
  ts::DID_COUNTER_BB = 0xBB,
  ts::DID_DATA_COMPONENT_BD = 0xBD,
  ts::DID_SYSTEM_MGMT_BE = 0xBE,
  ts::DID_VO_LANGUAGE = 0xC0,
  ts::DID_DATA_LIST = 0xC1,
  ts::DID_APPLI_LIST = 0xC2,
  ts::DID_MESSAGE = 0xC3,
  ts::DID_FILE = 0xC4,
  ts::DID_RADIO_FORMAT = 0xC5,
  ts::DID_APPLI_STARTUP = 0xC6,
  ts::DID_PATCH = 0xC7,
  ts::DID_LOADER = 0xC8,
  ts::DID_CHANNEL_MAP_UPDATE = 0xC9,
  ts::DID_PPV = 0xCA,
  ts::DID_COUNTER_CB = 0xCB,
  ts::DID_OPERATOR_INFO = 0xCC,
  ts::DID_SERVICE_DEF_PARAMS = 0xCD,
  ts::DID_FINGER_PRINTING = 0xCE,
  ts::DID_FINGER_PRINTING_V2 = 0xCF,
  ts::DID_CONCEALED_GEO_ZONES = 0xD0,
  ts::DID_COPY_PROTECTION = 0xD1,
  ts::DID_MG_SUBSCRIPTION = 0xD3,
  ts::DID_CABLE_BACKCH_DELIV = 0xD4,
  ts::DID_INTERACT_SNAPSHOT = 0xD5,
  ts::DID_ICON_POSITION = 0xDC,
  ts::DID_ICON_PIXMAP = 0xDD,
  ts::DID_ZONE_COORDINATE = 0xDE,
  ts::DID_HD_APP_CONTROL_CODE = 0xDF,
  ts::DID_EVENT_REPEAT = 0xE0,
  ts::DID_PPV_V2 = 0xE1,
  ts::DID_HYPERLINK_REF = 0xE2,
  ts::DID_SHORT_SERVICE = 0xE4,
  ts::DID_OPERATOR_TELEPHONE = 0xE5,
  ts::DID_ITEM_REFERENCE = 0xE6,
  ts::DID_MH_PARAMETERS = 0xE9,
  ts::DID_LOGICAL_REFERENCE = 0xED,
  ts::DID_DATA_VERSION = 0xEE,
  ts::DID_SERVICE_GROUP = 0xEF,
  ts::DID_STREAM_LOC_TRANSP = 0xF0,
  ts::DID_DATA_LOCATOR = 0xF1,
  ts::DID_RESIDENT_APP = 0xF2,
  ts::DID_RESIDENT_APP_SIGNAL = 0xF3,
  ts::DID_MH_LOGICAL_REF = 0xF8,
  ts::DID_RECORD_CONTROL = 0xF9,
  ts::DID_CMPS_RECORD_CONTROL = 0xFA,
  ts::DID_EPISODE = 0xFB,
  ts::DID_CMP_SELECTION = 0xFC,
  ts::DID_DATA_COMPONENT_FD = 0xFD,
  ts::DID_SYSTEM_MGMT_FE = 0xFE
}
 Descriptor tag values (descriptor identification, DID) More...
 
enum  : DID {
  ts::MPEG_EDID_OBJ_DESC_UPD = 0x02,
  ts::MPEG_EDID_HEVC_TIM_HRD = 0x03,
  ts::MPEG_EDID_NULL = 0xFF
}
 MPEG extended descriptor tag values (in MPEG extension_descriptor) More...
 
enum  : DID {
  ts::EDID_IMAGE_ICON = 0x00,
  ts::EDID_CPCM_DELIVERY_SIG = 0x01,
  ts::EDID_CP = 0x02,
  ts::EDID_CP_IDENTIFIER = 0x03,
  ts::EDID_T2_DELIVERY = 0x04,
  ts::EDID_SH_DELIVERY = 0x05,
  ts::EDID_SUPPL_AUDIO = 0x06,
  ts::EDID_NETW_CHANGE_NOTIFY = 0x07,
  ts::EDID_MESSAGE = 0x08,
  ts::EDID_TARGET_REGION = 0x09,
  ts::EDID_TARGET_REGION_NAME = 0x0A,
  ts::EDID_SERVICE_RELOCATED = 0x0B,
  ts::EDID_XAIT_PID = 0x0C,
  ts::EDID_C2_DELIVERY = 0x0D,
  ts::EDID_DTS_HD_AUDIO = 0x0E,
  ts::EDID_DTS_NEURAL = 0x0F,
  ts::EDID_VIDEO_DEPTH_RANGE = 0x10,
  ts::EDID_T2MI = 0x11,
  ts::EDID_URI_LINKAGE = 0x13,
  ts::EDID_CI_ANCILLARY_DATA = 0x14,
  ts::EDID_AC4 = 0x15,
  ts::EDID_C2_BUNDLE_DELIVERY = 0x16,
  ts::EDID_NULL = 0xFF
}
 DVB extended descriptor tag values (in DVB extension_descriptor) More...
 
enum  : uint8_t {
  ts::LINKAGE_INFO = 0x01,
  ts::LINKAGE_EPG = 0x02,
  ts::LINKAGE_CA_REPLACE = 0x03,
  ts::LINKAGE_TS_NIT_BAT = 0x04,
  ts::LINKAGE_SERVICE_REPLACE = 0x05,
  ts::LINKAGE_DATA_BROADCAST = 0x06,
  ts::LINKAGE_RCS_MAP = 0x07,
  ts::LINKAGE_HAND_OVER = 0x08,
  ts::LINKAGE_SSU = 0x09,
  ts::LINKAGE_SSU_TABLE = 0x0A,
  ts::LINKAGE_IP_NOTIFY = 0x0B,
  ts::LINKAGE_INT_BAT_NIT = 0x0C,
  ts::LINKAGE_EVENT = 0x0D,
  ts::LINKAGE_EXT_EVENT_MIN = 0x0E,
  ts::LINKAGE_EXT_EVENT_MAX = 0x1F
}
 Linkage type values (in linkage_descriptor) More...
 
enum  : uint8_t {
  ts::RS_UNDEFINED = 0x00,
  ts::RS_NOT_RUNNING = 0x01,
  ts::RS_STARTING = 0x02,
  ts::RS_PAUSING = 0x03,
  ts::RS_RUNNING = 0x04,
  ts::RS_OFF_AIR = 0x05
}
 Running status values (in RST, EIT, etc.) More...
 
enum  : uint8_t {
  ts::SCRAMBLING_DVB_CSA1 = 0x01,
  ts::SCRAMBLING_DVB_CSA2 = 0x02,
  ts::SCRAMBLING_DVB_CSA3_STD = 0x03,
  ts::SCRAMBLING_DVB_CSA3_MIN = 0x04,
  ts::SCRAMBLING_DVB_CSA3_FULL = 0x05,
  ts::SCRAMBLING_DVB_CISSA1 = 0x10,
  ts::SCRAMBLING_ATIS_IIF_IDSA = 0x70
}
 Scrambling mode values (in scrambling_descriptor) More...
 
enum  : uint16_t {
  ts::DBID_DATA_PIPE = 0x0001,
  ts::DBID_ASYNC_DATA_STREAM = 0x0002,
  ts::DBID_SYNC_DATA_STREAM = 0x0003,
  ts::DBID_SYNCED_DATA_STREAM = 0x0004,
  ts::DBID_MPE = 0x0005,
  ts::DBID_DATA_CSL = 0x0006,
  ts::DBID_OBJECT_CSL = 0x0007,
  ts::DBID_ATM = 0x0008,
  ts::DBID_HP_ASYNC_DATA_STREAM = 0x0009,
  ts::DBID_SSU = 0x000A,
  ts::DBID_IPMAC_NOTIFICATION = 0x000B,
  ts::DBID_MHP_OBJECT_CSL = 0x00F0,
  ts::DBID_MHP_MPE = 0x00F1,
  ts::DBID_EUTELSAT_DATA_PIPE = 0x0100,
  ts::DBID_EUTELSAT_DATA_STREAM = 0x0101,
  ts::DBID_SAGEM_IP = 0x0102,
  ts::DBID_BARCO_DATA_BRD = 0x0103,
  ts::DBID_CIBERCITY_MPE = 0x0104,
  ts::DBID_CYBERSAT_MPE = 0x0105,
  ts::DBID_TDN = 0x0106,
  ts::DBID_OPENTV_DATA_CSL = 0x0107,
  ts::DBID_PANASONIC = 0x0108,
  ts::DBID_KABEL_DEUTSCHLAND = 0x0109,
  ts::DBID_TECHNOTREND = 0x010A,
  ts::DBID_MEDIAHIGHWAY_SSU = 0x010B,
  ts::DBID_GUIDE_PLUS = 0x010C,
  ts::DBID_ACAP_OBJECT_CSL = 0x010D,
  ts::DBID_MICRONAS = 0x010E,
  ts::DBID_POLSAT = 0x0110,
  ts::DBID_DTG = 0x0111,
  ts::DBID_SKYMEDIA = 0x0112,
  ts::DBID_INTELLIBYTE = 0x0113,
  ts::DBID_TELEWEB_DATA_CSL = 0x0114,
  ts::DBID_TELEWEB_OBJECT_CSL = 0x0115,
  ts::DBID_TELEWEB = 0x0116,
  ts::DBID_BBC = 0x0117,
  ts::DBID_ELECTRA = 0x0118,
  ts::DBID_BBC_2_3 = 0x011A,
  ts::DBID_TELETEXT = 0x011B,
  ts::DBID_SKY_DOWNLOAD_1_5 = 0x0120,
  ts::DBID_ICO = 0x0121,
  ts::DBID_CIPLUS_DATA_CSL = 0x0122,
  ts::DBID_HBBTV = 0x0123,
  ts::DBID_ROVI_PREMIUM = 0x0124,
  ts::DBID_MEDIA_GUIDE = 0x0125,
  ts::DBID_INVIEW = 0x0126,
  ts::DBID_BOTECH = 0x0130,
  ts::DBID_SCILLA_PUSHVOD_CSL = 0x0131,
  ts::DBID_CANAL_PLUS = 0x0140,
  ts::DBID_OIPF_OBJECT_CSL = 0x0150,
  ts::DBID_4TV = 0x4444,
  ts::DBID_NOKIA_IP_SSU = 0x4E4F,
  ts::DBID_BBG_DATA_CSL = 0xBBB1,
  ts::DBID_BBG_OBJECT_CSL = 0xBBB2,
  ts::DBID_BBG = 0xBBBB
}
 Data broadcast id values (in data_broadcast[_id]_descriptor) More...
 
enum  : uint16_t {
  ts::BID_TVNUMERIC = 0x0086,
  ts::BID_TVNUMERIC_EUTELSAT = 0xC030,
  ts::BID_TVNUMERIC_ASTRA = 0xC031
}
 DVB-assigned Bouquet Identifier values. More...
 
enum  : uint16_t {
  ts::CASID_MEDIAGUARD_MIN = 0x0100,
  ts::CASID_MEDIAGUARD_MAX = 0x01FF,
  ts::CASID_VIACCESS_MIN = 0x0500,
  ts::CASID_VIACCESS_MAX = 0x05FF,
  ts::CASID_NAGRA_MIN = 0x1800,
  ts::CASID_NAGRA_MAX = 0x18FF,
  ts::CASID_THALESCRYPT_MIN = 0x4A80,
  ts::CASID_THALESCRYPT_MAX = 0x4A8F,
  ts::CASID_SAFEACCESS = 0x4ADC
}
 DVB-assigned CA System Identifier values. More...
 
enum  : uint16_t { ts::NID_TNT_FRANCE = 0x20FA }
 DVB-assigned Network Identifier values. More...
 
enum  {
  ts::OUI_DVB = 0x00015A,
  ts::OUI_SKARDIN = 0x001222,
  ts::OUI_LOGIWAYS = 0x002660
}
 IEEE-assigned Organizationally Unique Identifier (OUI) values. More...
 
enum  : uint16_t {
  ts::MHP_PROTO_CAROUSEL = 0x0001,
  ts::MHP_PROTO_MPE = 0x0002,
  ts::MHP_PROTO_HTTP = 0x0003
}
 DVB-MHP transport protocol ids. More...
 
enum  : uint8_t {
  ts::T2MI_BASEBAND_FRAME = 0x00,
  ts::T2MI_AUX_IQ_DATA = 0x01,
  ts::T2MI_ARBITRARY_CELL = 0x02,
  ts::T2MI_L1_CURRENT = 0x10,
  ts::T2MI_L1_FUTURE = 0x11,
  ts::T2MI_P2_BIAS_BALANCING = 0x12,
  ts::T2MI_DVBT2_TIMESTAMP = 0x20,
  ts::T2MI_INDIVIDUAL_ADDRESSING = 0x21,
  ts::T2MI_FEF_NULL = 0x30,
  ts::T2MI_FEF_IQ_DATA = 0x31,
  ts::T2MI_FEF_COMPOSITE = 0x32,
  ts::T2MI_FEF_SUBPART = 0x33,
  ts::T2MI_INVALID_TYPE = 0xFF
}
 T2-MI packet types. More...
 
enum  : uint8_t {
  ts::TELETEXT_DATA_UNIT_ID_NON_SUBTITLE = 0x02,
  ts::TELETEXT_DATA_UNIT_ID_SUBTITLE = 0x03,
  ts::TELETEXT_DATA_UNIT_ID_INVERTED = 0x0C,
  ts::TELETEXT_DATA_UNIT_ID_VPS = 0xC3,
  ts::TELETEXT_DATA_UNIT_ID_CLOSED_CAPTIONS = 0xC5,
  ts::TELETEXT_DATA_UNIT_ID_STUFFING = 0xFF
}
 Teletext data unit ids. More...
 
enum  : uint8_t {
  ts::SC_CLEAR = 0,
  ts::SC_DVB_RESERVED = 1,
  ts::SC_EVEN_KEY = 2,
  ts::SC_ODD_KEY = 3
}
 Scrambling_control values (used in TS and PES packets headers) More...
 
enum  : PID {
  ts::PID_PAT = 0x0000,
  ts::PID_CAT = 0x0001,
  ts::PID_TSDT = 0x0002,
  ts::PID_MPEG_LAST = 0x000F,
  ts::PID_NULL = 0x1FFF,
  ts::PID_NIT = 0x0010,
  ts::PID_SDT = 0x0011,
  ts::PID_BAT = 0x0011,
  ts::PID_EIT = 0x0012,
  ts::PID_RST = 0x0013,
  ts::PID_TDT = 0x0014,
  ts::PID_TOT = 0x0014,
  ts::PID_NETSYNC = 0x0015,
  ts::PID_RNT = 0x0016,
  ts::PID_INBSIGN = 0x001C,
  ts::PID_MEASURE = 0x001D,
  ts::PID_DIT = 0x001E,
  ts::PID_SIT = 0x001F,
  ts::PID_DVB_LAST = 0x001F
}
 Predefined PID values. More...
 
enum  : uint8_t {
  ts::SID_PSMAP = 0xBC,
  ts::SID_PRIV1 = 0xBD,
  ts::SID_PAD = 0xBE,
  ts::SID_PRIV2 = 0xBF,
  ts::SID_AUDIO = 0xC0,
  ts::SID_AUDIO_MASK = 0x1F,
  ts::SID_VIDEO = 0xE0,
  ts::SID_VIDEO_MASK = 0x0F,
  ts::SID_ECM = 0xF0,
  ts::SID_EMM = 0xF1,
  ts::SID_DSMCC = 0xF2,
  ts::SID_ISO13522 = 0xF3,
  ts::SID_H222_1_A = 0xF4,
  ts::SID_H222_1_B = 0xF5,
  ts::SID_H222_1_C = 0xF6,
  ts::SID_H222_1_D = 0xF7,
  ts::SID_H222_1_E = 0xF8,
  ts::SID_ANCILLARY = 0xF9,
  ts::SID_MP4_SLPACK = 0xFA,
  ts::SID_MP4_FLEXM = 0xFB,
  ts::SID_METADATA = 0xFC,
  ts::SID_EXTENDED = 0xFD,
  ts::SID_RESERVED = 0xFE,
  ts::SID_PSDIR = 0xFF
}
 Stream id values, as used in PES header. More...
 
enum  : uint8_t {
  ts::PST_PICTURE = 0x00,
  ts::PST_SLICE_MIN = 0x01,
  ts::PST_SLICE_MAX = 0xAF,
  ts::PST_RESERVED_B0 = 0xB0,
  ts::PST_RESERVED_B1 = 0xB1,
  ts::PST_USER_DATA = 0xB2,
  ts::PST_SEQUENCE_HEADER = 0xB3,
  ts::PST_SEQUENCE_ERROR = 0xB4,
  ts::PST_EXTENSION = 0xB5,
  ts::PST_RESERVED_B6 = 0xB6,
  ts::PST_SEQUENCE_END = 0xB7,
  ts::PST_GROUP = 0xB8,
  ts::PST_SYSTEM_MIN = 0xB9,
  ts::PST_SYSTEM_MAX = 0xFF
}
 PES start code values. More...
 
enum  {
  ts::FPS_23_976 = 0x01,
  ts::FPS_24 = 0x02,
  ts::FPS_25 = 0x03,
  ts::FPS_29_97 = 0x04,
  ts::FPS_30 = 0x05,
  ts::FPS_50 = 0x06,
  ts::FPS_59_94 = 0x07,
  ts::FPS_60 = 0x08
}
 Frame rate values (in MPEG-1/2 video sequence). More...
 
enum  {
  ts::AR_SQUARE = 1,
  ts::AR_4_3 = 2,
  ts::AR_16_9 = 3,
  ts::AR_221 = 4
}
 Aspect ratio values (in MPEG-1/2 video sequence header). More...
 

Functions

bool ts::IsAudioSID (uint8_t sid)
 Check if a stream id value indicates an audio stream. More...
 
bool ts::IsAudioST (uint8_t st)
 Check if an stream type value indicates an audio stream. More...
 
bool ts::IsLongHeaderSID (uint8_t sid)
 Check if a stream id value indicates a PES packet with long header. More...
 
bool ts::IsPES (uint8_t st)
 Check if an stream type value indicates a PES stream. More...
 
bool ts::IsSectionST (uint8_t st)
 Check if an stream type value indicates a stream carrying sections. More...
 
bool ts::IsVideoSID (uint8_t sid)
 Check if a stream id value indicates a video stream. More...
 
bool ts::IsVideoST (uint8_t st)
 Check if an stream type value indicates a video stream. More...
 
BitRate ts::PacketBitRate (PacketCounter packets, MilliSecond duration)
 Compute the bitrate from a number of packets transmitted during a given duration in milliseconds. More...
 
PacketCounter ts::PacketDistance (BitRate bitrate, MilliSecond duration)
 Compute the number of packets transmitted during a given duration in milliseconds. More...
 
MilliSecond ts::PacketInterval (BitRate bitrate, PacketCounter distance=1)
 Compute the interval, in milliseconds, between two packets. More...
 
PacketCounter ts::SectionPacketCount (size_t section_size)
 Compute the minimum number of TS packets required to transport a section. More...
 
bool ts::SequencedPTS (uint64_t pts1, uint64_t pts2)
 Check if two Presentation Time Stamp are in sequence. More...
 
BitRate ts::ToBitrate188 (BitRate bitrate204)
 Convert 204-byte packet bitrate into 188-byte packet bitrate. More...
 
BitRate ts::ToBitrate204 (BitRate bitrate188)
 Convert 188-byte packet bitrate into 204-byte packet bitrate. More...
 
bool ts::WrapUpPCR (uint64_t pcr1, uint64_t pcr2)
 Check if PCR2 follows PCR1 after wrap up. More...
 
bool ts::WrapUpPTS (uint64_t pts1, uint64_t pts2)
 Check if PTS2 follows PTS1 after wrap up. More...
 

Variables

const PIDSet ts::AllPIDs
 PIDSet constant with all PID's set.
 
constexpr size_t ts::AVC_SEI_UUID_SIZE = 16
 Size in bytes of a UUID in AVC SEI's.
 
constexpr size_t ts::CC_BITS = 4
 Size (in bits) of a Continuity Counter (CC) field.
 
constexpr uint8_t ts::CC_MASK = 0x0F
 Mask to wrap a Continuity Counter (CC) value. More...
 
constexpr uint8_t ts::CC_MAX = 1 << CC_BITS
 Maximum value of a Continuity Counter (CC).
 
constexpr uint64_t ts::INVALID_DTS =
 An invalid DTS value, can be used as a marker.
 
constexpr PacketCounter ts::INVALID_PACKET_COUNTER = std::numeric_limits<PacketCounter>::max()
 A impossible value for PacketCounter, meaning "undefined".
 
constexpr uint64_t ts::INVALID_PCR =
 An invalid PCR (Program Clock Reference) value, can be used as a marker.
 
constexpr uint64_t ts::INVALID_PTS =
 An invalid PTS value, can be used as a marker.
 
constexpr size_t ts::LONG_SECTION_HEADER_SIZE = 8
 Header size of a long section.
 
constexpr size_t ts::M2TS_HEADER_SIZE = 4
 Size in bytes of a timestamp preceeding a TS packet in M2TS files (Blu-ray disc).
 
constexpr size_t ts::MACROBLOCK_HEIGHT = 16
 Video macroblock height in pixels. More...
 
constexpr size_t ts::MACROBLOCK_WIDTH = 16
 Video macroblock width in pixels. More...
 
constexpr size_t ts::MAX_DESCRIPTOR_SIZE = 257
 Maximum size of a descriptor (255 + 2-byte header).
 
constexpr size_t ts::MAX_PRIVATE_LONG_SECTION_PAYLOAD_SIZE = MAX_PRIVATE_SECTION_SIZE - LONG_SECTION_HEADER_SIZE - SECTION_CRC32_SIZE
 Maximum size of the payload of a private long section.
 
constexpr size_t ts::MAX_PRIVATE_SECTION_SIZE = 4096
 Maximum size of a private section (including DVB-defined sections).
 
constexpr size_t ts::MAX_PRIVATE_SHORT_SECTION_PAYLOAD_SIZE = MAX_PRIVATE_SECTION_SIZE - SHORT_SECTION_HEADER_SIZE
 Maximum size of the payload of a private short section.
 
constexpr size_t ts::MAX_PSI_LONG_SECTION_PAYLOAD_SIZE = MAX_PSI_SECTION_SIZE - LONG_SECTION_HEADER_SIZE - SECTION_CRC32_SIZE
 Maximum size of the payload of a PSI long section.
 
constexpr size_t ts::MAX_PSI_SECTION_SIZE = 1024
 Maximum size of a PSI section (MPEG-defined).
 
constexpr size_t ts::MAX_PSI_SHORT_SECTION_PAYLOAD_SIZE = MAX_PSI_SECTION_SIZE - SHORT_SECTION_HEADER_SIZE
 Maximum size of the payload of a short section.
 
constexpr size_t ts::MIN_LONG_SECTION_SIZE = LONG_SECTION_HEADER_SIZE + SECTION_CRC32_SIZE
 Minimum size of a long section.
 
constexpr size_t ts::MIN_SHORT_SECTION_SIZE = SHORT_SECTION_HEADER_SIZE
 Minimum size of a short section.
 
constexpr uint32_t ts::MJD_EPOCH = 40587
 Origin of Modified Julian Dates (MJD). More...
 
const PIDSet ts::NoPID
 PIDSet constant with no PID set.
 
constexpr size_t ts::PCR_BIT_SIZE = 42
 Size in bits of a PCR (Program Clock Reference).
 
constexpr uint64_t ts::PCR_MASK =
 Mask for PCR values (wrap up at 2**42).
 
constexpr uint64_t ts::PCR_SCALE =
 Scale factor for PCR values (wrap up at 2**42).
 
constexpr uint32_t ts::PES_START = 0x000001
 PES packet start code prefix (24 bits).
 
constexpr size_t ts::PID_BITS = 13
 Size (in bits) of a PID field.
 
constexpr PID ts::PID_MAX = 1 << PID_BITS
 Maximum number of PID's (8192).
 
constexpr size_t ts::PKT_M2TS_SIZE = M2TS_HEADER_SIZE + PKT_SIZE
 Size in bytes of an TS packet in M2TS files (Blu-ray disc). More...
 
constexpr size_t ts::PKT_RS_SIZE = PKT_SIZE + RS_SIZE
 Size in bytes of a TS packet with trailing Reed-Solomon outer FEC.
 
constexpr size_t ts::PKT_SIZE = 188
 MPEG TS packet size in bytes.
 
constexpr size_t ts::PKT_SIZE_BITS = 8 * PKT_SIZE
 MPEG TS packet size in bits.
 
const Enumeration ts::PrivateDataSpecifierEnum
 Enumeration description of PDS values. More...
 
constexpr size_t ts::PTS_DTS_BIT_SIZE = 33
 Size in bits of a PTS (Presentation Time Stamp) or DTS (Decoding Time Stamp).
 
constexpr uint64_t ts::PTS_DTS_MASK =
 Mask for PTS and DTS values (wrap up at 2**33).
 
constexpr uint64_t ts::PTS_DTS_SCALE =
 Scale factor for PTS and DTS values (wrap up at 2**33).
 
constexpr size_t ts::RS_SIZE = 16
 Size in bytes of a Reed-Solomon outer FEC.
 
constexpr size_t ts::SECTION_CRC32_SIZE = 4
 Size of the CRC32 field in a long section.
 
constexpr size_t ts::SHORT_SECTION_HEADER_SIZE = 3
 Header size of a short section.
 
constexpr size_t ts::SVERSION_BITS = 5
 Size (in bits) of a section version field.
 
constexpr uint8_t ts::SVERSION_MASK = 0x1F
 Mask to wrap a section version value. More...
 
constexpr uint8_t ts::SVERSION_MAX = 1 << SVERSION_BITS
 Maximum value of a section version.
 
constexpr uint8_t ts::SYNC_BYTE = 0x47
 Value of a sync byte (first byte in a TS packet).
 
constexpr uint32_t ts::SYSTEM_CLOCK_FREQ = 27000000
 MPEG-2 System Clock frequency in Hz, used by PCR (27 Mb/s).
 
constexpr uint32_t ts::SYSTEM_CLOCK_SUBFACTOR = 300
 Subfactor of MPEG-2 System Clock subfrequency, used by PTS and DTS.
 
constexpr uint32_t ts::SYSTEM_CLOCK_SUBFREQ = SYSTEM_CLOCK_FREQ / SYSTEM_CLOCK_SUBFACTOR
 MPEG-2 System Clock subfrequency in Hz, used by PTS and DTS (90 Kb/s).
 
constexpr size_t ts::T2_BBHEADER_SIZE = 10
 Size in bytes of a DVB-T2 Base Band Header. More...
 
constexpr size_t ts::T2MI_HEADER_SIZE = 6
 Size in bytes of a T2-MI packet header.
 
constexpr size_t ts::TELETEXT_PACKET_SIZE = 44
 Size in bytes of a Teletext packet.
 
constexpr uint8_t ts::TELETEXT_PES_FIRST_EBU_DATA_ID = 0x10
 First EBU data_identifier value in PES packets conveying Teletext.
 
constexpr uint8_t ts::TELETEXT_PES_LAST_EBU_DATA_ID = 0x1F
 Last EBU data_identifier value in PES packets conveying Teletext.
 
constexpr size_t ts::TID_MAX = 0x100
 Maximum number of TID values.
 

Detailed Description

Common definition for MPEG level.