source: svn/newcon3bcm2_21bu/magnum/portinginterface/xvd/7552/bxvd_userdata_priv.h

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 4.7 KB
Line 
1/***************************************************************************
2 *    Copyright (c) 2004-2008, 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: bxvd_userdata_priv.h $
11 * $brcm_Revision: Hydra_Software_Devel/15 $
12 * $brcm_Date: 4/7/08 7:08p $
13 *
14 * Module Description:
15 *       This header contains private data and functions for user data.
16 *
17 * Revision History:
18 *
19 * $brcm_Log: /magnum/portinginterface/xvd/7401/bxvd_userdata_priv.h $
20 *
21 * Hydra_Software_Devel/15   4/7/08 7:08p pblanco
22 * PR41311: Merged parameter settability changes from single decode branch
23 *
24 * Hydra_Software_Devel/14   4/4/08 4:32p pblanco
25 * PR41311: Backed out queue item size change. Queue depth can still be
26 * adjusted
27 *
28 * Hydra_Software_Devel/13   4/3/08 4:33p pblanco
29 * PR41311: Made queue depth and item size runtime settable parameters
30 *
31 * Hydra_Software_Devel/12   9/14/07 3:44p pblanco
32 * PR34863: Decreased userdata queue depth from 64 to 32 to allow userdata
33 * item sizes of 2048 to coexist with the kmalloc limit of < 128K.
34 *
35 * Hydra_Software_Devel/11   9/10/07 1:04p pblanco
36 * PR34636: Increase size of user data item from 512 to 2048 for all
37 * platforms
38 *
39 * Hydra_Software_Devel/10   2/21/07 11:40a pblanco
40 * PR26433: Set formatting to standard agreed upon within the XVD group on
41 * 2/20/07.
42 *
43 * Hydra_Software_Devel/9   2/15/07 3:51p pblanco
44 * PR27683: Added PTS and PTS valid flag to userdata.
45 *
46 * Hydra_Software_Devel/8   12/12/06 3:02p davidp
47 * PR25443: Merge Simplified FW API branch into mainline
48 *
49 * Hydra_Software_Devel/xvd_7401_PR25443_Simplified_FW_API/2   11/15/06 4:13p davidp
50 * PR25443: Merge mainline changes into branch, clean up code.
51 *
52 * Hydra_Software_Devel/xvd_7401_PR25443_Simplified_FW_API/1   11/9/06 2:05p davidp
53 * PR25443: Add userdata data area to queue element.
54 *
55 * Hydra_Software_Devel/7   5/26/06 1:55p davidp
56 * PR21740: Store userdata context in channel context, convert userdata
57 * addr using private memory heap info.
58 *
59 * Hydra_Software_Devel/6   12/1/05 1:44p pblanco
60 * PR16052: Changed function prototype for
61 * BXVD_P_Userdata_EnqueueDataPointer.
62 *
63 * Hydra_Software_Devel/5   11/18/05 8:26a pblanco
64 * PR16052: Changed enqueue function prototype to accept field and
65 * pulldown args.
66 *
67 * Hydra_Software_Devel/3   11/11/05 9:49a pblanco
68 * PR16052: Added channel handle argument to
69 * BXVD_P_Userdata_EnqeueDataPointer prototype.
70 *
71 * Hydra_Software_Devel/2   11/11/05 7:27a pblanco
72 * PR16052: Added function prototype for
73 * BXVD_P_Userdata_EnqueueDataPointer.
74 *
75 * ***************************************************************************/
76#ifndef BXVD_USERDATA_PRIV_H__
77#define BXVD_USERDATA_PRIV_H__
78
79#include "bstd.h"                                /* standard types */
80#include "bavc.h"                                /* for userdata */
81#include "bdbg.h"                                /* Dbglib */
82#include "bxvd_vdec_info.h"
83
84#ifdef __cplusplus
85extern "C" {
86#endif
87
88/* Circular queue */
89#define BXVD_P_USERDATA_QUEUE_START 0
90#define BXVD_P_USERDATA_QUEUE_MAX   32
91
92#define BXVD_P_USERDATA_ITEM_SIZE   2048
93
94typedef struct _QUEUE_MGR_
95{
96      int ulReadPtr;
97      int ulWritePtr;
98      int ulNextPtr;
99      int ulQueueDepth;
100      struct data
101      {
102            int           protocol;
103            unsigned long ulFlags;
104            unsigned long ulPulldown;
105            unsigned long ulPTS;
106            unsigned char *uUserData;
107      } *queue_data;
108} QUEUE_MGR;
109
110
111/* The internal structure for the User Data handle */
112typedef struct BXVD_P_UserDataContext
113{
114      BXVD_ChannelHandle     hXvdCh;
115      BINT_CallbackHandle    hCbUserdata;
116      BXVD_Userdata_Settings sUserdataSettings;
117      void                   *pBfr; /* user data buffer */
118      bool                   bCallbackEnabled;
119      /* Userdata callback registered */
120      BINT_CallbackFunc      fUserdataCallback_isr;
121      void                   *pParm1;
122      int                    parm2;
123      QUEUE_MGR              queue;
124} BXVD_P_UserDataContext ;
125
126
127/*
128 * Called by DM when valid user data is available in the PPB.
129 */
130BERR_Code BXVD_P_Userdata_EnqueueDataPointer(BXVD_ChannelHandle hXvdCh, 
131                                             int           protocol,
132                                             unsigned long p_UserData,
133                                             unsigned long ulFlags,
134                                             unsigned long ulPulldown,
135                                             unsigned long ulPTS);
136
137#ifdef __cplusplus
138}
139#endif
140
141#endif /* BXVD_USERDATA_PRIV_H__ */
142/* End of file. */
143 
144
145
Note: See TracBrowser for help on using the repository browser.