Die Program Map Table ist in der ISO/IEC 13818-1 definiert. Sie ist an keine bestimmte PID gebunden. Vielmehr sind die PIDs, in welcher PMT enthalten sind, als program_map_PID in der Programmnummernliste der PAT angegeben. Die Table kann nicht über mehrere Sektion verteilt werden.
pointer_field: Das pointer_field ist nur vorhanden, wenn in diesem Paket eine Sektion beginnt. Ist dies der Fall, ist der Payload Start Indicator des Transport Stream Headers auf '1' gesetzt. Das pointer_field gibt dann an, ab welchem Byte nach dem pointer_field die neue Sektion beginnt. Beginnt keine neue Sektion ist der Payload Start Indicator auf '0' gesetzt.
table_id: Ist die ID der Tabelle. Sie muss den Wert $02 besitzen.
section_syntax_indicator: Das Bit ist auf '1' gesetzt.
section_length: Dies ist Länge der Sektion. Sie gibt die verbleibende Länge ab dem folgenden Byte einschließlich der Kontrollsumme CRC32 an. Die Sektion kann über mehrerere Pakete verteilt sein, darf jedoch nicht länger als 1021 Byte sein. Die ersten beiden der zwölf Bit sind immer auf '0' gesetzt.
program_number: Gibt die Programmnummer an, auf welches die program_map_PID anzuwenden ist. Eine Programmdefinition darf nur eine TS_program_map_section enthalten. Eine Definition ist nie länger als 1016 Byte.
version_number: Das ist die Versionsnummer der Tabelle. Sie beginnt mit 0 und wird bei einer Änderung der Information um 1 erhöht. Ist die 31 erreicht, beginnt die Zählung wieder bei 0. Hat der current_next_indicator den Wert '1', dann ist dies die Version der gerade anzuwendenen program association table. Ist der Wert '0', ist es die Version der nächsten anzuwendenen program association table.
current_next_indicator: Er gibt an, ob die Tabelle anwendbar ist. Ist der Wert 0, ist es die nächste anzuwendene Tabelle.
section_number: Die Sektionsnummer ist immer $00.
last_section_number: Die Nummer der letzten Sektion ist hier immer $00.
PCR_PID: Gibt die PID der Pakete an, welche die für die festgelegte Programmnummer gelten. Wenn kein PCR mit einer Programmdefinition für einen privaten Stream verbunden ist, ist der Wert $1FFF.
program_info_length: Die ersten beiden Bits sind '00'. Der Wert gibt an, wie lang der unmittelbar auf diesen Wert folgende Descriptor ist.
stream_type: Der Wert gibt an, welchen Typ die Pakete mit der PID enthalten, welche unter elementary_PID angegeben ist. Möglich sind folgende Werte:
elementary_PID: Gibt die PID der Pakete an, welche das hiermit verbundene Programmelement enthält.
ES_info_length: Die ersten beiden Bits sind '00'. Der Wert gibt die Länge des unmittelbar folgenden Descriptors an.
CRC_32: Dieser Wert ist für den Decoder bestimmt.

Test 5: Das Testprogramm scannt einen Transport Stream. Er zeigt die Stream Header, Adaptationsfelder, Program Association Table und Program Map Table.
Fr_An - Letzte Änderung: 20. Februar 2010
seit 28. Juli 2010