diff options
Diffstat (limited to 'libdtv/libsi/include/si_tables.h')
-rw-r--r-- | libdtv/libsi/include/si_tables.h | 64 |
1 files changed, 52 insertions, 12 deletions
diff --git a/libdtv/libsi/include/si_tables.h b/libdtv/libsi/include/si_tables.h index f10a2980..dfda3bf9 100644 --- a/libdtv/libsi/include/si_tables.h +++ b/libdtv/libsi/include/si_tables.h @@ -5,8 +5,8 @@ /// /// ////////////////////////////////////////////////////////////// -// $Revision: 1.2 $ -// $Date: 2001/08/15 10:00:00 $ +// $Revision: 1.3 $ +// $Date: 2001/10/07 10:24:46 $ // $Author: hakenes $ // // (C) 2001 Rolf Hakenes <hakenes@hippomi.de>, under the GNU GPL. @@ -26,9 +26,6 @@ // Free Software Foundation, Inc., 59 Temple Place - Suite 330, // Boston, MA 02111-1307, USA. -#ifndef SI_TABLES_H -#define SI_TABLES_H - #define HILO(x) (x##_hi << 8 | x##_lo) #define MjdToEpochTime(x) (((x##_hi << 8 | x##_lo)-40587)*86400) @@ -930,14 +927,29 @@ typedef struct parental_rating_struct { /* 0x56 teletext_descriptor */ -#define DESCR_TELETEXT_LEN XX +#define DESCR_TELETEXT_LEN 2 typedef struct descr_teletext_struct { u_char descriptor_tag :8; u_char descriptor_length :8; - /* TBD */ } descr_teletext_t; #define CastTeletextDescriptor(x) ((descr_teletext_t *)(x)) +#define ITEM_TELETEXT_LEN 5 +typedef struct item_teletext_struct { + u_char lang_code1 :8; + u_char lang_code2 :8; + u_char lang_code3 :8; +#if BYTE_ORDER == BIG_ENDIAN + u_char type :5; + u_char magazine_number :3; +#else + u_char magazine_number :3; + u_char type :5; +#endif + u_char page_number :8; +} item_teletext_t; +#define CastTeletextItem(x) ((item_teletext_t *)(x)) + /* 0x57 telephone_descriptor */ @@ -963,14 +975,26 @@ typedef struct descr_local_time_offset_struct { /* 0x59 subtitling_descriptor */ -#define DESCR_SUBTITLING_LEN XX +#define DESCR_SUBTITLING_LEN 2 typedef struct descr_subtitling_struct { u_char descriptor_tag :8; u_char descriptor_length :8; - /* TBD */ } descr_subtitling_t; #define CastSubtitlingDescriptor(x) ((descr_subtitling_t *)(x)) +#define ITEM_SUBTITLING_LEN 8 +typedef struct item_subtitling_struct { + u_char lang_code1 :8; + u_char lang_code2 :8; + u_char lang_code3 :8; + u_char subtitling_type :8; + u_char composition_page_id_hi :8; + u_char composition_page_id_lo :8; + u_char ancillary_page_id_hi :8; + u_char ancillary_page_id_lo :8; +} item_subtitling_t; +#define CastSubtitlingItem(x) ((item_subtitling_t *)(x)) + /* 0x5A terrestrial_delivery_system_descriptor */ @@ -1150,11 +1174,27 @@ typedef struct descr_pdc_struct { /* 0x6A ac3_descriptor */ -#define DESCR_AC3_LEN XX +#define DESCR_AC3_LEN 3 typedef struct descr_ac3_struct { u_char descriptor_tag :8; u_char descriptor_length :8; - /* TBD */ +#if BYTE_ORDER == BIG_ENDIAN + u_char ac3_type_flag :1; + u_char bsid_flag :1; + u_char mainid_flag :1; + u_char asvc_flag :1; + u_char reserved :4; +#else + u_char reserved :4; + u_char asvc_flag :1; + u_char mainid_flag :1; + u_char bsid_flag :1; + u_char ac3_type_flag :1; +#endif + u_char ac3_type :8; + u_char bsid :8; + u_char mainid :8; + u_char asvc :8; } descr_ac3_t; #define CastAc3Descriptor(x) ((descr_ac3_t *)(x)) @@ -1202,4 +1242,4 @@ typedef struct descr_announcement_support_struct { } descr_announcement_support_t; #define CastAnnouncementSupportDescriptor(x) ((descr_announcement_support_t *)(x)) -#endif + |