source: svn/trunk/newcon3bcm2_21bu/magnum/portinginterface/vdc/7552/bvdc_priv.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: 19.5 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2012, 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: bvdc_priv.h $
11 * $brcm_Revision: Hydra_Software_Devel/120 $
12 * $brcm_Date: 3/1/12 11:46a $
13 *
14 * Module Description:
15 *
16 * Revision History:
17 *
18 * $brcm_Log: /magnum/portinginterface/vdc/7038/bvdc_priv.h $
19 *
20 * Hydra_Software_Devel/120   3/1/12 11:46a yuxiaz
21 * SW7425-2526, SW7425-1182: Added runtime query capabilities for source
22 * in VDC.
23 *
24 * Hydra_Software_Devel/119   1/13/12 2:51p tdo
25 * SW7358-159 , SW7418-55 : Default DAC auto detection ON for
26 * 7231/7344/7346Bx
27 *
28 * Hydra_Software_Devel/118   12/1/11 4:33p yuxiaz
29 * SW7425-968, SW7344-95: Merged into mainline.: added independent source
30 * clipping of right window in 3D mode.
31 *
32 * Hydra_Software_Devel/117   11/18/11 3:09p yuxiaz
33 * SW7420-2135: Move MAX number of RULs defines to bvdc_common_priv.h
34 *
35 * Hydra_Software_Devel/116   10/14/11 2:23p tdo
36 * SW7425-1416, SW7358-159: Add feature to control automatic DAC
37 * detection.  Default is currently OFF until it's fully functional.
38 *
39 * Hydra_Software_Devel/115   8/31/11 11:19a syang
40 * SW7425-1170: pxlAspRatio passed to ViCE2 is corrected to x<<16 | y
41 * format
42 *
43 * Hydra_Software_Devel/114   8/26/11 5:38p syang
44 * SW7425-1170: merge from branch SW7572-1170
45 *
46 * Hydra_Software_Devel/SW7425-1170/2   8/26/11 4:22p syang
47 * SW7425-1170: refactor pixel aspect ratio related code
48 *
49 * Hydra_Software_Devel/SW7425-1170/1   8/23/11 6:20p vanessah
50 * SW7425-1170: Aspect ratio cleanup
51 *
52 * Hydra_Software_Devel/113   8/4/11 7:20p tdo
53 * SW7425-979: Add support for 7425B0 DAC name change
54 *
55 * Hydra_Software_Devel/112   7/22/11 4:56p tdo
56 * SW7422-194: implement 40nm vDAC scaled voltage swing and auto-detection
57 * to reduce power dissipation
58 *
59 * Hydra_Software_Devel/111   2/9/11 3:35p pntruong
60 * SW7420-1456: Initial standby power management that used chp's pm
61 * functionalities.
62 *
63 * Hydra_Software_Devel/110   11/12/10 3:56p pntruong
64 * SW7425-31: Takes bvn yuv into account for hddvi input.  Fixed bad debug
65 * register read on non-mfd source.  Updated scratch registers
66 * availabliity.
67 *
68 * Hydra_Software_Devel/109   10/20/10 4:11p yuxiaz
69 * SW7420-1190: Put back generic VDC drian buffer for mosaic mode. Only
70 * allocate drain buffer in window if it does not use main VDC heap.
71 *
72 * Hydra_Software_Devel/108   10/19/10 4:07p yuxiaz
73 * SW7420-1190: Make mosaic scratch buffer to be per window base.
74 *
75 * Hydra_Software_Devel/107   8/26/10 5:27p tdo
76 * SW7422-57: Add simple vdc support
77 *
78 * Hydra_Software_Devel/106   6/23/10 4:59p rpan
79 * SW7400-2808: Stop enabling BVN while aligning VECs.
80 *
81 * Hydra_Software_Devel/105   5/7/10 7:19p albertl
82 * SW7125-364: Changed dirty bits to use union structure to avoid type-pun
83 * warnings
84 *
85 * Hydra_Software_Devel/104   4/19/10 10:18p tdo
86 * SW3548-2814: Improvements to VDC ulBlackMagic. Move
87 * BDBG_OBJECT_ID_DECLARE private header files instead of .c.
88 *
89 * Hydra_Software_Devel/103   4/7/10 11:34a tdo
90 * SW3548-2814: Improvements to VDC ulBlackMagic.  Rename TLA
91 *
92 * Hydra_Software_Devel/102   4/5/10 4:13p tdo
93 * SW3548-2814: Improvements to VDC ulBlackMagic
94 *
95 * Hydra_Software_Devel/101   8/21/09 2:37p tdo
96 * PR57734: Add capability for display to handle DACs re-assignment
97 *
98 * Hydra_Software_Devel/100   6/25/09 12:11p rpan
99 * PR56137, PR56138, PR56139, PR56166, PR56167, PR56168: Support for
100 * various orthogonal VEC configurations.
101 *
102 * Hydra_Software_Devel/99   6/18/09 5:54p syang
103 * PR 55812: add 7550 support
104 *
105 * Hydra_Software_Devel/98   6/5/09 3:08p pntruong
106 * PR54615: [M+T][LCD][VIDEO] Pink gargabe blinks on DTV.  Ensured that
107 * the window shutdown process go thru upon destroy.
108 *
109 * Hydra_Software_Devel/97   2/17/09 2:33p rpan
110 * PR52001: Added 7420 DAC connection state for power management.
111 *
112 * Hydra_Software_Devel/96   2/10/09 4:47p rpan
113 * PR52001: Added 7420 DAC power management.
114 *
115 * Hydra_Software_Devel/95   11/12/08 3:14p tdo
116 * PR48642: Provide clipping rect for histo luma region
117 *
118 * Hydra_Software_Devel/94   9/5/08 4:43p tdo
119 * PR46484: Bringup appframework for7420
120 *
121 * Hydra_Software_Devel/93   8/8/08 3:30p yuxiaz
122 * PR45484: Enable Dithering in VDC.
123 *
124 * Hydra_Software_Devel/92   7/23/08 7:01p tdo
125 * PR43508, PR43509: Mapping individual bandgap adjustment for each DAC
126 *
127 * Hydra_Software_Devel/91   2/29/08 4:19p yuxiaz
128 * PR39158: Implement dithering in various BVN components for 3548.
129 *
130 * Hydra_Software_Devel/90   2/21/08 5:00p pntruong
131 * PR39244: Need drain debugging hooked up to HD_DVI, VDEC, and 656in.
132 * Improved code readability.
133 *
134 * Hydra_Software_Devel/89   10/23/07 11:16a yuxiaz
135 * PR29569, PR36290: Add FGT support on 7405.
136 *
137 * Hydra_Software_Devel/PR29569/1   10/12/07 10:49a yuxiaz
138 * PR29569: Add FGT support on 7405
139 *
140 * Hydra_Software_Devel/88   2/20/07 2:56p jessem
141 * PR25235: Removed the use of rate mask and replaced with actual value of
142 * source frame and display refresh rates.
143 *
144 * Hydra_Software_Devel/87   2/16/07 9:37a pntruong
145 * PR15284, PR27951: Graphics shimmering on HD path when video is scaled
146 * down (PIG).  HW fixed.  Removed software work-around to avoid bvb
147 * error interrupts from window surface.  Make bvdc dbg more portable.
148 *
149 * Hydra_Software_Devel/86   1/24/07 9:07p albertl
150 * PR22237:  Updated BMEM calls to use new BMEM_Heap functions.
151 *
152 * Hydra_Software_Devel/85   12/19/06 3:56p hongtaoz
153 * PR25668: added 7403 support for VDC; further consolidate chip specific
154 * ifdefs to bvdc_common_priv.h;
155 *
156 * Hydra_Software_Devel/84   12/18/06 11:19p pntruong
157 * PR22577: Merged back to mainline.
158 *
159 * Hydra_Software_Devel/Refsw_Devel_3563/4   11/22/06 3:51p syang
160 * PR 26151: re-write shared resource manager. update letter box, mad, dnr
161 * shared-scl acquire/release code accordingly
162 *
163 * Hydra_Software_Devel/Refsw_Devel_3563/3   11/16/06 1:54p hongtaoz
164 * PR25668: merge in vdc support for 7403;
165 *
166 * Hydra_Software_Devel/Refsw_Devel_3563/2   10/23/06 2:44p tdo
167 * PR 23384: Increase MAX_ENTRY_PER_RUL to acomodate 10-bits table size
168 *
169 * Hydra_Software_Devel/Refsw_Devel_3563/1   9/20/06 6:23p tdo
170 * PR 23379, PR 23380, PR 23382, PR 23384: Increase MAX entries per RUL to
171 * handle PEP table writes
172 *
173 * Hydra_Software_Devel/82   8/29/06 11:00a hongtaoz
174 * PR23246: add new QDAC support for 3563; centralize some chip-specific
175 * display macroes into bvdc_common_priv.h;
176 *
177 * Hydra_Software_Devel/81   8/22/06 5:36p pntruong
178 * PR23674: Support CSC auto detection in HDMI.  Added supporting
179 * RGB/YCrCb444/YCrCb422 input colorspace.  Thru eYCbCrType and
180 * eMatrixCoefficients in BAVC_VDC_HdDvi_Picture.
181 *
182 * Hydra_Software_Devel/80   8/18/06 4:24p albertl
183 * PR23117:  Added 7440 support.
184 *
185 * Hydra_Software_Devel/79   8/14/06 1:54p tdo
186 * PR 23456: Moving large array of local variables into handle context
187 *
188 * Hydra_Software_Devel/78   8/7/06 5:32p pntruong
189 * PR22577: Initial bringup of VDC.
190 *
191 * Hydra_Software_Devel/77   7/13/06 10:56a jessem
192 * PR 22389: Added BVDC_P_MapSrcFrameRateToVerticalRefreshRate_isr.
193 *
194 * Hydra_Software_Devel/76   6/15/06 4:45p hongtaoz
195 * PR20716, PR21804: support individual mosaic rectangles visibility;
196 *
197 * Hydra_Software_Devel/75   6/14/06 1:42p syang
198 * PR 21689: add support for 7118
199 *
200 * Hydra_Software_Devel/74   5/10/06 3:26p jessem
201 * PR 17530: Added BTMR_Handle and BTMR_TimerHandle to BVDC_P_Context.
202 *
203 * Hydra_Software_Devel/73   3/7/06 4:03p syang
204 * PR 19670: added 7438 support
205 *
206 * Hydra_Software_Devel/72   2/9/06 4:15p pntruong
207 * PR19270: HDCP glitches at wrap of Sarnoff 1080i DYNPICTS.TRP stream.
208 * Update hdmi rate manager in vertical blanking to avoid glitches.
209 *
210 * Hydra_Software_Devel/70   1/17/06 4:19p hongtaoz
211 * PR19082: first compiled for 7400;
212 *
213 * Hydra_Software_Devel/69   1/12/06 1:33p hongtaoz
214 * PR18233: added mosaic mode support;
215 *
216 * Hydra_Software_Devel/MosaicMode_Feature_PR18233/1   12/8/05 6:50p hongtaoz
217 * PR18233: add Mosaic mode support (single window working);
218 *
219 * Hydra_Software_Devel/68   9/20/05 4:39p pntruong
220 * PR17153: Request to implement a full SCART solution for European
221 * market. Added flag to control vec swap.
222 *
223 * Hydra_Software_Devel/67   8/18/05 1:18p pntruong
224 * PR15757, PR16391, PR16411, PR12519, PR14791, PR15535, PR15206, PR15778:
225 * Improved bandwidth for cropping/scaler/capture/playback.   Unified
226 * window shutdown sequence for destroy, reconfigure mad/scaler, and/or
227 * reconfigure result of source changes.  And miscellances fixes from
228 * above PRs.
229 *
230 * Hydra_Software_Devel/XVDPhase1/XVDPhase1_merge/2   8/17/05 5:01p pntruong
231 * PR12519: Take in additional fixes from mainline, no need to use crc for
232 * drain use vec takeover.
233 *
234 * Hydra_Software_Devel/XVDPhase1/XVDPhase1_merge/1   8/16/05 2:01p pntruong
235 * PR12519: Take in additional fixes from mainline.
236 *
237 * Hydra_Software_Devel/XVDPhase1/4   5/26/05 5:49p pntruong
238 * PR15321, PR15510, PR15560, PR15563: Additional hd_dvi channel change
239 * work.
240 *
241 * Hydra_Software_Devel/XVDPhase1/3   5/6/05 4:00p pntruong
242 * PR13121, PR12519: Added support for xvd hd/sd simul mode.
243 *
244 * Hydra_Software_Devel/XVDPhase1/2   5/3/05 8:34p pntruong
245 * PR15084: Additional work on hddvi input format change.
246 *
247 * Hydra_Software_Devel/XVDPhase1/1   5/2/05 4:54p pntruong
248 * PR12519, PR13121, PR15048, PR15084, PR15100: Dynamically re-allocate
249 * capture in bvn path to reduce memory consumption and bandwith.
250 *
251 * Hydra_Software_Devel/1   5/1/05 4:55p pntruong
252 * XVDPhase1 branch off.  Temp storage so we can keep track of changes.
253 *
254 * Hydra_Software_Devel/65   4/8/05 3:38p pntruong
255 * PR14018, PR14011, PR14450, PR14648:  Vec to generate fake trigger when
256 * source is pulled or not configured correctly or any condition that
257 * cause source to lose trigger.  This vec's fake trigger enable the
258 * applychanges to go thru, and does not result in timeout.
259 *
260 * Hydra_Software_Devel/64   3/21/05 3:32p pntruong
261 * PR14494: Added reset for bvn blocks at startup.
262 *
263 * Hydra_Software_Devel/63   3/18/05 6:30p pntruong
264 * PR14494: Basic vdc up and running.  Background and passed output format
265 * switch test.
266 *
267 * Hydra_Software_Devel/62   3/17/05 6:40p pntruong
268 * PR14494: Add preliminary software support to 3560 A0.
269 *
270 * Hydra_Software_Devel/61   2/22/05 12:53p pntruong
271 * PR14046: While in mirror mode with PIP, VDC times out when toggling
272 * between analog and digital channel.
273 *
274 * Hydra_Software_Devel/60   1/26/05 4:53p pntruong
275 * PR13450, PR12854, PR13549, PR13617, PR13618, PR13683, PR13321, PR13646,
276 * PR13447, PR13429: Disabled vec triggers when vec reset (e.g. format
277 * change) to prevent it from continuosly executing same register update
278 * list that cause system locked up and/or causing vec errors.
279 *
280 * Hydra_Software_Devel/59   12/10/04 2:57p pntruong
281 * PR1344: Added initial C0 Support for VDC.
282 *
283 ***************************************************************************/
284#ifndef BVDC_PRIV_H__
285#define BVDC_PRIV_H__
286
287#include "bvdc.h"
288#include "bkni.h"
289#include "bchp_common.h"
290#include "bvdc_common_priv.h"
291#include "bvdc_resource_priv.h"
292#include "bchp_misc.h"
293#include "btmr.h"
294
295#ifdef __cplusplus
296extern "C" {
297#endif
298
299BDBG_OBJECT_ID_DECLARE(BVDC_VDC);
300BDBG_OBJECT_ID_DECLARE(BVDC_SRC);
301BDBG_OBJECT_ID_DECLARE(BVDC_CMP);
302BDBG_OBJECT_ID_DECLARE(BVDC_WIN);
303BDBG_OBJECT_ID_DECLARE(BVDC_DSP);
304
305/* B0 does not support Letterbox Detection and VBI Pass through together */
306#define B0_NO_LETTERBOX_DETECTION_AND_VBI_PASS_THROUGH_COMBO (1)
307
308/* */
309#define BVDC_P_SUPPORT_TDAC_VER_0                            (0) /* 3563 */
310#define BVDC_P_SUPPORT_TDAC_VER_1                            (1) /* 7401, 7403, 7118 */
311#define BVDC_P_SUPPORT_TDAC_VER_2                            (2) /* 7400 */
312#define BVDC_P_SUPPORT_TDAC_VER_3                            (3) /* 7405A0, 7325 */
313#define BVDC_P_SUPPORT_TDAC_VER_4                            (4) /* 7405Bx, 7335 */
314#define BVDC_P_SUPPORT_TDAC_VER_5                            (5) /* 3548, 3556 */
315#define BVDC_P_SUPPORT_TDAC_VER_6                            (6) /* 7420 */
316#define BVDC_P_SUPPORT_TDAC_VER_7                            (7) /* 7340, 7342 */
317#define BVDC_P_SUPPORT_TDAC_VER_8                            (8) /* 7550: no DAC_BG_CTRL_1 */
318#define BVDC_P_SUPPORT_TDAC_VER_9                            (9) /* 7422: add DAC detection */
319#define BVDC_P_SUPPORT_TDAC_VER_10                          (10) /* 7425 B0: new DAC grouping, DAC detection logic not working */
320#define BVDC_P_SUPPORT_TDAC_VER_11                          (11) /* DAC detection logic working */
321
322#define BVDC_P_SUPPORT_QDAC_VER_0                            (0)
323#define BVDC_P_SUPPORT_QDAC_VER_1                            (1) /* 7400, 3563 */
324
325#ifndef BVDC_SUPPORT_BVN_DEBUG
326#define BVDC_SUPPORT_BVN_DEBUG                               (0)
327#endif
328
329/* Display cracking macros. */
330#define BVDC_P_DISP_GET_REG_IDX(reg) \
331        ((BCHP##_##reg - BCHP_MISC_REG_START) / sizeof(uint32_t))
332
333/* Get/Set reg data */
334#define BVDC_P_VDC_GET_MISC_REG_DATA(reg) \
335        (hVdc->aulMiscRegs[BVDC_P_DISP_GET_REG_IDX(reg)])
336
337#define BVDC_P_DISP_GET_REG_DATA(reg) \
338        (hDisplay->hVdc->aulMiscRegs[BVDC_P_DISP_GET_REG_IDX(reg)])
339#define BVDC_P_DISP_SET_REG_DATA(reg, data) \
340        (BVDC_P_DISP_GET_REG_DATA(reg) = (uint32_t)(data))
341
342/* Get field */
343#define BVDC_P_DISP_GET_FIELD_NAME(reg, field) \
344        (BVDC_P_GET_FIELD(BVDC_P_DISP_GET_REG_DATA(reg), reg, field))
345
346/* Compare field */
347#define BVDC_P_DISP_COMPARE_FIELD_DATA(reg, field, data) \
348        (BVDC_P_COMPARE_FIELD_DATA(BVDC_P_DISP_GET_REG_DATA(reg), reg, field, (data)))
349#define BVDC_P_DISP_COMPARE_FIELD_NAME(reg, field, name) \
350        (BVDC_P_COMPARE_FIELD_NAME(BVDC_P_DISP_GET_REG_DATA(reg), reg, field, name))
351
352/* number of registers in one block. */
353#define BVDC_P_DISP_REGS_COUNT \
354        BVDC_P_REGS_ENTRIES(MISC_REG_START, MISC_REG_END)
355
356/* This macro does a write into RUL (write, addr, data). 3 dwords. */
357#define BVDC_P_DISP_WRITE_TO_RUL(reg, addr_ptr) \
358do { \
359        *addr_ptr++ = BRDC_OP_IMM_TO_REG(); \
360        *addr_ptr++ = BRDC_REGISTER(BCHP##_##reg); \
361        *addr_ptr++ = BVDC_P_DISP_GET_REG_DATA(reg); \
362} while(0)
363
364/* Max length for BVN error msg */
365#define BVDC_P_ERROR_MAX_MSG_LENGTH    (256)
366
367#define BVDC_P_CLIPRECT_PERCENT        (10000)
368
369#ifndef BVDC_UINT32_ONLY
370#define uintAR_t                       uint64_t
371#define BVDC_P_ASPR_FRAC_BITS_NUM      (40)
372#else
373#define uintAR_t                       uint32_t
374        /* for well bounded value such as pixel and full aspect ratio value */
375#define BVDC_P_ASPR_FRAC_BITS_NUM      (16)
376#endif
377
378
379/***************************************************************************
380 * VDC Internal data structures
381 ***************************************************************************/
382typedef struct BVDC_P_Context
383{
384        BDBG_OBJECT(BVDC_VDC)
385
386        /* public fields */
387        BVDC_Settings                  stSettings;
388
389        /* handed down from app. */
390        BCHP_Handle                    hChip;
391        BREG_Handle                    hRegister;
392        BMEM_Heap_Handle               hMemory;
393        BINT_Handle                    hInterrupt;
394        BRDC_Handle                    hRdc;
395        BTMR_Handle                    hTmr;
396
397        /* Created during BVDC_Open via a call to BVDC_P_InitTimer */
398        BTMR_TimerHandle               hTimer;
399
400        /* These handle get defer allocation until used by app. */
401        BVDC_Source_Handle             ahSource[BVDC_P_MAX_SOURCE_COUNT];
402        BVDC_Display_Handle            ahDisplay[BVDC_P_MAX_DISPLAY_COUNT];
403        BVDC_Compositor_Handle         ahCompositor[BVDC_P_MAX_COMPOSITOR_COUNT];
404
405        BVDC_P_BufferHeap_Handle       hBufferHeap;
406
407        /* Allocated hardware resources */
408        const BVDC_P_Features         *pFeatures;
409        BVDC_P_Resource_Handle         hResource;
410
411        /* Swap compositor/vec!  cmp_0 -> prim vs. cmp_0 -> sec */
412        bool                           bSwapVec;
413
414        /* Store other var that is global to VDC here.  If it's has window,
415         * compositor, display, or source scope store it in respectives context. */
416        BVDC_Compositor_Handle         hCmpCheckSource;
417
418        /* Misc register (VEC's top-level registers) */
419        uint32_t                       aulMiscRegs[BVDC_P_DISP_REGS_COUNT];
420        uint32_t                       ulInsideCs;
421
422        BINT_CallbackHandle            ahErrHandlerCb[BVDC_P_ERROR_INTR_CB_COUNT];
423
424        /* HD_DVI register shared between BVDC_P_HdDviId_eHdDvi0 and
425         * BVDC_P_HdDviId_eHdDvi1. Need to keep track of it here to
426         * work around the RDC read/modify/write problem */
427        uint32_t                       ulHdDviBvbReg;
428        uint32_t                       ulHdDviChMapReg;
429
430#if BVDC_P_SUPPORT_MOSAIC_MODE
431        /* capture drain buffer for mosaic mode, shared by all captures; */
432        void                          *pvVdcNullBufAddr;
433        uint32_t                       ulVdcNullBufOffset;
434#endif
435
436        /* FGT Noise Pixel Pattern Table */
437        uint8_t                       *pucFgtPatTblAddr;
438
439        /* Store the generic BVN error msg */
440        char                           achBuf[BVDC_P_ERROR_MAX_MSG_LENGTH];
441        uint32_t                       ulApplyCnt;
442        bool                           bForcePrint;
443
444#if BVDC_P_ORTHOGONAL_VEC
445        BVDC_DacOutput                 aDacOutput[BVDC_P_MAX_DACS];
446        uint32_t                       aDacDisplay[BVDC_P_MAX_DACS];
447        bool                           bCalibrated;
448        bool                           bDacDetectionEnable;
449        const uint32_t                *aulDacGrouping;
450#endif
451
452        /* Standby state */
453        bool                           bStandby;
454
455} BVDC_P_Context;
456
457
458/***************************************************************************
459 * VDC private functions
460 ***************************************************************************/
461void BVDC_P_CompositorDisplay_isr
462        ( void                            *pvParam1,
463          int                              iParam2 );
464
465void BVDC_P_BuildNoOpsRul_isr
466        ( BRDC_List_Handle                 hList );
467
468void BVDC_P_ReadListInfo_isr
469        ( BVDC_P_ListInfo                 *pList,
470          BRDC_List_Handle                 hList );
471
472void BVDC_P_WriteListInfo_isr
473        ( const BVDC_P_ListInfo           *pList,
474          BRDC_List_Handle                 hList );
475
476void BVDC_P_Dither_Init
477        ( BVDC_P_DitherSetting            *pDitherSetting,
478          uint32_t                         ulLfsrCtrlT0,
479          uint32_t                         ulLfsrCtrlT1,
480          uint32_t                         ulLfsrCtrlT2,
481          uint32_t                         ulLfsrValue );
482
483BERR_Code BVDC_P_CreateErrCb
484        ( BVDC_P_Context                  *pVdc );
485
486BERR_Code BVDC_P_DestroyErrCb
487        ( BVDC_P_Context                  *pVdc );
488
489void BVDC_P_CalculateRect_isr
490        ( const BVDC_ClipRect             *pClipRect,
491          uint32_t                         ulWidth,
492          uint32_t                         ulHeight,
493          bool                             bInterlaced,
494          BVDC_P_Rect                     *pRect );
495
496bool BVDC_P_CbIsDirty
497        (void                           *pDirty,
498         uint32_t                        ulSize );
499
500void BVDC_P_CalcuPixelAspectRatio_isr(
501        BFMT_AspectRatio                                 eFullAspectRatio,         /* full asp ratio enum */
502        uint32_t                                                 ulSampleAspectRatioX, /* width of one sampled src pixel */
503        uint32_t                                                 ulSampleAspectRatioY, /* height of one sampled src pixel */
504        uint32_t                                                 ulFullWidth,              /* full asp ratio width */
505        uint32_t                         ulFullHeight,         /* full asp ratio height */
506        const BVDC_P_ClipRect*           pAspRatCnvsClip,          /* asp rat cnvs clip */
507        uintAR_t *                                               pulPxlAspRatio,       /* PxlAspR_int.PxlAspR_frac */
508        uint32_t *                       pulPxlAspRatio_x_y);  /* PxlAspR_x<<16 | PxlAspR_y */
509
510bool  BVDC_P_IsPxlfmtSupported
511        (BPXL_Format                       ePxlFmt);
512
513#ifdef __cplusplus
514}
515#endif
516
517#endif /* #ifndef BVDC_PRIV_H__ */
518/* End of file. */
Note: See TracBrowser for help on using the repository browser.