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

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

first commit

  • Property svn:executable set to *
File size: 2.4 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_cds.h
12** Description: defines for the CDS 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_CDS_H
24#define SI_NIT_CDS_H
25
26
27#define NIT_CDS_MAX_NUM_OF_CARRIRE_INDEX        256    /* p16 of ANSI/SCTE65 2002 (DVS234) */
28
29#define NIT_CDS_SPACING_UNIT0   10                      /* in KHz */
30#define NIT_CDS_SPACING_UNIT1   125                     /* in KHz */
31
32#define NIT_CDS_FREQUENCY_UNIT0 10                      /* in KHz */
33#define NIT_CDS_FREQUENCY_UNIT1 125                     /* in KHz */
34
35#define NIT_CDS_SUBTABLE_SIZE   5               /* size of CDS in bytes. */
36
37/* For the following, refer to table 5.3 of ANSI/SCTE65 2002 (DVS234) */
38#define NIT_CDS_NUMBER_OF_CARRIERS_BYTE_INDX    0
39#define NIT_CDS_NUMBER_OF_CARRIERS_BYTE_NUM    1
40#define NIT_CDS_NUMBER_OF_CARRIERS_SHIFT    0
41#define NIT_CDS_NUMBER_OF_CARRIERS_MASK    0xff
42
43#define NIT_CDS_SPACING_UNIT_BYTE_INDX    1
44#define NIT_CDS_SPACING_UNIT_BYTE_NUM    1
45#define NIT_CDS_SPACING_UNIT_BYTE_SHIFT    7
46#define NIT_CDS_SPACING_UNIT_BYTE_MASK    0x01
47
48#define NIT_CDS_FREQUENCY_SPACING_BYTE_INDX    1
49#define NIT_CDS_FREQUENCY_SPACING_BYTE_NUM    2
50#define NIT_CDS_FREQUENCY_SPACING_BYTE_SHIFT    0
51#define NIT_CDS_FREQUENCY_SPACING_BYTE_MASK    0x3fff
52
53#define NIT_CDS_FREQUENCY_UNIT_BYTE_INDX    3
54#define NIT_CDS_FREQUENCY_UNIT_BYTE_NUM    1
55#define NIT_CDS_FREQUENCY_UNIT_BYTE_SHIFT    7
56#define NIT_CDS_FREQUENCY_UNIT_BYTE_MASK    0x01
57
58#define NIT_CDS_FIRST_CARRIER_FREQUENCY_BYTE_INDX    3
59#define NIT_CDS_FIRST_CARRIER_FREQUENCY_BYTE_NUM    2
60#define NIT_CDS_FIRST_CARRIER_FREQUENCY_BYTE_SHIFT    0
61#define NIT_CDS_FIRST_CARRIER_FREQUENCY_BYTE_MASK    0x7fff
62typedef struct SI_CDS_Callback_t
63{
64        void (*cb)(unsigned int freq_khz, int idx, void *data);
65        void * data;
66}SI_CDS_Callback_t;
67
68#ifdef __cplusplus
69extern "C" {
70#endif
71
72void SI_NIT_CDS_Init (SI_CDS_Callback_t *cb);
73unsigned char SI_NIT_CDS_parse (unsigned char * cds_record, unsigned char idx);
74
75#ifdef __cplusplus
76}
77#endif
78
79#endif
80
Note: See TracBrowser for help on using the repository browser.