Defining the teletext subtitling descriptor in the PMT

DVB decoders require a teletext subtitling descriptor in the PMT so that they know which PID is used for subtitling of which language. The DVB Subtitling specification ETSI EN 300 743 defines that for each subtitle service a subtitling_descriptor as defined in EN 300 468. The subtitling descriptor shall be included in the PMT of the program and shall be associated to the PID that conveys the subtitle stream.

Teletext Descriptor Structure (Tag: 0x56)

Field Length (bytes) Description
descriptor_tag 1 0x56 (Teletext descriptor)
descriptor_length 1 Length of the descriptor following this field
teletext_service_loop N × 5 Repeated for each teletext service
  • Each teletext service entry (5 bytes) contains:
Field Length (bytes) Description
ISO_639_language_code 3 3-character language code (e.g., “eng”)
teletext_type 1 (4 bits) Type of teletext (e.g., 0x02 = subtitles)
teletext_magazine_number 1 (3 bits) Magazine number (1–8)
teletext_page_number 1 (8 bits) Page number in hexadecimal (e.g., 0x29 for page 029)

The teletext_type values relevant for subtitles include:

  • 0x02: Teletext subtitles
  • 0x05: Teletext subtitles for hearing impaired

Example

To represent Spanish subtitles on teletext page 888 and English subtitles on teletext page 889 in the Teletext Descriptor (tag 0x56) within the PMT, two teletext service entries are required:

Field Value Description
descriptor_tag 0x56 Teletext descriptor
descriptor_length 0x0A 10 bytes (2 entries × 5 bytes)
ISO_639_language_code 0x65 0x73 0x70 “esp” for Spanish
teletext_type 0x05 Teletext subtitles for hearing impaired
magazine_number 0x08 Magazine 8 (from page 888 → 8)
page_number 0x88 Page 888 (hex 0x88)
ISO_639_language_code 0x65 0x6E 0x67 “eng” for English
teletext_type 0x05 Teletext subtitles for hearing impaired
magazine_number 0x08 Magazine 8 (from page 889 → 8)
page_number 0x89 Page 889 (hex 0x89)

This page was last updated on 2025-07-23