libdvbv5 1.26.1
Library to work with Digital TV devices on Linux
descriptors.h File Reference

Provides a way to handle MPEG-TS descriptors found on Digital TV streams. More...

#include <unistd.h>
#include <stdint.h>
#include <arpa/inet.h>

Go to the source code of this file.

Data Structures

struct  dvb_desc
 Linked list containing the several descriptors found on a MPEG-TS table. More...
 
struct  dvb_descriptor
 Contains the parser information for the MPEG-TS parser code. More...
 

Macros

#define DVB_MAX_PAYLOAD_PACKET_SIZE
 Maximum size of a table session to be parsed.
 
#define DVB_CRC_SIZE
 number of bytes for the descriptor's CRC check
 
#define TS_Information_descriptior
 

Typedefs

typedef void(* dvb_table_init_func) (struct dvb_v5_fe_parms *parms, const uint8_t *buf, ssize_t buflen, void **table)
 Function prototype for a function that initializes the descriptors parsing on a table.
 
typedef int(* dvb_desc_init_func) (struct dvb_v5_fe_parms *parms, const uint8_t *buf, struct dvb_desc *desc)
 Function prototype for the descriptors parsing init code.
 
typedef void(* dvb_desc_print_func) (struct dvb_v5_fe_parms *parms, const struct dvb_desc *desc)
 Function prototype for the descriptors parsing print code.
 
typedef void(* dvb_desc_free_func) (struct dvb_desc *desc)
 Function prototype for the descriptors memory free code.
 

Enumerations

enum  descriptors {
  video_stream_descriptor , audio_stream_descriptor , hierarchy_descriptor , registration_descriptor ,
  ds_alignment_descriptor , target_background_grid_descriptor , video_window_descriptor , conditional_access_descriptor ,
  iso639_language_descriptor , system_clock_descriptor , multiplex_buffer_utilization_descriptor , copyright_descriptor ,
  maximum_bitrate_descriptor , private_data_indicator_descriptor , smoothing_buffer_descriptor , std_descriptor ,
  ibp_descriptor , mpeg4_video_descriptor , mpeg4_audio_descriptor , iod_descriptor ,
  sl_descriptor , fmc_descriptor , external_es_id_descriptor , muxcode_descriptor ,
  fmxbuffersize_descriptor , multiplexbuffer_descriptor , content_labeling_descriptor , metadata_pointer_descriptor ,
  metadata_descriptor , metadata_std_descriptor , AVC_video_descriptor , ipmp_descriptor ,
  AVC_timing_and_HRD_descriptor , mpeg2_aac_audio_descriptor , flexmux_timing_descriptor , network_name_descriptor ,
  service_list_descriptor , stuffing_descriptor , satellite_delivery_system_descriptor , cable_delivery_system_descriptor ,
  VBI_data_descriptor , VBI_teletext_descriptor , bouquet_name_descriptor , service_descriptor ,
  country_availability_descriptor , linkage_descriptor , NVOD_reference_descriptor , time_shifted_service_descriptor ,
  short_event_descriptor , extended_event_descriptor , time_shifted_event_descriptor , component_descriptor ,
  mosaic_descriptor , stream_identifier_descriptor , CA_identifier_descriptor , content_descriptor ,
  parental_rating_descriptor , teletext_descriptor , telephone_descriptor , local_time_offset_descriptor ,
  subtitling_descriptor , terrestrial_delivery_system_descriptor , multilingual_network_name_descriptor , multilingual_bouquet_name_descriptor ,
  multilingual_service_name_descriptor , multilingual_component_descriptor , private_data_specifier_descriptor , service_move_descriptor ,
  short_smoothing_buffer_descriptor , frequency_list_descriptor , partial_transport_stream_descriptor , data_broadcast_descriptor ,
  scrambling_descriptor , data_broadcast_id_descriptor , transport_stream_descriptor , DSNG_descriptor ,
  PDC_descriptor , AC_3_descriptor , ancillary_data_descriptor , cell_list_descriptor ,
  cell_frequency_link_descriptor , announcement_support_descriptor , application_signalling_descriptor , adaptation_field_data_descriptor ,
  service_identifier_descriptor , service_availability_descriptor , default_authority_descriptor , related_content_descriptor ,
  TVA_id_descriptor , content_identifier_descriptor , time_slice_fec_identifier_descriptor , ECM_repetition_rate_descriptor ,
  S2_satellite_delivery_system_descriptor , enhanced_AC_3_descriptor , DTS_descriptor , AAC_descriptor ,
  XAIT_location_descriptor , FTA_content_management_descriptor , extension_descriptor , CUE_identifier_descriptor ,
  extended_channel_name , service_location , component_name_descriptor , logical_channel_number_descriptor ,
  carousel_id_descriptor , association_tag_descriptor , deferred_association_tags_descriptor , hierarchical_transmission_descriptor ,
  digital_copy_control_descriptor , network_identifier_descriptor , partial_transport_stream_time_descriptor , audio_component_descriptor ,
  hyperlink_descriptor , target_area_descriptor , data_contents_descriptor , video_decode_control_descriptor ,
  download_content_descriptor , CA_EMM_TS_descriptor , CA_contract_information_descriptor , CA_service_descriptor ,
  TS_Information_descriptor , extended_broadcaster_descriptor , logo_transmission_descriptor , basic_local_event_descriptor ,
  reference_descriptor , node_relation_descriptor , short_node_information_descriptor , STC_reference_descriptor ,
  series_descriptor , event_group_descriptor , SI_parameter_descriptor , broadcaster_Name_Descriptor ,
  component_group_descriptor , SI_prime_TS_descriptor , board_information_descriptor , LDT_linkage_descriptor ,
  connected_transmission_descriptor , content_availability_descriptor , service_group_descriptor , carousel_compatible_composite_descriptor ,
  conditional_playback_descriptor , ISDBT_delivery_system_descriptor , partial_reception_descriptor , emergency_information_descriptor ,
  data_component_descriptor , system_management_descriptor , atsc_stuffing_descriptor , atsc_ac3_audio_descriptor ,
  atsc_caption_service_descriptor , atsc_content_advisory_descriptor , atsc_extended_channel_descriptor , atsc_service_location_descriptor ,
  atsc_time_shifted_service_descriptor , atsc_component_name_descriptor , atsc_DCC_departing_request_descriptor , atsc_DCC_arriving_request_descriptor ,
  atsc_redistribution_control_descriptor , atsc_ATSC_private_information_descriptor , atsc_genre_descriptor
}
 

