source: svn/trunk/newcon3bcm2_21bu/BSEAV/lib/mpeg2_ts_parse/ts_priv.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.2 KB
Line 
1
2/***************************************************************************
3 *     Copyright (c) 2003-2005, Broadcom Corporation
4 *     All Rights Reserved
5 *     Confidential Property of Broadcom Corporation
6 *
7 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
8 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
9 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
10 *
11 * $brcm_Workfile: ts_priv.h $
12 * $brcm_Revision: 2 $
13 * $brcm_Date: 3/3/05 4:44p $
14 *
15 * [File Description:]
16 *
17 * Revision History:
18 *
19 * $brcm_Log: /BSEAV/lib/mpeg2_ts_parse/ts_priv.h $
20 *
21 * 2   3/3/05 4:44p erickson
22 * PR14332: fixed uint64_t warnings (probably errors)
23 *
24 * 1   2/7/05 11:30p dlwin
25 * Merge down for release 2005_REFSW_MERGETOMAIN:
26 *
27 * Irvine_BSEAVSW_Devel/2   2/4/04 9:57a erickson
28 * PR9217: converted BDBG_ASSERT calls to CHECK calls. Don't assert on bad
29 * data.
30 *
31 * Irvine_BSEAVSW_Devel/1   8/29/03 5:05p marcusk
32 * Initial Version.
33 *
34 ***************************************************************************/
35#ifndef TS_PRIV_H__
36#define TS_PRIV_H__
37
38#ifdef __cplusplus
39extern "C" {
40#endif
41
42#include "ts_psi.h"
43
44#define TS_READ_64( buf ) ((uint64_t)( \
45        (uint64_t)(buf)[0]<<56| \
46        (uint64_t)(buf)[1]<<48| \
47        (uint64_t)(buf)[2]<<40| \
48        (uint64_t)(buf)[3]<<32| \
49        (buf)[4]<<24|(buf)[5]<<16|(buf)[6]<<8|(buf)[7]))
50#define TS_READ_32( buf ) ((uint32_t)((buf)[0]<<24|(buf)[1]<<16|(buf)[2]<<8|(buf)[3]))
51#define TS_READ_16( buf ) ((uint16_t)((buf)[0]<<8|(buf)[1]))
52
53#define TS_PSI_TABLE_ID_OFFSET                          0
54#define TS_PSI_SECTION_LENGTH_OFFSET            1
55#define TS_PSI_TABLE_ID_EXT_OFFSET                      3
56#define TS_PSI_CNI_OFFSET                                       5
57#define TS_PSI_SECTION_NUMBER_OFFSET            6
58#define TS_PSI_LAST_SECTION_NUMBER_OFFSET       7
59
60#define TS_PSI_GET_SECTION_LENGTH( buf )        (uint16_t)(TS_READ_16( &(buf)[TS_PSI_SECTION_LENGTH_OFFSET] ) & 0x0FFF)
61#define TS_PSI_MAX_BYTE_OFFSET( buf )           (TS_PSI_GET_SECTION_LENGTH(buf) - 1)
62
63TS_PSI_descriptor TS_P_getDescriptor( const uint8_t *p_descBfr, uint32_t descriptorsLength, int descriptorNum );
64
65#define CHECK(COND) \
66        do {if (!(COND)) BDBG_ERR(("Bad CHECK: %s at %s, %d", #COND, __FILE__, __LINE__)); } while (0)
67
68#ifdef __cplusplus
69}
70#endif
71#endif
72/* End of File */
Note: See TracBrowser for help on using the repository browser.