| 1 | /*************************************************************************** |
|---|
| 2 | * Copyright (c) 2003-2010, 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: bsettop.h $ |
|---|
| 11 | * $brcm_Revision: 106 $ |
|---|
| 12 | * $brcm_Date: 3/1/10 10:42a $ |
|---|
| 13 | * |
|---|
| 14 | * Module Description: |
|---|
| 15 | * |
|---|
| 16 | * Revision History: |
|---|
| 17 | * |
|---|
| 18 | * $brcm_Log: /BSEAV/api/include/bsettop.h $ |
|---|
| 19 | * |
|---|
| 20 | * 106 3/1/10 10:42a jgarrett |
|---|
| 21 | * SW7550-272: Bump Version |
|---|
| 22 | * |
|---|
| 23 | * 105 1/27/10 10:02a jgarrett |
|---|
| 24 | * SW7550-213: Version Increment |
|---|
| 25 | * |
|---|
| 26 | * 104 11/19/09 8:02p jgarrett |
|---|
| 27 | * SW7405-3357: Adding audio output routing for decode and pcm playback |
|---|
| 28 | * prior to start |
|---|
| 29 | * |
|---|
| 30 | * 103 11/10/09 3:43p jgarrett |
|---|
| 31 | * SW7420-166: Adding graphics heap index |
|---|
| 32 | * |
|---|
| 33 | * 102 10/5/09 11:06a jgarrett |
|---|
| 34 | * SW7325-612: Fixing bitmasks for certain blending operations |
|---|
| 35 | * |
|---|
| 36 | * 101 9/29/09 11:48a jgarrett |
|---|
| 37 | * SW7405-3100: Adding display underflows and display drops to video |
|---|
| 38 | * decode status |
|---|
| 39 | * |
|---|
| 40 | * 100 9/14/09 3:05p jgarrett |
|---|
| 41 | * SW7405-3011: Splitting sync control into precision and basic |
|---|
| 42 | * |
|---|
| 43 | * 99 9/10/09 5:17p jgarrett |
|---|
| 44 | * SW7405-3011: Adding sync options to bsettop_init_settings |
|---|
| 45 | * |
|---|
| 46 | * 98 9/4/09 11:44a jgarrett |
|---|
| 47 | * SWDEPRECATED-3910: Exposing audio and video FIFO sizes |
|---|
| 48 | * |
|---|
| 49 | * 97 8/10/09 1:41p jgarrett |
|---|
| 50 | * PR 51648: Adding option to set band gap settings in API |
|---|
| 51 | * |
|---|
| 52 | * 96 7/2/09 10:18a jgarrett |
|---|
| 53 | * PR 56558: Adding init settings routines |
|---|
| 54 | * |
|---|
| 55 | * 95 6/30/09 10:47a jgarrett |
|---|
| 56 | * PR 52051: Increment version |
|---|
| 57 | * |
|---|
| 58 | * 94 5/15/09 3:22p jgarrett |
|---|
| 59 | * PR 52687: Incrementing version |
|---|
| 60 | * |
|---|
| 61 | * 93 5/6/09 4:12p jgarrett |
|---|
| 62 | * PR 50291: Adding wide GA mode |
|---|
| 63 | * |
|---|
| 64 | * SanDiego_Mot_DSR/PR52051/4 6/23/09 6:44p mward |
|---|
| 65 | * PR 52051: Update. |
|---|
| 66 | * |
|---|
| 67 | * 94 5/15/09 3:22p jgarrett |
|---|
| 68 | * PR 52687: Incrementing version |
|---|
| 69 | * |
|---|
| 70 | * 93 5/6/09 4:12p jgarrett |
|---|
| 71 | * PR 50291: Adding wide GA mode |
|---|
| 72 | |
|---|
| 73 | * SanDiego_Mot_DSR/PR52051/3 4/10/09 3:45p mward |
|---|
| 74 | * PR52051: Bumping version. |
|---|
| 75 | * |
|---|
| 76 | * SanDiego_Mot_DSR/PR52051/2 3/27/09 3:25p mward |
|---|
| 77 | * PR52051: Branch for testing dialog normalization switch with new RAP |
|---|
| 78 | * release. |
|---|
| 79 | * |
|---|
| 80 | * 92 3/18/09 12:26p jgarrett |
|---|
| 81 | * PR 53340: Adding 1080p50 |
|---|
| 82 | * |
|---|
| 83 | * 91 3/13/09 3:13p jgarrett |
|---|
| 84 | * PR 49827: Merge to main branch |
|---|
| 85 | * |
|---|
| 86 | * 90 3/4/09 7:47p jgarrett |
|---|
| 87 | * PR 52269: Adding XMP support |
|---|
| 88 | * |
|---|
| 89 | * 89 3/2/09 11:04a jgarrett |
|---|
| 90 | * PR 52599: Adding 97205 |
|---|
| 91 | * |
|---|
| 92 | * 88 2/20/09 1:40p jgarrett |
|---|
| 93 | * PR 52355: Adding ANR |
|---|
| 94 | * |
|---|
| 95 | * Trinity_Xmp_Support/9 2/24/09 11:02a prasadv |
|---|
| 96 | * Code clean up. moved XMP support to user io |
|---|
| 97 | * |
|---|
| 98 | * Trinity_Xmp_Support/8 2/6/09 3:33p prasadv |
|---|
| 99 | * Removed the #ifdef for xmp header file. |
|---|
| 100 | * |
|---|
| 101 | * Trinity_Xmp_Support/7 1/28/09 7:48p prasadv |
|---|
| 102 | * Updating to the latest |
|---|
| 103 | * |
|---|
| 104 | * PR49827/4 3/12/09 10:24a mward |
|---|
| 105 | * PR49827: bumping version. |
|---|
| 106 | * |
|---|
| 107 | * PR49827/3 2/26/09 10:28a mward |
|---|
| 108 | * PR52490: Bumping version |
|---|
| 109 | * |
|---|
| 110 | * PR49827/2 2/19/09 11:31a mward |
|---|
| 111 | * PR49827: Bumping version |
|---|
| 112 | * |
|---|
| 113 | * PR49827/1 1/19/09 3:19p mward |
|---|
| 114 | * PR49827: Bumping version |
|---|
| 115 | * |
|---|
| 116 | * 87 12/18/08 6:37p jgarrett |
|---|
| 117 | * PR 49983: Bumping version |
|---|
| 118 | * |
|---|
| 119 | * 86 11/14/08 5:33p jgarrett |
|---|
| 120 | * PR 48985: Bumping version |
|---|
| 121 | * |
|---|
| 122 | * 85 11/6/08 10:30a jgarrett |
|---|
| 123 | * PR 48700: Revising static library link order |
|---|
| 124 | * |
|---|
| 125 | * 84 10/31/08 9:41a jgarrett |
|---|
| 126 | * PR 47230: Bumping version number |
|---|
| 127 | * |
|---|
| 128 | * 83 9/17/08 4:16p jgarrett |
|---|
| 129 | * PR 47061: Version increment |
|---|
| 130 | * |
|---|
| 131 | * Trinity_Xmp_Support/6 11/11/08 4:38p prasadv |
|---|
| 132 | * 97456 5.1 release as per version 82 |
|---|
| 133 | * |
|---|
| 134 | * 82 9/8/08 10:43a vsilyaev |
|---|
| 135 | * PR 45615: Bumped revision number |
|---|
| 136 | * |
|---|
| 137 | * 81 8/14/08 12:09p jgarrett |
|---|
| 138 | * PR 32047: Bumping version |
|---|
| 139 | * |
|---|
| 140 | * 80 7/23/08 3:19p jgarrett |
|---|
| 141 | * PR 43426: Bumping version |
|---|
| 142 | * |
|---|
| 143 | * 79 7/21/08 3:55p jgarrett |
|---|
| 144 | * PR 42739: Bumping version |
|---|
| 145 | * |
|---|
| 146 | * 78 7/21/08 2:36p jgarrett |
|---|
| 147 | * PR 45013: Incrementing version |
|---|
| 148 | * |
|---|
| 149 | * Trinity_Xmp_Support/5 10/29/08 6:13p prasadv |
|---|
| 150 | * for 97118 6.0 release based on version 77 |
|---|
| 151 | * |
|---|
| 152 | * 77 7/14/08 1:24p jgarrett |
|---|
| 153 | * PR 36285: Bumping BSETTOP_VERSION |
|---|
| 154 | * |
|---|
| 155 | * 76 6/25/08 12:01p jgarrett |
|---|
| 156 | * PR43426: PR43426 : Add 7043 Transcode support |
|---|
| 157 | * |
|---|
| 158 | * PR43426/1 6/24/08 6:25p shyam |
|---|
| 159 | * PR43426 : Add 7043 Transcode support |
|---|
| 160 | * |
|---|
| 161 | * Trinity_Xmp_Support/4 7/21/08 11:04a prasadv |
|---|
| 162 | * 97458 6.0 Take2 Release based on v74 |
|---|
| 163 | * |
|---|
| 164 | * Trinity_Xmp_Support/3 6/27/08 9:47p prasadv |
|---|
| 165 | * 97456 5.0 release based on version 75 |
|---|
| 166 | * |
|---|
| 167 | * 75 5/28/08 2:54p vsilyaev |
|---|
| 168 | * PR 42365: Bumped API version |
|---|
| 169 | * |
|---|
| 170 | * 74 4/11/08 3:49p vsilyaev |
|---|
| 171 | * PR 40987: Bumping version number |
|---|
| 172 | * |
|---|
| 173 | * 73 3/31/08 6:26p jgarrett |
|---|
| 174 | * PR 40987: Bumping version number |
|---|
| 175 | * |
|---|
| 176 | * 72 3/25/08 10:13a jgarrett |
|---|
| 177 | * PR 40857: Incrementing version |
|---|
| 178 | * |
|---|
| 179 | * 71 3/12/08 11:20a jgarrett |
|---|
| 180 | * PR 36248: Incrementing version |
|---|
| 181 | * |
|---|
| 182 | * 70 3/3/08 9:57a jgarrett |
|---|
| 183 | * PR 36787: Bumping version |
|---|
| 184 | * |
|---|
| 185 | * 69 2/21/08 1:45p vsilyaev |
|---|
| 186 | * PR 36787: Bumped version number |
|---|
| 187 | * |
|---|
| 188 | * Trinity_Xmp_Support/2 6/26/08 10:58a prasadv |
|---|
| 189 | * for 97118 5.2 release based on version 64 |
|---|
| 190 | * |
|---|
| 191 | * Trinity_Xmp_Support/1 6/24/08 8:34p prasadv |
|---|
| 192 | * for XMP Support under trinity branch |
|---|
| 193 | * |
|---|
| 194 | * 68 1/31/08 5:17p jgarrett |
|---|
| 195 | * PR 39180: Adding ofdm tuning |
|---|
| 196 | * |
|---|
| 197 | * 67 1/21/08 11:02a jgarrett |
|---|
| 198 | * PR 38591: Incrementing version number |
|---|
| 199 | * |
|---|
| 200 | * 66 1/9/08 11:22a jgarrett |
|---|
| 201 | * PR 36809: Incrementing version |
|---|
| 202 | * |
|---|
| 203 | * 65 12/21/07 11:44a vsilyaev |
|---|
| 204 | * PR 38269: Bumped version number |
|---|
| 205 | * |
|---|
| 206 | * 64 12/12/07 11:11a vsilyaev |
|---|
| 207 | * PR 36971: Bumped version number |
|---|
| 208 | * |
|---|
| 209 | * 63 11/26/07 5:24p vsilyaev |
|---|
| 210 | * PR 35854: Added memory management interface |
|---|
| 211 | * |
|---|
| 212 | * 62 11/9/07 2:19p jgarrett |
|---|
| 213 | * PR 36308: Bumping version |
|---|
| 214 | * |
|---|
| 215 | * 61 10/25/07 11:26a jgarrett |
|---|
| 216 | * PR 28004: Bumping version number |
|---|
| 217 | * |
|---|
| 218 | * 60 10/25/07 9:20a jgarrett |
|---|
| 219 | * PR 28004: Bumping version number |
|---|
| 220 | * |
|---|
| 221 | * 59 9/14/07 3:30p jgarrett |
|---|
| 222 | * PR30689: PR30689: Add second CVBS output support in one display on |
|---|
| 223 | * 7400. |
|---|
| 224 | * |
|---|
| 225 | * PR30689/1 9/14/07 11:12a mward |
|---|
| 226 | * PR30689: Add second CVBS output support in one display on 7400. |
|---|
| 227 | * |
|---|
| 228 | * 58 9/12/07 10:13a jgarrett |
|---|
| 229 | * PR 34578: Bumping BSETTOP_VERSION |
|---|
| 230 | * |
|---|
| 231 | * 57 8/31/07 5:00p jgarrett |
|---|
| 232 | * PR 32044: Updating BSETTOP_VERSION |
|---|
| 233 | * |
|---|
| 234 | * 56 8/13/07 5:25p jgarrett |
|---|
| 235 | * PR 25900: Bumping version number |
|---|
| 236 | * |
|---|
| 237 | * 55 7/24/07 4:03p jgarrett |
|---|
| 238 | * PR 25900: Bumping version number |
|---|
| 239 | * |
|---|
| 240 | * 54 7/11/07 6:48p jgarrett |
|---|
| 241 | * PR 20139: Bumping version number |
|---|
| 242 | * |
|---|
| 243 | * 53 7/3/07 9:08a erickson |
|---|
| 244 | * PR25109: bumped BSETTOP_VERSION for 97401 Phase 6.0 |
|---|
| 245 | * |
|---|
| 246 | * 52 6/28/07 2:18p vsilyaev |
|---|
| 247 | * PR 32275: Fixed order of include files (all SettopApi include shall be |
|---|
| 248 | * included in the bsettop.h and bsettop_impl.h) |
|---|
| 249 | * |
|---|
| 250 | * 51 6/14/08 10:11a jgarrett |
|---|
| 251 | * PR 32123: Adding bsettop_compat.h |
|---|
| 252 | * |
|---|
| 253 | * 50 5/24/07 10:36a gmohile |
|---|
| 254 | * PR 25109: increment version for samsung release |
|---|
| 255 | * |
|---|
| 256 | * 49 5/7/07 1:32p erickson |
|---|
| 257 | * PR25109: bumped BSETTOP_VERSION for 97401 Phase 5.0 |
|---|
| 258 | * |
|---|
| 259 | * 48 4/30/07 10:21a gmohile |
|---|
| 260 | * PR 25109: increment version number for release |
|---|
| 261 | * |
|---|
| 262 | * 47 4/24/07 12:07p jgarrett |
|---|
| 263 | * PR 20139: Bumping version number for release |
|---|
| 264 | * |
|---|
| 265 | * 46 3/23/07 8:01a jgarrett |
|---|
| 266 | * PR 25900: Bumping version for release |
|---|
| 267 | * |
|---|
| 268 | * 45 3/9/07 12:18a erickson |
|---|
| 269 | * PR24374: bumped BSETTOP_VERSION for 97401 Phase 4.0 |
|---|
| 270 | * |
|---|
| 271 | * 44 2/12/07 5:02p jgarrett |
|---|
| 272 | * PR 20139: Bumping version number for update |
|---|
| 273 | * |
|---|
| 274 | * 43 2/8/07 3:45p jgarrett |
|---|
| 275 | * PR 27751: Bumping revision number for PVR encryption flag |
|---|
| 276 | * |
|---|
| 277 | * 42 1/30/07 2:17p vsilyaev |
|---|
| 278 | * PR 19687: Added power management functions |
|---|
| 279 | * |
|---|
| 280 | * 41 1/22/07 9:46a gmohile |
|---|
| 281 | * PR 25109: increment BSETTOP_VERSION for 7403 |
|---|
| 282 | * |
|---|
| 283 | * 40 12/21/06 4:26p vsilyaev |
|---|
| 284 | * PR26258: add cablecard support in Settop API kernel mode |
|---|
| 285 | * |
|---|
| 286 | * PROD_TRINITY_REFSW_Devel/1 12/19/06 3:31p haisongw |
|---|
| 287 | * PR26258: add cablecard support in Settop API kernel mode |
|---|
| 288 | * |
|---|
| 289 | * 38 12/18/06 9:24a erickson |
|---|
| 290 | * PR24374: increment BSETTOP_VERSION for 97401 phase 3.5 (2nd time) |
|---|
| 291 | * |
|---|
| 292 | * 37 12/13/06 4:27p erickson |
|---|
| 293 | * PR24374: increment BSETTOP_VERSION for 97401 phase 3.5 |
|---|
| 294 | * |
|---|
| 295 | * 36 12/7/06 5:33p mward |
|---|
| 296 | * PR23262: update 97118 build (Phase 1.0 release) |
|---|
| 297 | * |
|---|
| 298 | * 35 11/28/06 7:48p dlwin |
|---|
| 299 | * PR 25582: Bump rev. for release. |
|---|
| 300 | * |
|---|
| 301 | * 34 11/7/06 9:35a erickson |
|---|
| 302 | * PR24374: increased BSETTOP_VERSION for 97401 Phase 3.0 |
|---|
| 303 | * |
|---|
| 304 | * 33 10/24/06 1:05p mward |
|---|
| 305 | * PR21671: Increment for 97118 release. |
|---|
| 306 | * |
|---|
| 307 | * 32 10/18/06 4:09p jgarrett |
|---|
| 308 | * PR 20139: Updating BSETTOP_VERSION for release |
|---|
| 309 | * |
|---|
| 310 | * 31 10/10/06 3:11p dlwin |
|---|
| 311 | * PR24374: 97401 phase 2.5 release, take 2 |
|---|
| 312 | * |
|---|
| 313 | * 30 9/21/06 5:31p erickson |
|---|
| 314 | * PR24374: 97401 phase 2.5 release |
|---|
| 315 | * |
|---|
| 316 | * 29 9/18/06 4:54p dlwin |
|---|
| 317 | * PR 24218: bump rev. for release. |
|---|
| 318 | * |
|---|
| 319 | * 28 8/23/06 9:21a jgarrett |
|---|
| 320 | * PR 20139: Bumping version number for release |
|---|
| 321 | * |
|---|
| 322 | * 27 7/31/06 11:11a dlwin |
|---|
| 323 | * PR 23090: Update for 97398 Phase 7.0. |
|---|
| 324 | * |
|---|
| 325 | * 26 7/19/06 6:29p vsilyaev |
|---|
| 326 | * PR 20308: Bumped release number |
|---|
| 327 | * |
|---|
| 328 | * 25 7/11/06 5:56p mphillip |
|---|
| 329 | * PR19544: Bumping the version number once again, due to API changes |
|---|
| 330 | * |
|---|
| 331 | * 24 6/22/06 2:36p jgarrett |
|---|
| 332 | * PR 20139: Updating version number for release |
|---|
| 333 | * |
|---|
| 334 | * 23 6/8/06 5:45p mphillip |
|---|
| 335 | * PR20908: API changes mean bsettop.h needs bumping |
|---|
| 336 | * |
|---|
| 337 | * 22 5/30/06 12:05p jgarrett |
|---|
| 338 | * PR 20139: Incrementing version for release. |
|---|
| 339 | * |
|---|
| 340 | * 21 5/15/06 2:23p vsilyaev |
|---|
| 341 | * PR 20308: Bumped version number |
|---|
| 342 | * |
|---|
| 343 | * 20 4/25/06 3:25p vsilyaev |
|---|
| 344 | * PR 20308: Bumped version number |
|---|
| 345 | * |
|---|
| 346 | * 19 4/18/06 4:10p jgarrett |
|---|
| 347 | * PR 20139: Updating version number for release |
|---|
| 348 | * |
|---|
| 349 | * 18 3/15/06 9:07a erickson |
|---|
| 350 | * PR17108: bump version for release |
|---|
| 351 | * |
|---|
| 352 | * 17 2/28/06 10:06a mphillip |
|---|
| 353 | * PR19927: Version bump for release |
|---|
| 354 | * |
|---|
| 355 | * 16 1/10/06 10:20a erickson |
|---|
| 356 | * PR17108: bump BSETTOP_VERSION |
|---|
| 357 | * |
|---|
| 358 | * 15 12/19/05 12:20p vsilyaev |
|---|
| 359 | * PR 17883: Bumped version number |
|---|
| 360 | * |
|---|
| 361 | * 14 12/2/05 2:29p vsilyaev |
|---|
| 362 | * PR 17883: Bumped version number |
|---|
| 363 | * |
|---|
| 364 | * 13 10/31/05 6:07p vsilyaev |
|---|
| 365 | * PR 17883: Bumped version number |
|---|
| 366 | * |
|---|
| 367 | * 12 10/5/06 4:22p vsilyaev |
|---|
| 368 | * PR16538,PR12828: Bumped version |
|---|
| 369 | * |
|---|
| 370 | * 11 8/25/05 10:54a erickson |
|---|
| 371 | * PR16819: inc VERSION |
|---|
| 372 | * |
|---|
| 373 | * 10 8/1/05 12:23p erickson |
|---|
| 374 | * PR16300: incremented BSETTOP_VERSION for bplaypump changes |
|---|
| 375 | * |
|---|
| 376 | * 9 7/28/05 2:45p mphillip |
|---|
| 377 | * PR15145: Time for a bump |
|---|
| 378 | * |
|---|
| 379 | * 8 6/15/05 11:25a mphillip |
|---|
| 380 | * PR15896: Remove two const declarations (and add a "this structure |
|---|
| 381 | * should be treated as read-only" comment) to get bconfig_copy to work |
|---|
| 382 | * under 2.7 |
|---|
| 383 | * |
|---|
| 384 | * 7 6/9/05 3:24p erickson |
|---|
| 385 | * PR15513: all pass record is now audio pid 0 or 0x1fff. large warnings |
|---|
| 386 | * now printed. |
|---|
| 387 | * |
|---|
| 388 | * 6 6/3/05 12:06p vsilyaev |
|---|
| 389 | * PR 15740: Fix-up for version log. |
|---|
| 390 | * |
|---|
| 391 | * 4 5/20/05 11:20a mphillip |
|---|
| 392 | * PR15267: Public API change means bumping the settop api version |
|---|
| 393 | * |
|---|
| 394 | * 3 5/13/05 12:18p vsilyaev |
|---|
| 395 | * PR 15253: Bumped version number |
|---|
| 396 | * |
|---|
| 397 | * 2 5/2/05 12:09p erickson |
|---|
| 398 | * PR15145: inc BSETTOP_VERSION to make bsettop.h the latest |
|---|
| 399 | * |
|---|
| 400 | * 1 2/7/05 7:04p dlwin |
|---|
| 401 | * Merge down for release 2005_REFSW_MERGETOMAIN: |
|---|
| 402 | * |
|---|
| 403 | * Irvine_BSEAVSW_Devel/28 11/23/04 6:53p vsilyaev |
|---|
| 404 | * PR 13351: Bumped version number to reflect changes in the PVR API. |
|---|
| 405 | * |
|---|
| 406 | * Irvine_BSEAVSW_Devel/27 11/4/04 6:54p vsilyaev |
|---|
| 407 | * PR 13097: Bumped version number (ABI change in the size of mpeg_params |
|---|
| 408 | * structure). |
|---|
| 409 | * |
|---|
| 410 | * Irvine_BSEAVSW_Devel/26 10/25/04 3:28p vsilyaev |
|---|
| 411 | * PR 12665: Merge from OTFPVR branch |
|---|
| 412 | * |
|---|
| 413 | * Irvine_BSEAVSW_Devel/BESOTFPVR/1 10/8/04 7:50p vsilyaev |
|---|
| 414 | * Include rec/play pump before pvr. |
|---|
| 415 | * |
|---|
| 416 | * Irvine_BSEAVSW_Devel/25 6/10/04 8:08a erickson |
|---|
| 417 | * PR11135: brecpump implemented and brecord converted to use recpump |
|---|
| 418 | * |
|---|
| 419 | * Irvine_BSEAVSW_Devel/24 6/8/04 7:40a erickson |
|---|
| 420 | * PR11135: added iniital playpump impl for 97038 |
|---|
| 421 | * |
|---|
| 422 | * Irvine_BSEAVSW_Devel/23 5/3/04 11:21a vsilyaev |
|---|
| 423 | * PR 10927: Bumped minore version number (changed layout of bconfig). |
|---|
| 424 | * |
|---|
| 425 | * Irvine_BSEAVSW_Devel/22 1/20/04 9:23a vsilyaev |
|---|
| 426 | * PR 9383: Bumped version number. |
|---|
| 427 | * |
|---|
| 428 | * Irvine_BSEAVSW_Devel/Irvine_BSEAVSW_Devel_7038/1 12/10/03 6:33p vsilyaev |
|---|
| 429 | * Added bsettop_uninit function. |
|---|
| 430 | * |
|---|
| 431 | * Irvine_BSEAVSW_Devel/20 11/14/03 2:10p erickson |
|---|
| 432 | * PR8612: added vbi support to settop api |
|---|
| 433 | * |
|---|
| 434 | * Irvine_BSEAVSW_Devel/19 10/31/03 11:58a erickson |
|---|
| 435 | * settop api changes after internal review |
|---|
| 436 | * |
|---|
| 437 | * Irvine_BSEAVSW_Devel/18 10/28/03 11:26a erickson |
|---|
| 438 | * settop api reworks after internal design view |
|---|
| 439 | * |
|---|
| 440 | * Irvine_BSEAVSW_Devel/17 10/8/03 11:46a erickson |
|---|
| 441 | * added initial implementation for smartcard |
|---|
| 442 | * |
|---|
| 443 | * Irvine_BSEAVSW_Devel/16 9/30/03 1:13a erickson |
|---|
| 444 | * updated docjet documentation |
|---|
| 445 | * |
|---|
| 446 | * Irvine_BSEAVSW_Devel/15 9/25/03 1:28p erickson |
|---|
| 447 | * added cpu-based encryption to settop api and util |
|---|
| 448 | * |
|---|
| 449 | * Irvine_BSEAVSW_Devel/14 9/24/03 11:51a erickson |
|---|
| 450 | * initial pcm play implementation |
|---|
| 451 | * |
|---|
| 452 | * Irvine_BSEAVSW_Devel/13 9/18/03 5:05p erickson |
|---|
| 453 | * reworked settop api, driver and brutus directory structure |
|---|
| 454 | * |
|---|
| 455 | * Irvine_BSEAVSW_Devel/12 9/17/03 5:04p erickson |
|---|
| 456 | * updated documentation for DocJet |
|---|
| 457 | * |
|---|
| 458 | * Irvine_BSEAVSW_Devel/11 8/13/03 11:37a erickson |
|---|
| 459 | * added more examples |
|---|
| 460 | * |
|---|
| 461 | * Irvine_BSEAVSW_Devel/10 8/1/03 5:34p vsilyaev |
|---|
| 462 | * Added extern C { } brackets. |
|---|
| 463 | * |
|---|
| 464 | * Irvine_BSEAVSW_Devel/9 7/30/03 7:16p vsilyaev |
|---|
| 465 | * added bsettop_config.h header. |
|---|
| 466 | * |
|---|
| 467 | * Irvine_BSEAVSW_Devel/8 7/30/03 2:35p vsilyaev |
|---|
| 468 | * Rearanged headers into the alphabetical order. |
|---|
| 469 | * |
|---|
| 470 | * Irvine_BSEAVSW_Devel/7 7/25/03 8:13p vsilyaev |
|---|
| 471 | * Removed declarations into the bsettop_types.h. |
|---|
| 472 | * |
|---|
| 473 | * Irvine_BSEAVSW_Devel/6 7/25/03 4:22p erickson |
|---|
| 474 | * in the middle of rework, does not compile |
|---|
| 475 | * |
|---|
| 476 | * Irvine_BSEAVSW_Devel/5 7/9/03 5:19p erickson |
|---|
| 477 | * rework for new bband_t model |
|---|
| 478 | * |
|---|
| 479 | * Irvine_BSEAVSW_Devel/4 7/8/03 3:19p erickson |
|---|
| 480 | * added graphics api |
|---|
| 481 | * |
|---|
| 482 | * Irvine_BSEAVSW_Devel/3 6/20/03 5:56p vsilyaev |
|---|
| 483 | * Added PVR. |
|---|
| 484 | * |
|---|
| 485 | * Irvine_BSEAVSW_Devel/2 6/16/03 4:42p erickson |
|---|
| 486 | * api work |
|---|
| 487 | * |
|---|
| 488 | * Irvine_BSEAVSW_Devel/1 6/13/03 3:09p vsilyaev |
|---|
| 489 | * SetTop reference API. |
|---|
| 490 | * |
|---|
| 491 | * |
|---|
| 492 | ***************************************************************************/ |
|---|
| 493 | |
|---|
| 494 | #ifndef BSETTOP_H__ |
|---|
| 495 | #define BSETTOP_H__ |
|---|
| 496 | |
|---|
| 497 | #include "bsettop_types.h" |
|---|
| 498 | |
|---|
| 499 | #include "bsettop_compat.h" |
|---|
| 500 | #include "bsettop_config.h" |
|---|
| 501 | #include "bsettop_decode.h" |
|---|
| 502 | #include "bsettop_display.h" |
|---|
| 503 | #include "bsettop_encode.h" |
|---|
| 504 | #include "bsettop_transcode.h" |
|---|
| 505 | #include "bsettop_graphics.h" |
|---|
| 506 | #include "bsettop_message.h" |
|---|
| 507 | #include "bsettop_playpump.h" |
|---|
| 508 | #include "bsettop_recpump.h" |
|---|
| 509 | #include "bsettop_pvr.h" |
|---|
| 510 | #include "bsettop_tuner.h" |
|---|
| 511 | #include "bsettop_user_io.h" |
|---|
| 512 | #include "bsettop_pcm.h" |
|---|
| 513 | #include "bsettop_stream.h" |
|---|
| 514 | #include "bsettop_cipher.h" |
|---|
| 515 | #include "bsettop_smartcard.h" |
|---|
| 516 | #include "bsettop_vbi.h" |
|---|
| 517 | #include "bsettop_cablecard.h" |
|---|
| 518 | #include "bsettop_crypto.h" |
|---|
| 519 | #include "bsettop_mem.h" |
|---|
| 520 | |
|---|
| 521 | /*=******************************** |
|---|
| 522 | Universal include file for the Settop API. |
|---|
| 523 | |
|---|
| 524 | In order to call any function from the Settop API from your application, |
|---|
| 525 | you should include this and only this file. |
|---|
| 526 | ***********************************/ |
|---|
| 527 | |
|---|
| 528 | #ifdef __cplusplus |
|---|
| 529 | extern "C" |
|---|
| 530 | { |
|---|
| 531 | #endif |
|---|
| 532 | |
|---|
| 533 | /* |
|---|
| 534 | Summary: |
|---|
| 535 | Use the BSETTOP_VERSION macro and ignore this type. |
|---|
| 536 | */ |
|---|
| 537 | typedef unsigned bsettop_version; |
|---|
| 538 | |
|---|
| 539 | /* |
|---|
| 540 | Summary: |
|---|
| 541 | Version macro which must be passed to bsettop_init(). |
|---|
| 542 | */ |
|---|
| 543 | #define BSETTOP_VERSION ((bsettop_version)0x007f) |
|---|
| 544 | |
|---|
| 545 | /* |
|---|
| 546 | Summary: |
|---|
| 547 | Initializes the settop API. |
|---|
| 548 | |
|---|
| 549 | Description: |
|---|
| 550 | Required before any other call. If you don't call it, some key functions will fail; |
|---|
| 551 | others will succeed but will result in undefined behavior. |
|---|
| 552 | |
|---|
| 553 | Use the BSETTOP_VERSION macro to pass the correct version. This verifies |
|---|
| 554 | at run-time that the correct shared library is being used. |
|---|
| 555 | */ |
|---|
| 556 | bresult bsettop_init(bsettop_version version); |
|---|
| 557 | |
|---|
| 558 | /* |
|---|
| 559 | Summary: |
|---|
| 560 | Releases resources |
|---|
| 561 | |
|---|
| 562 | Description: |
|---|
| 563 | This function is used to release resources allocated during bsettop_init. |
|---|
| 564 | User should call this function before exit from an application. |
|---|
| 565 | */ |
|---|
| 566 | void bsettop_uninit(void); |
|---|
| 567 | |
|---|
| 568 | /** |
|---|
| 569 | Summary: |
|---|
| 570 | Describes the power management state of the Settop API. |
|---|
| 571 | Description: |
|---|
| 572 | Each enum may have separate dependencies. They are documented per enum. |
|---|
| 573 | **/ |
|---|
| 574 | typedef struct bsettop_power_state { |
|---|
| 575 | bool av_outputs; /* Set false to power down all audio/video outputs. This includes digital and analog. This can be done |
|---|
| 576 | while decodes are in progress. However, no change in decode (stopping, restart, etc.) is permitted while |
|---|
| 577 | in this mode. */ |
|---|
| 578 | /* TODO: ethernet, SATA core and HDD, decoders, etc. */ |
|---|
| 579 | } bsettop_power_state; |
|---|
| 580 | |
|---|
| 581 | /** |
|---|
| 582 | Summary: |
|---|
| 583 | Get the current power management state. |
|---|
| 584 | **/ |
|---|
| 585 | void bsettop_get_power_state(bsettop_power_state *state); |
|---|
| 586 | |
|---|
| 587 | /** |
|---|
| 588 | Summary: |
|---|
| 589 | Set the current power management state. |
|---|
| 590 | Description: |
|---|
| 591 | Use bsettop_get_power_state to get an initialized bsettop_power_state structure. |
|---|
| 592 | **/ |
|---|
| 593 | bresult bsettop_set_power_state(const bsettop_power_state *state); |
|---|
| 594 | |
|---|
| 595 | /** |
|---|
| 596 | Summary: |
|---|
| 597 | Max number of video dacs on a chip |
|---|
| 598 | **/ |
|---|
| 599 | #define BSETTOP_MAX_VIDEO_DACS (7) |
|---|
| 600 | |
|---|
| 601 | typedef enum bsettop_lipsync_mode |
|---|
| 602 | { |
|---|
| 603 | bsettop_lipsync_mode_precision, /* Enables basic + subframe audio adjustments based on video feedback (default) */ |
|---|
| 604 | bsettop_lipsync_mode_basic, /* Enables tsm + Video and audio path delay matching */ |
|---|
| 605 | bsettop_lipsync_mode_tsm, /* Enables timestamp management */ |
|---|
| 606 | bsettop_lipsync_mode_disabled /* Disables all lipsync */ |
|---|
| 607 | } bsettop_lipsync_mode; |
|---|
| 608 | |
|---|
| 609 | /** |
|---|
| 610 | Summary: |
|---|
| 611 | Settings used to configure bsettop_init() |
|---|
| 612 | **/ |
|---|
| 613 | typedef struct bsettop_init_settings |
|---|
| 614 | { |
|---|
| 615 | bool open_frontend; /* if false, user can call bsettop_init_frontend after bsettop_init [default=true] */ |
|---|
| 616 | |
|---|
| 617 | bsettop_lipsync_mode lipsync_mode; /* If true, precision lipsync is enabled. [default=precision] */ |
|---|
| 618 | bool sync_path_swap; /* If true, the video sync paths are swapped [default=false] */ |
|---|
| 619 | |
|---|
| 620 | unsigned video_fifo_size; /* Video FIFO size in bytes */ |
|---|
| 621 | unsigned audio_fifo_size; /* Audio FIFO size in bytes */ |
|---|
| 622 | |
|---|
| 623 | uint32_t video_dac_band_gap[BSETTOP_MAX_VIDEO_DACS]; /* Adjustment to the video TDAC and QDAC bandgap setting. |
|---|
| 624 | The default value is correct for most chipsets. However, there are |
|---|
| 625 | some production runs that require an adjustment for correct amplitude, |
|---|
| 626 | depends on the particular fab line that manufactured the chip. */ |
|---|
| 627 | } bsettop_init_settings; |
|---|
| 628 | |
|---|
| 629 | /** |
|---|
| 630 | Summary: |
|---|
| 631 | Get current initialization settings |
|---|
| 632 | **/ |
|---|
| 633 | void bsettop_get_init_settings( |
|---|
| 634 | bsettop_init_settings *settings /* [out] */ |
|---|
| 635 | ); |
|---|
| 636 | |
|---|
| 637 | /** |
|---|
| 638 | Summary: |
|---|
| 639 | Apply initialization settings before calling bsettop_init() |
|---|
| 640 | |
|---|
| 641 | Description: |
|---|
| 642 | This function has no effect after bsettop_init() is called. |
|---|
| 643 | **/ |
|---|
| 644 | int bsettop_set_init_settings( |
|---|
| 645 | const bsettop_init_settings *settings |
|---|
| 646 | ); |
|---|
| 647 | |
|---|
| 648 | /** |
|---|
| 649 | Summary: |
|---|
| 650 | Initialize the frontend after bsettop_init if bsettop_init_settings.open_frontend = false; |
|---|
| 651 | **/ |
|---|
| 652 | int bsettop_init_frontend(void); |
|---|
| 653 | |
|---|
| 654 | #ifdef __cplusplus |
|---|
| 655 | } |
|---|
| 656 | #endif |
|---|
| 657 | |
|---|
| 658 | #endif /* BSETTOP_H__ */ |
|---|