Functions

uint32_t dvb_bcd (uint32_t bcd)
 Converts from BCD to CPU integer internal representation.
 
void dvb_hexdump (struct dvb_v5_fe_parms *parms, const char *prefix, const unsigned char *buf, int len)
 dumps data into the logs in hexadecimal format
 
int dvb_desc_parse (struct dvb_v5_fe_parms *parms, const uint8_t *buf, uint16_t buflen, struct dvb_desc **head_desc)
 parse MPEG-TS descriptors
 
void dvb_desc_free (struct dvb_desc **list)
 frees a dvb_desc linked list
 
void dvb_desc_print (struct dvb_v5_fe_parms *parms, struct dvb_desc *desc)
 prints the contents of a struct dvb_desc linked list
 

Variables

const dvb_table_init_func dvb_table_initializers [256]
 Table with all possible descriptors.
 
const struct dvb_descriptor dvb_descriptors []
 Contains the parsers for the several descriptors.
 

Detailed Description

Provides a way to handle MPEG-TS descriptors found on Digital TV streams.

Author
Mauro Carvalho Chehab
Andre Roth
Relevant specs
The descriptors herein are defined on the following specs:
Bug Report
Please submit bug reports and patches to linux.nosp@m.-med.nosp@m.ia@vg.nosp@m.er.k.nosp@m.ernel.nosp@m..org

Definition in file descriptors.h.

Macro Definition Documentation

◆ TS_Information_descriptior

#define TS_Information_descriptior

Definition at line 776 of file descriptors.h.

Enumeration Type Documentation

◆ descriptors

Enumerator
video_stream_descriptor 

video_stream descriptor - ISO/IEC 13818-1

audio_stream_descriptor 

audio_stream descriptor - ISO/IEC 13818-1

hierarchy_descriptor 

