17 #ifndef LIBSI_HEADERS_H 18 #define LIBSI_HEADERS_H 28 #if BYTE_ORDER == BIG_ENDIAN 42 #if BYTE_ORDER == BIG_ENDIAN 54 #if BYTE_ORDER == BIG_ENDIAN 59 u_char current_next_indicator :1;
60 u_char version_number :5;
93 #if BYTE_ORDER == BIG_ENDIAN 107 #if BYTE_ORDER == BIG_ENDIAN 112 u_char current_next_indicator :1;
113 u_char version_number :5;
120 #define PAT_PROG_LEN 4 125 #if BYTE_ORDER == BIG_ENDIAN 129 u_char network_pid_hi :5;
150 #if BYTE_ORDER == BIG_ENDIAN 164 #if BYTE_ORDER == BIG_ENDIAN 169 u_char current_next_indicator :1;
170 u_char version_number :5;
191 #if BYTE_ORDER == BIG_ENDIAN 205 #if BYTE_ORDER == BIG_ENDIAN 210 u_char current_next_indicator :1;
211 u_char version_number :5;
216 #if BYTE_ORDER == BIG_ENDIAN 220 u_char PCR_PID_hi :5;
224 #if BYTE_ORDER == BIG_ENDIAN 228 u_char program_info_length_hi :4;
235 #define PMT_INFO_LEN 5 239 #if BYTE_ORDER == BIG_ENDIAN 243 u_char elementary_PID_hi :5;
247 #if BYTE_ORDER == BIG_ENDIAN 251 u_char ES_info_length_hi :4;
272 #if BYTE_ORDER == BIG_ENDIAN 286 #if BYTE_ORDER == BIG_ENDIAN 291 u_char current_next_indicator :1;
292 u_char version_number :5;
313 #if BYTE_ORDER == BIG_ENDIAN 325 #if BYTE_ORDER == BIG_ENDIAN 330 u_char current_next_indicator :1;
331 u_char version_number :5;
336 #if BYTE_ORDER == BIG_ENDIAN 340 u_char network_descriptor_length_hi :4;
347 #define SIZE_NIT_MID 2 350 #if BYTE_ORDER == BIG_ENDIAN 354 u_char transport_stream_loop_length_hi :4;
360 #define SIZE_NIT_END 4 373 #if BYTE_ORDER == BIG_ENDIAN 377 u_char transport_descriptors_length_hi :4;
415 #if BYTE_ORDER == BIG_ENDIAN 427 #if BYTE_ORDER == BIG_ENDIAN 432 u_char current_next_indicator :1;
433 u_char version_number :5;
443 #define GetSDTTransportStreamId(x) (HILO(((sdt_t *) x)->transport_stream_id)) 444 #define GetSDTOriginalNetworkId(x) (HILO(((sdt_t *) x)->original_network_id)) 446 #define SDT_DESCR_LEN 5 451 #if BYTE_ORDER == BIG_ENDIAN 459 u_char eit_present_following_flag :1;
460 u_char eit_schedule_flag :1;
462 u_char descriptors_loop_length_hi :4;
463 u_char free_ca_mode :1;
464 u_char running_status :3;
484 #if BYTE_ORDER == BIG_ENDIAN 496 #if BYTE_ORDER == BIG_ENDIAN 501 u_char current_next_indicator :1;
502 u_char version_number :5;
515 #define EIT_EVENT_LEN 12 528 #if BYTE_ORDER == BIG_ENDIAN 533 u_char descriptors_loop_length_hi :4;
534 u_char free_ca_mode :1;
535 u_char running_status :3;
552 #if BYTE_ORDER == BIG_ENDIAN 573 #if BYTE_ORDER == BIG_ENDIAN 577 u_char running_status :3;
596 #if BYTE_ORDER == BIG_ENDIAN 626 #if BYTE_ORDER == BIG_ENDIAN 641 #if BYTE_ORDER == BIG_ENDIAN 645 u_char descriptors_loop_length_hi :4;
695 #if BYTE_ORDER == BIG_ENDIAN 707 #if BYTE_ORDER == BIG_ENDIAN 712 u_char current_next_indicator :1;
713 u_char version_number :5;
718 #if BYTE_ORDER == BIG_ENDIAN 722 u_char common_descriptors_length_hi :4;
728 #define SIZE_AIT_MID 2 731 #if BYTE_ORDER == BIG_ENDIAN 735 u_char application_loop_length_hi :4;
741 #define SIZE_AIT_END 4 747 #define AIT_APP_LEN 9 761 #if BYTE_ORDER == BIG_ENDIAN 765 u_char application_descriptors_length_hi :4;
778 #if BYTE_ORDER == BIG_ENDIAN 792 #if BYTE_ORDER == BIG_ENDIAN 797 u_char current_next_indicator :1;
798 u_char version_number :5;
813 #if BYTE_ORDER == BIG_ENDIAN 817 u_char descriptors_loop_length_hi :4;
842 #define DESCR_GEN_LEN 2 848 #define GetDescriptorTag(x) (((descr_gen_t *) x)->descriptor_tag) 849 #define GetDescriptorLength(x) (((descr_gen_t *) x)->descriptor_length+DESCR_GEN_LEN) 853 #define DESCR_CA_LEN 6 859 #if BYTE_ORDER == BIG_ENDIAN 871 #define DESCR_ISO_639_LANGUAGE_LEN 5 886 #define DESCR_CAROUSEL_IDENTIFIER_LEN 7 900 #define DESCR_NETWORK_NAME_LEN 2 908 #define DESCR_SERVICE_LIST_LEN 2 914 #define DESCR_SERVICE_LIST_LOOP_LEN 3 923 #define DESCR_STUFFING_LEN XX 932 #define DESCR_SATELLITE_DELIVERY_SYSTEM_LEN 13 942 #if BYTE_ORDER == BIG_ENDIAN 949 u_char modulation_type :2;
950 u_char modulation_system :1;
952 u_char polarization :2;
953 u_char west_east_flag :1;
958 #if BYTE_ORDER == BIG_ENDIAN 963 u_char symbol_rate_lo_2 :4;
969 #define DESCR_CABLE_DELIVERY_SYSTEM_LEN 13 978 #if BYTE_ORDER == BIG_ENDIAN 989 #if BYTE_ORDER == BIG_ENDIAN 994 u_char symbol_rate_lo_2 :4;
1000 #define DESCR_VBI_DATA_LEN XX 1009 #define DESCR_VBI_TELETEXT_LEN XX 1018 #define DESCR_BOUQUET_NAME_LEN 2 1026 #define DESCR_SERVICE_LEN 4 1040 #define DESCR_COUNTRY_AVAILABILITY_LEN 3 1044 #if BYTE_ORDER == BIG_ENDIAN 1049 u_char country_availability_flag :1;
1055 #define DESCR_LINKAGE_LEN 9 1068 #define DESCR_LINKAGE_8_LEN 3 1070 #if BYTE_ORDER == BIG_ENDIAN 1075 u_char origin_type :1;
1077 u_char hand_over_type :4;
1085 #define DESCR_NVOD_REFERENCE_LEN 2 1091 #define ITEM_NVOD_REFERENCE_LEN 6 1103 #define DESCR_TIME_SHIFTED_SERVICE_LEN 4 1113 #define DESCR_SHORT_EVENT_LEN 6 1129 #define DESCR_EXTENDED_EVENT_LEN 7 1134 #if BYTE_ORDER == BIG_ENDIAN 1138 u_char last_descriptor_number :4;
1139 u_char descriptor_number :4;
1151 #define ITEM_EXTENDED_EVENT_LEN 1 1162 #define DESCR_TIME_SHIFTED_EVENT_LEN 6 1174 #define DESCR_COMPONENT_LEN 8 1178 #if BYTE_ORDER == BIG_ENDIAN 1182 u_char stream_content :4;
1194 #define DESCR_MOSAIC_LEN XX 1203 #define DESCR_STREAM_IDENTIFIER_LEN 3 1212 #define DESCR_CA_IDENTIFIER_LEN 2 1220 #define DESCR_CONTENT_LEN 2 1227 #if BYTE_ORDER == BIG_ENDIAN 1231 u_char content_nibble_level_2 :4;
1232 u_char content_nibble_level_1 :4;
1234 #if BYTE_ORDER == BIG_ENDIAN 1238 u_char user_nibble_2 :4;
1239 u_char user_nibble_1 :4;
1245 #define DESCR_PARENTAL_RATING_LEN 2 1251 #define PARENTAL_RATING_LEN 4 1261 #define DESCR_TELETEXT_LEN 2 1267 #define ITEM_TELETEXT_LEN 5 1272 #if BYTE_ORDER == BIG_ENDIAN 1276 u_char magazine_number :3;
1284 #define DESCR_TELEPHONE_LEN XX 1293 #define DESCR_LOCAL_TIME_OFFSET_LEN 2 1299 #define LOCAL_TIME_OFFSET_ENTRY_LEN 15 1304 #if BYTE_ORDER == BIG_ENDIAN 1309 u_char local_time_offset_polarity :1;
1311 u_char country_region_id :6;
1326 #define DESCR_SUBTITLING_LEN 2 1332 #define ITEM_SUBTITLING_LEN 8 1346 #define DESCR_TERRESTRIAL_DELIVERY_SYSTEM_LEN XX 1354 #if BYTE_ORDER == BIG_ENDIAN 1361 u_char reserved1 :2;
1362 u_char mpe_fec_indicator :1;
1363 u_char time_slicing_indicator :1;
1365 u_char bandwidth :3;
1367 #if BYTE_ORDER == BIG_ENDIAN 1372 u_char code_rate_HP :3;
1373 u_char hierarchy :3;
1374 u_char constellation :2;
1376 #if BYTE_ORDER == BIG_ENDIAN 1382 u_char other_frequency_flag :1;
1383 u_char transmission_mode :2;
1384 u_char guard_interval :2;
1385 u_char code_rate_LP :3;
1395 #define DESCR_MULTILINGUAL_NETWORK_NAME_LEN XX 1410 #define DESCR_MULTILINGUAL_BOUQUET_NAME_LEN XX 1418 #define DESCR_MULTILINGUAL_SERVICE_NAME_LEN XX 1430 #define DESCR_MULTILINGUAL_COMPONENT_LEN XX 1439 #define DESCR_PRIVATE_DATA_SPECIFIER_LEN XX 1451 #define DESCR_SERVICE_MOVE_LEN XX 1465 #define DESCR_SHORT_SMOOTHING_BUFFER_LEN XX 1474 #define DESCR_FREQUENCY_LIST_LEN XX 1478 #if BYTE_ORDER == BIG_ENDIAN 1482 u_char coding_type :2;
1489 #define DESCR_PARTIAL_TRANSPORT_STREAM_LEN XX 1498 #define DESCR_DATA_BROADCAST_LEN XX 1507 #define DESCR_SCRAMBLING_LEN XX 1516 #define DESCR_DATA_BROADCAST_ID_LEN XX 1525 #define DESCR_TRANSPORT_STREAM_LEN XX 1534 #define DESCR_DSNG_LEN XX 1543 #define DESCR_PDC_LEN 5 1554 #define DESCR_AC3_LEN 3 1558 #if BYTE_ORDER == BIG_ENDIAN 1566 u_char asvc_flag :1;
1567 u_char mainid_flag :1;
1568 u_char bsid_flag :1;
1569 u_char ac3_type_flag :1;
1579 #define DESCR_ANCILLARY_DATA_LEN 3 1588 #define DESCR_CELL_LIST_LEN XX 1597 #define DESCR_CELL_FREQUENCY_LINK_LEN XX 1606 #define DESCR_ANNOUNCEMENT_SUPPORT_LEN XX 1615 #define DESCR_APPLICATION_SIGNALLING_LEN 2 1621 #define APPLICATION_SIGNALLING_ENTRY_LEN 3 1625 #if BYTE_ORDER == BIG_ENDIAN 1629 u_char AIT_version_number :5;
1646 #if BYTE_ORDER == BIG_ENDIAN 1651 u_char availability_flag :1;
1684 #if BYTE_ORDER == BIG_ENDIAN 1688 u_char crid_location :2;
1689 u_char crid_type :6;
1706 #if BYTE_ORDER == BIG_ENDIAN 1712 u_char frame_size :3;
1715 u_char time_slicing :1;
1718 #if BYTE_ORDER == BIG_ENDIAN 1722 u_char time_slice_fec_id :4;
1723 u_char max_average_rate :4;
1743 #if BYTE_ORDER == BIG_ENDIAN 1750 u_char backwards_compatibility_indicator :1;
1751 u_char multiple_input_stream_flag :1;
1752 u_char scrambling_sequence_selector :1;
1757 #if BYTE_ORDER == BIG_ENDIAN 1761 u_char scrambling_sequence_index_hi_lo :2;
1773 #if BYTE_ORDER == BIG_ENDIAN 1783 u_char substream3_flag :1;
1784 u_char substream2_flag :1;
1785 u_char substream1_flag :1;
1786 u_char mixinfoexists :1;
1787 u_char asvc_flag :1;
1788 u_char mainid_flag :1;
1789 u_char bsid_flag :1;
1790 u_char component_type_flag :1;
1799 #if BYTE_ORDER == BIG_ENDIAN 1809 u_char extended_surround_flag :2;
1811 u_char surround_mode :6;
1815 u_char bit_rate_code :6;
1816 u_char sample_rate_code :4;
1826 #if BYTE_ORDER == BIG_ENDIAN 1831 u_char aac_type_flag :1;
1851 #if BYTE_ORDER == BIG_ENDIAN 1861 u_char bandwidth :4;
1862 u_char siso_miso :2;
1864 u_char other_frequency_flag :1;
1865 u_char transmission_mode :3;
1866 u_char guard_interval :3;
1875 #define DESCR_LOGICAL_CHANNEL_LEN 2 1881 #define ITEM_LOGICAL_CHANNEL_LEN 4 1885 #if BYTE_ORDER == BIG_ENDIAN 1890 u_char logical_channel_number_hi :2;
1892 u_char visible_service_flag :1;
1899 #define DESCR_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 2 1905 #define ITEM_HD_SIMULCAST_LOGICAL_CHANNEL_LEN 4 1909 #if BYTE_ORDER == BIG_ENDIAN 1914 u_char logical_channel_number_hi :2;
1916 u_char visible_service_flag :1;
1923 #define DESCR_APPLICATION_LEN 3 1931 #define DESCR_APPLICATION_END_LEN 2 1934 #if BYTE_ORDER == BIG_ENDIAN 1940 u_char visibility :2;
1941 u_char service_bound_flag :1;
1947 #define APPLICATION_PROFILE_ENTRY_LEN 5 1959 #define DESCR_APPLICATION_NAME_LEN 2 1966 #define APPLICATION_NAME_ENTRY_LEN 4 1978 #define DESCR_TRANSPORT_PROTOCOL_LEN 5 1994 #define TRANSPORT_VIA_OC_LEN 1 1997 #if BYTE_ORDER == BIG_ENDIAN 2009 #define TRANSPORT_VIA_OC_REMOTE_END_LEN 7 2021 #define TRANSPORT_VIA_OC_END_LEN 1 2027 #define TRANSPORT_VIA_HTTP_LEN 1 2035 #define DESCR_DVBJ_APPLICATION_LEN 2 2042 #define DESCR_DVBJ_APPLICATION_ENTRY_LEN 1 2051 #define DESCR_DVBJ_APPLICATION_LOCATION_LEN 3 2060 #define DESCR_DVBJ_APPLICATION_LOCATION_MID_LEN 1 2068 #define DESCR_APPLICATION_ICONS_LEN 3 2077 #define DESCR_APPLICATION_ICONS_END_LEN 2 2086 #define DESCR_SIMPLE_APPLICATION_LOCATION_LEN 3 2098 #define DESCR_PREMIERE_CONTENT_TRANSMISSION_LEN 8 2111 #define ITEM_PREMIERE_CONTENT_TRANSMISSION_DAY_LEN 3 2119 #define ITEM_PREMIERE_CONTENT_TRANSMISSION_TIME_LEN 3 2129 #define DESCR_REGISTRATION_LEN 6 2141 #define DESCR_AVC_LEN 6 2162 #endif //LIBSI_HEADERS_H u_char organisation_id_lo_hi
u_char section_syntax_indicator
u_char reference_service_id_hi
u_char icon_locator_length
u_char constraint_set0_flag
u_char organisation_id_hi_hi
u_char service_name_length
u_char descriptors_loop_length_lo
u_char transport_stream_id_lo
u_char application_loop_length_hi
u_char constraint_set1_flag
u_char time_of_change_mjd_lo
u_char service_name_length
u_char AIT_version_number
u_char logical_channel_number_lo
u_char transport_stream_loop_length_lo
u_char backwards_compatibility_indicator
u_char format_identifier_hi_lo
u_char original_network_id_hi
u_char scrambling_sequence_selector
u_char original_network_id_hi
u_char last_section_number
u_char descriptors_loop_length_hi
u_char ecm_repetition_rate_hi
u_char program_info_length_hi
u_char application_profile_lo
u_char application_type_hi
u_char last_descriptor_number
u_char original_network_id_lo
u_char descriptors_loop_length_hi
u_char transport_stream_id_lo
u_char section_syntax_indicator
u_char extended_surround_flag
u_char current_next_indicator
u_char private_data_specifier_lo_lo
u_char component_type_flag
u_char transport_stream_id_lo
u_char constraint_set2_flag
u_char original_network_id_lo
u_char last_section_number
u_char current_next_indicator
u_char original_network_id_lo
u_char application_loop_length_lo
u_char section_syntax_indicator
u_char original_network_id_hi
u_char last_section_number
u_char avc_24_hour_picture_flag
u_char transport_stream_id_hi
u_char current_next_indicator
u_char next_time_offset_m
u_char visible_service_flag
u_char ecm_repetition_rate_lo
u_char descriptors_loop_length_hi
u_char multiple_input_stream_flag
u_char section_syntax_indicator
u_char application_type_lo
u_char format_identifier_lo_hi
u_char country_availability_flag
u_char composition_page_id_lo
u_char original_network_id_lo
u_char other_frequency_flag
u_char transport_stream_id_hi
u_char transport_stream_id_hi
u_char original_network_id_lo
u_char logical_channel_number_lo
u_char transport_stream_id_hi
u_char reference_event_id_lo
u_char time_of_change_time_m
u_char orbital_position_hi
u_char common_descriptors_length_lo
u_char original_network_id_lo
u_char new_original_network_id_lo
u_char transport_stream_id_lo
u_char current_next_indicator
u_char transport_descriptors_length_hi
u_char orbital_position_lo
u_char descriptors_loop_length_lo
u_char section_syntax_indicator
u_char transport_descriptors_length_lo
u_char section_syntax_indicator
u_char content_nibble_level_2
u_char last_section_number
u_char current_next_indicator
u_char application_descriptors_length_lo
u_char constraint_set3_flag
u_char avc_compatible_flags
u_char reference_service_id_hi
u_char content_nibble_level_1
u_char original_network_id_hi
u_char application_type_hi
u_char transport_stream_id_lo
u_char new_transport_stream_id_hi
u_char new_transport_stream_id_lo
u_char organisation_id_hi_lo
u_char visible_service_flag
u_char last_section_number
u_char descriptors_loop_length_lo
u_char last_section_number
u_char time_slicing_indicator
u_char application_profiles_length
u_char section_syntax_indicator
u_char network_descriptor_length_lo
u_char transport_stream_id_lo
u_char descriptor_tag_extension
u_char transport_stream_loop_length_hi
u_char transport_stream_id_hi
u_char reference_service_id_lo
u_char section_syntax_indicator
u_char original_network_id_lo
u_char classpath_extension_length
u_char original_network_id_hi
u_char transport_stream_id_hi
u_char transport_stream_id_lo
u_char last_section_number
u_char eit_present_following_flag
u_char descriptors_loop_length_hi
u_char ancillary_data_identifier
u_char time_of_change_time_s
u_char transport_stream_id_hi
u_char current_next_indicator
u_char reference_service_id_lo
u_char application_priority
u_char item_description_length
u_char section_syntax_indicator
u_char new_original_network_id_hi
u_char time_of_change_time_h
u_char ancillary_page_id_hi
u_char scrambling_sequence_index_lo_lo
u_char constraint_set5_flag
u_char format_identifier_hi_hi
u_char base_directory_length
u_char application_control_code
u_char original_network_id_hi
u_char private_data_specifier_lo_hi
u_char service_bound_flag
u_char current_next_indicator
u_char max_burst_duration
u_char local_time_offset_polarity
u_char current_next_indicator
u_char url_extension_length
u_char last_section_number
u_char provider_name_length
u_char ancillary_page_id_lo
u_char scrambling_sequence_index_hi_lo
u_char original_network_id_hi
u_char logical_channel_number_hi
u_char next_time_offset_h
u_char network_descriptor_length_hi
u_char organisation_id_lo_lo
u_char transport_protocol_label
u_char transport_stream_id_lo
u_char current_next_indicator
u_char descriptors_loop_length_lo
u_char private_data_specifier_hi_lo
u_char constraint_set4_flag
u_char descriptor_tag_extension
u_char private_data_specifier_hi_hi
u_char common_descriptors_length_hi
u_char section_syntax_indicator
u_char reference_event_id_hi
u_char transport_stream_id_lo
u_char other_frequency_flag
u_char format_identifier_lo_lo
u_char local_time_offset_m
u_char program_info_length_lo
u_char local_time_offset_h
u_char logical_channel_number_hi
u_char time_of_change_mjd_hi
u_char application_name_length
u_char section_syntax_indicator
u_char application_descriptors_length_hi
u_char transport_stream_id_hi
u_char section_syntax_indicator
u_char application_profile_hi
u_char frame_packing_sei_not_present_flag
u_char last_section_number
u_char original_network_id_hi
u_char scrambling_sequence_index_lo_hi
u_char original_network_id_lo
u_char application_type_lo
u_char composition_page_id_hi
u_char transport_stream_id_hi
u_char segment_last_section_number