| 1 | /*************************************************************************** |
|---|
| 2 | * Copyright (c) 2003-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: bvdc_macrovision.h $ |
|---|
| 11 | * $brcm_Revision: Hydra_Software_Devel/15 $ |
|---|
| 12 | * $brcm_Date: 11/7/08 6:39p $ |
|---|
| 13 | * |
|---|
| 14 | * Module Description: |
|---|
| 15 | * Header file for Macrovision support |
|---|
| 16 | * |
|---|
| 17 | * Revision History: |
|---|
| 18 | * |
|---|
| 19 | * $brcm_Log: /magnum/portinginterface/vdc/7038/bvdc_macrovision.h $ |
|---|
| 20 | * |
|---|
| 21 | * Hydra_Software_Devel/15 11/7/08 6:39p darnstein |
|---|
| 22 | * PR46484: move new diagnostic commands into bvdc_dbg.h, where they |
|---|
| 23 | * belong. |
|---|
| 24 | * |
|---|
| 25 | * Hydra_Software_Devel/14 11/7/08 5:34p darnstein |
|---|
| 26 | * PR46484: Add functions to print out contents of some important register |
|---|
| 27 | * value tables. Must be activated with #define BVDC_P_DISPLAY_DUMP. |
|---|
| 28 | * |
|---|
| 29 | * Hydra_Software_Devel/13 11/3/04 5:00p hongtaoz |
|---|
| 30 | * PR13164: CPC/CPS tables are run-time variable type; also removed |
|---|
| 31 | * private function from the public header file; |
|---|
| 32 | * |
|---|
| 33 | * Hydra_Software_Devel/12 9/2/04 11:24a hongtaoz |
|---|
| 34 | * PR12552: adding 576p_50Hz support; and removed global MV tables from |
|---|
| 35 | * public header file; |
|---|
| 36 | * |
|---|
| 37 | * Hydra_Software_Devel/11 7/7/04 2:36p hongtaoz |
|---|
| 38 | * PR7726: added support for customer specified Macrovision table to |
|---|
| 39 | * standard modes mapping; |
|---|
| 40 | * |
|---|
| 41 | * Hydra_Software_Devel/10 7/2/04 11:08a hongtaoz |
|---|
| 42 | * PR11596: added enums for Macrovision certification test; added RGB |
|---|
| 43 | * output Macrovision on/off support; |
|---|
| 44 | * PR11561: added error checking for Macrovision api; |
|---|
| 45 | * |
|---|
| 46 | * Hydra_Software_Devel/9 6/25/04 2:33p hongtaoz |
|---|
| 47 | * PR7661: add macrovision support for PAL; fixed macrovision sync-level |
|---|
| 48 | * reduction problem; incorporated 480p macrovision microcode; |
|---|
| 49 | * |
|---|
| 50 | * Hydra_Software_Devel/8 5/24/04 5:10p jasonh |
|---|
| 51 | * PR 11189: Merge down from B0 to main-line |
|---|
| 52 | * |
|---|
| 53 | * Hydra_Software_Devel/Refsw_Devel_7038_B0/1 5/11/04 11:11a maivu |
|---|
| 54 | * PR 11032: Added const to static tables |
|---|
| 55 | * |
|---|
| 56 | * Hydra_Software_Devel/7 4/9/04 2:35p maivu |
|---|
| 57 | * PR 10136: Update pattern ram using latest scripts |
|---|
| 58 | * |
|---|
| 59 | * Hydra_Software_Devel/6 12/10/03 10:07a maivu |
|---|
| 60 | * PR 7661: add support for 480p macrovision |
|---|
| 61 | * |
|---|
| 62 | * Hydra_Software_Devel/5 11/20/03 2:57p maivu |
|---|
| 63 | * Added RamTbl for 480i support |
|---|
| 64 | * |
|---|
| 65 | * Hydra_Software_Devel/4 11/14/03 11:56a maivu |
|---|
| 66 | * Added RamBVBInput_NTSC_MacrovisionTbl |
|---|
| 67 | * |
|---|
| 68 | * Hydra_Software_Devel/3 10/10/03 9:20a maivu |
|---|
| 69 | * Moved BVDC_MacrovisionType enum to bvdc.h, so private functions can |
|---|
| 70 | * reference it |
|---|
| 71 | * |
|---|
| 72 | * Hydra_Software_Devel/2 9/22/03 2:22p maivu |
|---|
| 73 | * Added BVDC_Display_SetMacrovisionTable |
|---|
| 74 | * |
|---|
| 75 | * Hydra_Software_Devel/1 8/29/03 1:31p maivu |
|---|
| 76 | * Initial revision |
|---|
| 77 | * |
|---|
| 78 | ***************************************************************************/ |
|---|
| 79 | #ifndef BVDC_MACROVISION_H__ |
|---|
| 80 | #define BVDC_MACROVISION_H__ |
|---|
| 81 | |
|---|
| 82 | #ifdef __cplusplus |
|---|
| 83 | extern "C" { |
|---|
| 84 | #endif |
|---|
| 85 | |
|---|
| 86 | #define BVDC_CPC_COUNT 2 |
|---|
| 87 | #define BVDC_CPS_COUNT 33 |
|---|
| 88 | typedef uint8_t BVDC_CpcTable[BVDC_CPC_COUNT]; |
|---|
| 89 | typedef uint8_t BVDC_CpsTable[BVDC_CPS_COUNT]; |
|---|
| 90 | |
|---|
| 91 | |
|---|
| 92 | /*************************************************************************** |
|---|
| 93 | Summary: |
|---|
| 94 | This function sets the Macrovision type |
|---|
| 95 | |
|---|
| 96 | Description: |
|---|
| 97 | Sets the macrovision type associated with a Display handle. |
|---|
| 98 | Returns an error if the macrovision type is invalid, or the display |
|---|
| 99 | output does not support macrovision. 656, and DVI do not support |
|---|
| 100 | Macrovision. |
|---|
| 101 | |
|---|
| 102 | Does not take immediate effect. Requires an ApplyChanges() call. |
|---|
| 103 | |
|---|
| 104 | Input: |
|---|
| 105 | hDisplay - Display handle created earlier with BVDC_Display_Create. |
|---|
| 106 | eMacrovisionType - macrovision type |
|---|
| 107 | |
|---|
| 108 | Output: |
|---|
| 109 | |
|---|
| 110 | Returns: |
|---|
| 111 | BERR_INVALID_PARAMETER - Invalid function parameters. |
|---|
| 112 | BERR_SUCCESS - Function succeed |
|---|
| 113 | |
|---|
| 114 | See Also: |
|---|
| 115 | BVDC_Display_GetMacrovisionType |
|---|
| 116 | Note that HDCP, content protection for DVI is supported in the DVI PI. |
|---|
| 117 | **************************************************************************/ |
|---|
| 118 | BERR_Code BVDC_Display_SetMacrovisionType |
|---|
| 119 | ( BVDC_Display_Handle hDisplay, |
|---|
| 120 | BVDC_MacrovisionType eMacrovisionType ); |
|---|
| 121 | |
|---|
| 122 | /*************************************************************************** |
|---|
| 123 | Summary: |
|---|
| 124 | This function queries the Macrovision type applied |
|---|
| 125 | |
|---|
| 126 | Description: |
|---|
| 127 | Returns the macrovision type associated with a Display |
|---|
| 128 | handle. |
|---|
| 129 | |
|---|
| 130 | Input: |
|---|
| 131 | hDisplay - Display handle created earlier with BVDC_Display_Create. |
|---|
| 132 | |
|---|
| 133 | Output: |
|---|
| 134 | peMacrovisionType - pointer to macrovision type |
|---|
| 135 | |
|---|
| 136 | Returns: |
|---|
| 137 | BERR_INVALID_PARAMETER - Invalid function parameters. |
|---|
| 138 | BERR_SUCCESS - Function succeed |
|---|
| 139 | |
|---|
| 140 | See Also: |
|---|
| 141 | BVDC_Display_SetMacrovisionType |
|---|
| 142 | **************************************************************************/ |
|---|
| 143 | BERR_Code BVDC_Display_GetMacrovisionType |
|---|
| 144 | ( const BVDC_Display_Handle hDisplay, |
|---|
| 145 | BVDC_MacrovisionType *peMacrovisionType ); |
|---|
| 146 | |
|---|
| 147 | /*************************************************************************** |
|---|
| 148 | Summary: |
|---|
| 149 | Provide custom Macrovision CPC/CPS values to use, instead of the |
|---|
| 150 | pre-defined Macrovision types. |
|---|
| 151 | |
|---|
| 152 | Description: |
|---|
| 153 | This function programs the Macrovision settings with the CPC/CPS |
|---|
| 154 | provided by the user. Applications are required to call |
|---|
| 155 | BVDC_Display_SetMacrovisionType with BVDC_MacrovisionType_eCustomized. |
|---|
| 156 | |
|---|
| 157 | Input: |
|---|
| 158 | hDisplay - Display handle |
|---|
| 159 | pCpcTable - pointer to CPC table (CPC0,CPC1) |
|---|
| 160 | pCpsTable - pointer to CPS table (CPS0..CPS32) |
|---|
| 161 | |
|---|
| 162 | Output: |
|---|
| 163 | |
|---|
| 164 | Returns: |
|---|
| 165 | BERR_INVALID_PARAMETER - Invalid function parameters. |
|---|
| 166 | BERR_SUCCESS - Function succeed |
|---|
| 167 | |
|---|
| 168 | See Also: |
|---|
| 169 | BVDC_Display_SetMacrovisionType |
|---|
| 170 | **************************************************************************/ |
|---|
| 171 | BERR_Code BVDC_Display_SetMacrovisionTable |
|---|
| 172 | ( BVDC_Display_Handle hDisplay, |
|---|
| 173 | const BVDC_CpcTable pCpcTable, |
|---|
| 174 | const BVDC_CpsTable pCpsTable ); |
|---|
| 175 | |
|---|
| 176 | #ifdef __cplusplus |
|---|
| 177 | } |
|---|
| 178 | #endif |
|---|
| 179 | |
|---|
| 180 | #endif /* #ifndef BVDC_MACROVISION_H__ */ |
|---|
| 181 | /* End of file. */ |
|---|