hierarchy descriptor - ISO/IEC 13818-1

registration_descriptor 

registration descriptor - ISO/IEC 13818-1

ds_alignment_descriptor 

ds_alignment descriptor - ISO/IEC 13818-1

target_background_grid_descriptor 

target_background_grid descriptor - ISO/IEC 13818-1

video_window_descriptor 

video_window descriptor - ISO/IEC 13818-1

conditional_access_descriptor 

conditional_access descriptor - ISO/IEC 13818-1

iso639_language_descriptor 

iso639_language descriptor - ISO/IEC 13818-1

system_clock_descriptor 

system_clock descriptor - ISO/IEC 13818-1

multiplex_buffer_utilization_descriptor 

multiplex_buffer_utilization descriptor - ISO/IEC 13818-1

copyright_descriptor 

copyright descriptor - ISO/IEC 13818-1

maximum_bitrate_descriptor 

maximum_bitrate descriptor - ISO/IEC 13818-1

private_data_indicator_descriptor 

private_data_indicator descriptor - ISO/IEC 13818-1

smoothing_buffer_descriptor 

smoothing_buffer descriptor - ISO/IEC 13818-1

std_descriptor 

std descriptor - ISO/IEC 13818-1

ibp_descriptor 

ibp descriptor - ISO/IEC 13818-1

mpeg4_video_descriptor 

mpeg4_video descriptor - ISO/IEC 13818-1

mpeg4_audio_descriptor 

mpeg4_audio descriptor - ISO/IEC 13818-1

iod_descriptor 

iod descriptor - ISO/IEC 13818-1

sl_descriptor 

sl descriptor - ISO/IEC 13818-1

fmc_descriptor 

fmc descriptor - ISO/IEC 13818-1

external_es_id_descriptor 

external_es_id descriptor - ISO/IEC 13818-1

muxcode_descriptor 

muxcode descriptor - ISO/IEC 13818-1

fmxbuffersize_descriptor 

fmxbuffersize descriptor - ISO/IEC 13818-1

multiplexbuffer_descriptor 

multiplexbuffer descriptor - ISO/IEC 13818-1

content_labeling_descriptor 

content_labeling descriptor - ISO/IEC 13818-1

metadata_pointer_descriptor 

metadata_pointer descriptor - ISO/IEC 13818-1

metadata_descriptor 

metadata descriptor - ISO/IEC 13818-1

metadata_std_descriptor 

metadata_std descriptor - ISO/IEC 13818-1

AVC_video_descriptor 

AVC_video descriptor - ISO/IEC 13818-1.

ipmp_descriptor 

ipmp descriptor - ISO/IEC 13818-1

AVC_timing_and_HRD_descriptor 

AVC_timing_and_HRD descriptor - ISO/IEC 13818-1.

mpeg2_aac_audio_descriptor 

mpeg2_aac_audio descriptor - ISO/IEC 13818-1

flexmux_timing_descriptor 

flexmux_timing descriptor - ISO/IEC 13818-1

network_name_descriptor 

network_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

service_list_descriptor 

service_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

stuffing_descriptor 

stuffing descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

satellite_delivery_system_descriptor 

satellite_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

cable_delivery_system_descriptor 

cable_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

VBI_data_descriptor 

VBI_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

VBI_teletext_descriptor 

VBI_teletext descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

bouquet_name_descriptor 

bouquet_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

service_descriptor 

service descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

country_availability_descriptor 

country_availability descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

linkage_descriptor 

linkage descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

NVOD_reference_descriptor 

NVOD_reference descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

time_shifted_service_descriptor 

time_shifted_service descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

short_event_descriptor 

short_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

extended_event_descriptor 

extended_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

time_shifted_event_descriptor 

time_shifted_event descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

component_descriptor 

component descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

mosaic_descriptor 

mosaic descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

stream_identifier_descriptor 

stream_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

CA_identifier_descriptor 

CA_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

content_descriptor 

content descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

parental_rating_descriptor 

parental_rating descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

teletext_descriptor 

teletext descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

telephone_descriptor 

telephone descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

local_time_offset_descriptor 

local_time_offset descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

subtitling_descriptor 

subtitling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

terrestrial_delivery_system_descriptor 

terrestrial_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

multilingual_network_name_descriptor 

multilingual_network_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

multilingual_bouquet_name_descriptor 

multilingual_bouquet_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

multilingual_service_name_descriptor 

multilingual_service_name descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

multilingual_component_descriptor 

multilingual_component descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

private_data_specifier_descriptor 

private_data_specifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

service_move_descriptor 

service_move descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

short_smoothing_buffer_descriptor 

short_smoothing_buffer descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

frequency_list_descriptor 

frequency_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

partial_transport_stream_descriptor 

partial_transport_stream descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

data_broadcast_descriptor 

data_broadcast descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

scrambling_descriptor 

scrambling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

data_broadcast_id_descriptor 

data_broadcast_id descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

transport_stream_descriptor 

transport_stream descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

DSNG_descriptor 

DSNG descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

PDC_descriptor 

PDC descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

AC_3_descriptor 

AC_3 descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

ancillary_data_descriptor 

ancillary_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

cell_list_descriptor 

cell_list descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

cell_frequency_link_descriptor 

cell_frequency_link descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

announcement_support_descriptor 

announcement_support descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

application_signalling_descriptor 

application_signalling descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

adaptation_field_data_descriptor 

adaptation_field_data descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

service_identifier_descriptor 

service_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

service_availability_descriptor 

service_availability descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

default_authority_descriptor 

default_authority descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

related_content_descriptor 

related_content descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

TVA_id_descriptor 

TVA_id descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

content_identifier_descriptor 

content_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

time_slice_fec_identifier_descriptor 

time_slice_fec_identifier descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

ECM_repetition_rate_descriptor 

ECM_repetition_rate descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

S2_satellite_delivery_system_descriptor 

S2_satellite_delivery_system descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

enhanced_AC_3_descriptor 

enhanced_AC_3 descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

DTS_descriptor 

DTS descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

AAC_descriptor 

AAC descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

XAIT_location_descriptor 

XAIT_location descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

FTA_content_management_descriptor 

FTA_content_management descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

extension_descriptor 

extension descriptor - ETSI EN 300 468 V1.11.1 (2010-04)

CUE_identifier_descriptor 

CUE_identifier descriptor - SCTE 35 2004.

extended_channel_name 

extended_channel_name descriptor - SCTE 35 2004

service_location 

service_location descriptor - SCTE 35 2004

component_name_descriptor 

component_name descriptor - SCTE 35 2004

See also
http://www.etherguidesystems.com/Help/SDOs/ATSC/Semantics/Descriptors/Default.aspx
logical_channel_number_descriptor 

logical_channel_number descriptor - SCTE 35 2004

See also
http://www.coolstf.com/tsreader/descriptors.html
carousel_id_descriptor 

carousel_id descriptor - ABNT NBR 15603-1 2007

association_tag_descriptor 

association_tag descriptor - ABNT NBR 15603-1 2007

deferred_association_tags_descriptor 

deferred_association_tags descriptor - ABNT NBR 15603-1 2007

hierarchical_transmission_descriptor 

hierarchical_transmission descriptor - ABNT NBR 15603-1 2007

digital_copy_control_descriptor 

digital_copy_control descriptor - ABNT NBR 15603-1 2007

network_identifier_descriptor 

network_identifier descriptor - ABNT NBR 15603-1 2007

partial_transport_stream_time_descriptor 

partial_transport_stream_time descriptor - ABNT NBR 15603-1 2007

audio_component_descriptor 

audio_component descriptor - ABNT NBR 15603-1 2007

hyperlink_descriptor 

hyperlink descriptor - ABNT NBR 15603-1 2007

target_area_descriptor 

target_area descriptor - ABNT NBR 15603-1 2007

data_contents_descriptor 

data_contents descriptor - ABNT NBR 15603-1 2007

video_decode_control_descriptor 

video_decode_control descriptor - ABNT NBR 15603-1 2007

download_content_descriptor 

download_content descriptor - ABNT NBR 15603-1 2007

CA_EMM_TS_descriptor 

CA_EMM_TS descriptor - ABNT NBR 15603-1 2007.

