source: svn/trunk/newcon3bcm2_21bu/magnum/commonutils/udp/budp_vce.h @ 52

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

first commit

  • Property svn:executable set to *
File size: 2.9 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2011, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: budp_vce.h $
11 * $brcm_Revision: Hydra_Software_Devel/1 $
12 * $brcm_Date: 12/5/11 2:14p $
13 *
14 * [File Description:]
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/commonutils/udp/budp_vce.h $
19 *
20 * Hydra_Software_Devel/1   12/5/11 2:14p nilesh
21 * SW7425-960: Added VCE user data support
22 *
23 ***************************************************************************/
24
25#ifndef BUDP_VCE_H_
26#define BUDP_VCE_H_
27
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32#include "bavc.h"
33#include "budp_dccparse.h"
34
35typedef struct BUDP_Encoder_Payload_CC
36{
37   unsigned uiNumLines;
38   BUDP_DCCparse_ccdata *astLine;
39} BUDP_Encoder_Payload_CC;
40
41typedef struct BUDP_Encoder_PacketDescriptor_DVS157
42{
43   BUDP_Encoder_Payload_CC stCC;
44} BUDP_Encoder_PacketDescriptor_DVS157;
45
46typedef struct BUDP_Encoder_PacketDescriptor_DVS053
47{
48   BUDP_Encoder_Payload_CC stCC;
49} BUDP_Encoder_PacketDescriptor_DVS053;
50
51typedef struct BUDP_Encoder_PacketDescriptor_ATSC53
52{
53   BUDP_Encoder_Payload_CC stCC;
54} BUDP_Encoder_PacketDescriptor_ATSC53;
55
56/* BUDP_Encoder_PacketDescriptor contains the information necessary to create a single user data packet of ePacketType */
57typedef struct BUDP_Encoder_PacketDescriptor
58{
59   BUDP_DCCparse_Format ePacketFormat; /* Indicates which user data packet format the encoder should
60                                        * use when inserting this packet into the ES
61                                        */
62
63   union
64   {
65      BUDP_Encoder_PacketDescriptor_DVS157 stDvs157;
66      BUDP_Encoder_PacketDescriptor_DVS053 stDvs053;
67      BUDP_Encoder_PacketDescriptor_ATSC53 stAtsc53;
68   } data;
69} BUDP_Encoder_PacketDescriptor;
70
71/* BUDP_Encoder_FieldInfo - contains ALL the user data packet(s) associated with a single field */
72typedef struct BUDP_Encoder_FieldInfo
73{
74   unsigned uiStgPictureId; /* STG Picture ID associated with this user data. */
75   BAVC_Polarity ePolarity; /* Polarity of this Encode. Only eTop or eBotField allowed */
76   unsigned uiNumDescriptors; /* Can be larger than 1 for multiple Encode packets associated with this field */
77   BUDP_Encoder_PacketDescriptor stPacketDescriptor[1]; /* Variable Length Array */
78} BUDP_Encoder_FieldInfo;
79
80#define BUDP_ENCODER_FIELDINFO_GET_NEXT(pFieldInfo)  \
81   (BUDP_Encoder_FieldInfo *)((uint8_t *)(pFieldInfo) + sizeof(BUDP_Encoder_FieldInfo) + ((pFieldInfo)->uiNumDescriptors * sizeof(BUDP_Encoder_PacketDescriptor))- sizeof(BUDP_Encoder_PacketDescriptor))
82
83#ifdef __cplusplus
84}
85#endif
86
87#endif /* BUDP_VCE_H_ */
88/* End of File */
Note: See TracBrowser for help on using the repository browser.