source: svn/trunk/newcon3bcm2_21bu/BSEAV/lib/scte65/nit/si_nit_mms.h

Last change on this file was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 3.8 KB
Line 
1/***************************************************************
2**
3** Broadcom Corp. Confidential
4** Copyright 2003-2008 Broadcom Corp. All Rights Reserved.
5**
6** THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED
7** SOFTWARE LICENSE AGREEMENT BETWEEN THE USER AND BROADCOM.
8** YOU HAVE NO RIGHT TO USE OR EXPLOIT THIS MATERIAL EXCEPT
9** SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10**
11** File:                si_nit_mms.h
12** Description: defines for the MMS subtable parse function of
13**              the NIT table section.
14**
15** Created: 03/08/2001
16**
17** REVISION:
18**
19** $Log: $
20**
21**
22****************************************************************/
23#ifndef SI_NIT_MMS_H
24#define SI_NIT_MMS_H
25
26#define NIT_MMS_MAX_TABLE_SIZE  256
27
28#define NIT_MMS_SUBTABLE_SIZE   6               /* size of MMS in bytes. */
29
30
31/* For the following, refer to table 5.3 of ANSI/SCTE65 2002 (DVS234) */
32#define NIT_MMS_TRANSMISSION_SYSTEM_BYTE_INDX    0
33#define NIT_MMS_TRANSMISSION_SYSTEM_BYTE_NUM    1
34#define NIT_MMS_TRANSMISSION_SYSTEM_SHIFT    4
35#define NIT_MMS_TRANSMISSION_SYSTEM_MASK    0x0f
36
37#define NIT_MMS_INNER_CODING_MODE_BYTE_INDX    0
38#define NIT_MMS_INNER_CODING_MODE_BYTE_NUM    1
39#define NIT_MMS_INNER_CODING_MODE_SHIFT    0
40#define NIT_MMS_INNER_CODING_MODE_MASK    0x0f
41
42#define NIT_MMS_SPLIT_BITSTREAM_MODE_BYTE_INDX    1
43#define NIT_MMS_SPLIT_BITSTREAM_MODE_BYTE_NUM    1
44#define NIT_MMS_SPLIT_BITSTREAM_MODE_SHIFT    7
45#define NIT_MMS_SPLIT_BITSTREAM_MODE_MASK    0x01
46
47#define NIT_MMS_MODULATION_FORMAT_BYTE_INDX    1
48#define NIT_MMS_MODULATION_FORMAT_BYTE_NUM    1
49#define NIT_MMS_MODULATION_FORMAT_SHIFT    0
50#define NIT_MMS_MODULATION_FORMAT_MASK    0x1f
51
52#define NIT_MMS_SYMBOL_RATE_BYTE_INDX    2
53#define NIT_MMS_SYMBOL_RATE_BYTE_NUM    4
54#define NIT_MMS_SYMBOL_RATE_SHIFT    0
55#define NIT_MMS_SYMBOL_RATE_MASK    0x0fffffff
56
57
58/* Transmission system define see table 5.7 of ANSI/SCTE65 2002 (DVS234) */
59typedef enum
60{
61        UNKNOWN_TX_SYS = 0,
62        RESERVED_ETSI_TX_SYS = 1,
63        ITU_T_ANNEX_B_TX_SYS = 2,
64        OTHER_TX_SYS = 3,
65        ATSC_TX_SYS = 4,
66        RESERVED_SAT1_TX_SYS = 5,
67        RESERVED_SAT2_TX_SYS = 6,
68        RESERVED_SAT3_TX_SYS = 7,
69        RESERVED_SAT4_TX_SYS = 8,
70        RESERVED_SAT5_TX_SYS = 9,
71        RESERVED_SAT6_TX_SYS = 10,
72        RESERVED_SAT7_TX_SYS = 11,
73        RESERVED_SAT8_TX_SYS = 12,
74        RESERVED_SAT9_TX_SYS = 13,
75        RESERVED_SAT10_TX_SYS = 14,
76        RESERVED_SAT11_TX_SYS = 15,
77}NIT_MMS_TRANSMISSION_SYSTEM;
78
79/* inner coding mode define, see table 5.8 of ANSI/SCTE65 2002 (DVS234) */
80typedef enum
81{
82        RATE_5_11 = 0,
83        RATE_1_2 = 1,
84        RATE_RESERVED1 = 2,
85        RATE_3_5 = 3,
86        RATE_RESERVED2 = 4,
87        RATE_2_3 = 5,
88        RATE_RESERVED3 = 6,
89        RATE_3_4 = 7,
90        RATE_4_5 = 8,
91        RATE_5_6 = 9,
92        RATE_RESERVED4 = 10,
93        RATE_7_8 = 11,
94        RATE_RESERVED5 = 12,
95        RATE_RESERVED6 = 13,
96        RATE_RESERVED7 = 14,
97        RATE_NONE = 15,
98}NIT_MMS_INNER_CODING_MODE;
99
100/* modulation format, see table 5.9 of ANSI/SCTE65 2002 (DVS234) */
101typedef enum
102{
103        MOD_UNKNOWN,
104        MOD_QPSK,
105        MOD_BPSK,
106        MOD_OQPSK,
107        MOD_VSB8,
108        MOD_VSB16,
109        MOD_QAM16,
110        MOD_QAM32,
111        MOD_QAM64,
112        MOD_QAM80,
113        MOD_QAM96,
114        MOD_QAM112,
115        MOD_QAM128,
116        MOD_QAM160,
117        MOD_QAM192,
118        MOD_QAM224,
119        MOD_QAM256,
120        MOD_QAM320,
121        MOD_QAM384,
122        MOD_QAM448,
123        MOD_QAM512,
124        MOD_QAM640,
125        MOD_QAM768,
126        MOD_QAM896,
127        MOD_QAM1024,
128        MOD_RESVERED1,
129        MOD_RESVERED2,
130        MOD_RESVERED3,
131        MOD_RESVERED4,
132        MOD_RESVERED5,
133        MOD_RESVERED6,
134        MOD_RESVERED7,
135}NIT_MMS_MODULATION_FORMAT;
136
137/* The MMS table we keep for reference of SVCT. refer to table 5.6 of ANSI/SCTE65 2002 (DVS234). */
138typedef struct
139{
140        unsigned char transmission_system;
141        unsigned char inner_coding_mode;
142        unsigned char split_bitstream_mode;
143        unsigned char modulation_format;
144        unsigned long symbol_rate;
145        unsigned char idx;
146}NIT_MMS_RECORD;
147
148typedef struct SI_MMS_Callback_t
149{
150        void (*cb)(NIT_MMS_RECORD *p_MMS, void *data);
151        void * data;
152}SI_MMS_Callback_t;
153
154#ifdef __cplusplus
155extern "C" {
156#endif
157
158void SI_NIT_MMS_Init (SI_MMS_Callback_t *p_cb);
159void SI_NIT_MMS_parse (unsigned char * mms_record, unsigned char idx);
160
161#ifdef __cplusplus
162}
163#endif
164
165#endif
166
167
Note: See TracBrowser for help on using the repository browser.