CA_contract_information_descriptor 

CA_contract_information descriptor - ABNT NBR 15603-1 2007.

CA_service_descriptor 

CA_service descriptor - ABNT NBR 15603-1 2007.

TS_Information_descriptor 

transport_stream_information descriptor - ABNT NBR 15603-1 2007

extended_broadcaster_descriptor 

extended_broadcaster descriptor - ABNT NBR 15603-1 2007

logo_transmission_descriptor 

logo_transmission descriptor - ABNT NBR 15603-1 2007

basic_local_event_descriptor 

basic_local_event descriptor - ABNT NBR 15603-1 2007

reference_descriptor 

reference descriptor - ABNT NBR 15603-1 2007

node_relation_descriptor 

node_relation descriptor - ABNT NBR 15603-1 2007

short_node_information_descriptor 

short_node_information descriptor - ABNT NBR 15603-1 2007

STC_reference_descriptor 

STC_reference descriptor - ABNT NBR 15603-1 2007.

series_descriptor 

series descriptor - ABNT NBR 15603-1 2007

event_group_descriptor 

event_group descriptor - ABNT NBR 15603-1 2007

SI_parameter_descriptor 

SI_parameter descriptor - ABNT NBR 15603-1 2007.

broadcaster_Name_Descriptor 

broadcaster_Name descriptor - ABNT NBR 15603-1 2007

component_group_descriptor 

component_group descriptor - ABNT NBR 15603-1 2007

SI_prime_TS_descriptor 

SI_prime_transport_stream descriptor - ABNT NBR 15603-1 2007.

board_information_descriptor 

board_information descriptor - ABNT NBR 15603-1 2007

LDT_linkage_descriptor 

LDT_linkage descriptor - ABNT NBR 15603-1 2007.

connected_transmission_descriptor 

connected_transmission descriptor - ABNT NBR 15603-1 2007

content_availability_descriptor 

content_availability descriptor - ABNT NBR 15603-1 2007

service_group_descriptor 

service_group descriptor - ABNT NBR 15603-1 2007

carousel_compatible_composite_descriptor 

carousel_compatible_composite descriptor - ABNT NBR 15603-1 2007

conditional_playback_descriptor 

conditional_playback descriptor - ABNT NBR 15603-1 2007

ISDBT_delivery_system_descriptor 

ISDBT terrestrial_delivery_system descriptor - ABNT NBR 15603-1 2007.

partial_reception_descriptor 

partial_reception descriptor - ABNT NBR 15603-1 2007

emergency_information_descriptor 

emergency_information descriptor - ABNT NBR 15603-1 2007

data_component_descriptor 

data_component descriptor - ABNT NBR 15603-1 2007

system_management_descriptor 

system_management descriptor - ABNT NBR 15603-1 2007

atsc_stuffing_descriptor 

atsc_stuffing descriptor - ATSC A/65:2009

atsc_ac3_audio_descriptor 

atsc_ac3_audio descriptor - ATSC A/65:2009

atsc_caption_service_descriptor 

atsc_caption_service descriptor - ATSC A/65:2009

atsc_content_advisory_descriptor 

atsc_content_advisory descriptor - ATSC A/65:2009

atsc_extended_channel_descriptor 

atsc_extended_channel descriptor - ATSC A/65:2009

atsc_service_location_descriptor 

atsc_service_location descriptor - ATSC A/65:2009

atsc_time_shifted_service_descriptor 

atsc_time_shifted_service descriptor - ATSC A/65:2009

atsc_component_name_descriptor 

atsc_component_name descriptor - ATSC A/65:2009

atsc_DCC_departing_request_descriptor 

atsc_DCC_departing_request descriptor - ATSC A/65:2009

atsc_DCC_arriving_request_descriptor 

atsc_DCC_arriving_request descriptor - ATSC A/65:2009

atsc_redistribution_control_descriptor 

atsc_redistribution_control descriptor - ATSC A/65:2009

atsc_ATSC_private_information_descriptor 

atsc_ATSC_private_information descriptor - ATSC A/65:2009

atsc_genre_descriptor 

atsc_genre descriptor - ATSC A/65:2009

Definition at line 592 of file descriptors.h.