Defining the DVB subtitling descriptor in the PMT

DVB decoders require a 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 signals the page id values of the segments needed to decode that subtitle service. The subtitling descriptor shall be included in the PMT of the program and shall be associated to the PID that conveys the subtitle stream.

The DVB subtitling descriptor is defined in ETS EN 300 468, section 6.2.41:

In the ISO/IEC 13818-1 Program Map Table (PMT) the value of stream_type for any PID carrying DVB subtitle shall be “0x06” (this indicates a PES carrying private data).

  descriptor_tag 8 uimsbf
  descriptor_length 8 uimsbf
  for (i= 0;i<N;i++){
    ISO_639_language_code 24 bslbf
    subtitling_type 8 bslbf
    composition_page_id 16 bslbf
    ancillary_page_id 16 bslbf

Example for DVB Subtitling Descriptor for HD for hearing impaired: