Skip to main content

πŸ”’ Reserved PID Usage

This check reports PAT and PMT declarations that use reserved MPEG-TS PIDs for program mapping, PCR, or elementary streams.

info
Reserved MPEG-TS PID reference

For baseline MPEG-TS, the universally assigned PSI-related PIDs come from ISO/IEC 13818-1. DVB then layers additional Service Information (SI) assignments on top of that transport-stream core.

Core MPEG-TS reserved PIDs:

PID (hex)PID (dec)Table / usePurpose
0x00000PATProgram Association Table
0x00011CATConditional Access Table
0x00022TSDTTransport Stream Description Table
0x00033IPMPIPMP control information table
0x0004-0x000F4-15ReservedReserved for future use
0x1FFF8191Null packetStuffing packets for bitrate padding; not PSI

The PMT does not have a fixed reserved PID. Its PID is signaled by the PAT.

DVB SI PID assignments:

DVB commonly uses the 0x0010 to 0x001F range for Service Information (SI) tables and related signaling:

PIDTable / use
0x0010NIT, ST
0x0011SDT, BAT, ST
0x0012EIT, CIT, ST
0x0013RST, ST
0x0014TDT, TOT, ST
0x0015Network synchronization
0x0016RNT
0x0017-0x001BReserved for future use
0x001CInband signalling
0x001DMeasurement
0x001EDIT
0x001FSIT

For this check, the practical concern is that PAT, PMT, PCR, and elementary-stream declarations must not reuse these reserved assignments as ordinary payload PIDs.

What This Test Does​

The Reserved PID Usage test inspects PAT and PMT declarations and reports cases where reserved MPEG-TS PIDs are reused for program mapping, PCR, or elementary streams.

It checks that:

  • PAT program mappings do not point a PMT to a reserved PID such as 0x0010 or 0x0011
  • PMT PCR_PID does not use a reserved PID value, except 0x1FFF when PCR is explicitly unused
  • PMT elementary stream entries do not use reserved PIDs such as 0x0000 through 0x001F or the null-packet PID 0x1FFF

Reserved PIDs are defined for PSI/SI tables and special transport functions. Reusing them for PMT or payload streams can confuse analyzers and receivers, and can lead to false PSI parsing or CRC failures downstream.

βœ… Pass Criteria​

The test passes when PAT and PMT declarations do not assign reserved MPEG-TS PIDs to PMT, PCR, or elementary stream entries. Application result message:

No reserved MPEG-TS PIDs were declared by PAT/PMT.

❌ Fail Criteria​

The test fails when one or more reserved MPEG-TS PIDs are declared in PAT or PMT signaling. Typical causes include:

  • PAT maps a program PMT to a reserved PID
  • PMT declares a reserved PCR_PID
  • PMT declares a reserved PID for an elementary stream

Application result messages can include:

  • PAT maps the program PMT to reserved PID 0x0010 (DVB SI: NIT/ST)
  • PMT declares reserved PCR PID 0x0011 (DVB SI: SDT/BAT/ST)
  • PMT declares reserved elementary PID 0x0011 (DVB SI: SDT/BAT/ST)
  • PMT declares reserved elementary PID 0x1FFF (null packet)