1 //<MStar Software> 2 //****************************************************************************** 3 // MStar Software 4 // Copyright (c) 2010 - 2012 MStar Semiconductor, Inc. All rights reserved. 5 // All software, firmware and related documentation herein ("MStar Software") are 6 // intellectual property of MStar Semiconductor, Inc. ("MStar") and protected by 7 // law, including, but not limited to, copyright law and international treaties. 8 // Any use, modification, reproduction, retransmission, or republication of all 9 // or part of MStar Software is expressly prohibited, unless prior written 10 // permission has been granted by MStar. 11 // 12 // By accessing, browsing and/or using MStar Software, you acknowledge that you 13 // have read, understood, and agree, to be bound by below terms ("Terms") and to 14 // comply with all applicable laws and regulations: 15 // 16 // 1. MStar shall retain any and all right, ownership and interest to MStar 17 // Software and any modification/derivatives thereof. 18 // No right, ownership, or interest to MStar Software and any 19 // modification/derivatives thereof is transferred to you under Terms. 20 // 21 // 2. You understand that MStar Software might include, incorporate or be 22 // supplied together with third party`s software and the use of MStar 23 // Software may require additional licenses from third parties. 24 // Therefore, you hereby agree it is your sole responsibility to separately 25 // obtain any and all third party right and license necessary for your use of 26 // such third party`s software. 27 // 28 // 3. MStar Software and any modification/derivatives thereof shall be deemed as 29 // MStar`s confidential information and you agree to keep MStar`s 30 // confidential information in strictest confidence and not disclose to any 31 // third party. 32 // 33 // 4. MStar Software is provided on an "AS IS" basis without warranties of any 34 // kind. Any warranties are hereby expressly disclaimed by MStar, including 35 // without limitation, any warranties of merchantability, non-infringement of 36 // intellectual property rights, fitness for a particular purpose, error free 37 // and in conformity with any international standard. You agree to waive any 38 // claim against MStar for any loss, damage, cost or expense that you may 39 // incur related to your use of MStar Software. 40 // In no event shall MStar be liable for any direct, indirect, incidental or 41 // consequential damages, including without limitation, lost of profit or 42 // revenues, lost or damage of data, and unauthorized system use. 43 // You agree that this Section 4 shall still apply without being affected 44 // even if MStar Software has been modified by MStar in accordance with your 45 // request or instruction for your use, except otherwise agreed by both 46 // parties in writing. 47 // 48 // 5. If requested, MStar may from time to time provide technical supports or 49 // services in relation with MStar Software to you for your use of 50 // MStar Software in conjunction with your or your customer`s product 51 // ("Services"). 52 // You understand and agree that, except otherwise agreed by both parties in 53 // writing, Services are provided on an "AS IS" basis and the warranty 54 // disclaimer set forth in Section 4 above shall apply. 55 // 56 // 6. Nothing contained herein shall be construed as by implication, estoppels 57 // or otherwise: 58 // (a) conferring any license or right to use MStar name, trademark, service 59 // mark, symbol or any other identification; 60 // (b) obligating MStar or any of its affiliates to furnish any person, 61 // including without limitation, you and your customers, any assistance 62 // of any kind whatsoever, or any information; or 63 // (c) conferring any license or right under any intellectual property right. 64 // 65 // 7. These terms shall be governed by and construed in accordance with the laws 66 // of Taiwan, R.O.C., excluding its conflict of law rules. 67 // Any and all dispute arising out hereof or related hereto shall be finally 68 // settled by arbitration referred to the Chinese Arbitration Association, 69 // Taipei in accordance with the ROC Arbitration Law and the Arbitration 70 // Rules of the Association by three (3) arbitrators appointed in accordance 71 // with the said Rules. 72 // The place of arbitration shall be in Taipei, Taiwan and the language shall 73 // be English. 74 // The arbitration award shall be final and binding to both parties. 75 // 76 //****************************************************************************** 77 //<MStar Software> 78 //////////////////////////////////////////////////////////////////////////////// 79 // 80 // Copyright (c) 2008-2009 MStar Semiconductor, Inc. 81 // All rights reserved. 82 // 83 // Unless otherwise stipulated in writing, any and all information contained 84 // herein regardless in any format shall remain the sole proprietary of 85 // MStar Semiconductor Inc. and be kept in strict confidence 86 // ("MStar Confidential Information") by the recipient. 87 // Any unauthorized act including without limitation unauthorized disclosure, 88 // copying, use, reproduction, sale, distribution, modification, disassembling, 89 // reverse engineering and compiling of the contents of MStar Confidential 90 // Information is unlawful and strictly prohibited. MStar hereby reserves the 91 // rights to any and all damages, losses, costs and expenses resulting therefrom. 92 // 93 //////////////////////////////////////////////////////////////////////////////// 94 /////////////////////////////////////////////////////////////////////////////// 95 /// 96 /// @file apiGOP.h 97 /// @brief MStar GOP Driver Interface 98 /// @author MStar Semiconductor Inc. 99 /// @version 1.0 100 /////////////////////////////////////////////////////////////////////////////// 101 //------------------------------------------------- 102 /*! \defgroup GOP GOP interface 103 104 \image html apiGOP_schema.png 105 <b>Mstar GOP(Graphic Output Path) engine is used to for graphic output. </b> \n 106 - Alpha blending??the content of framebuffer to video. 107 - GWIN is a window defined for displaying framebuffer content of GOP. 108 - Once enabled, GOP read framebuffer pixel data continuously upon output timing 109 110 <b> Features: </b> \ns 111 - Data Format : RGB565/RGB1555/ARGB4444/I8/ARGB8888/2266/YUV??etc 112 - Output mode : RGB/YUV 113 - Window dimension : h-start, h-end, v-start, v-end 114 - Out path: MVOP/IP main/IP sub/VOP/MIXER/VE/OC 115 - Scaling UP 116 - H/V Mirror 117 - H/V Scolling 118 - Testpattern 119 - Color colorkey 120 121 <b> Operation Code Flow: </b> \ns 122 -# ResetPool 123 -# ResetGOP 124 -# InitByGOP 125 -# UpdateRegOnce(TRUE) 126 -# ...AP Behavior... 127 -# GWIN_Enable 128 -# UpdateRegOnce(FALSE) 129 130 *! \defgroup GOP_INIT GOP init related functions 131 * \ingroup GOP 132 133 *! \defgroup INIT GOP init related functions 134 * \ingroup GOP_INIT 135 136 *! \defgroup RESET GOP rest related functions 137 * \ingroup GOP_INIT 138 139 *! \defgroup PRE_CONFIG GOP pre config related functions 140 * \ingroup GOP_INIT 141 142 *! \defgroup GOP_CAPS GOP get capability related functions 143 * \ingroup GOP 144 145 *! \defgroup GOP_CB GOP call back related functions 146 * \ingroup GOP 147 148 *! \defgroup GOP_LOCK_BEGINE_END GOP lock begine/end related functions 149 * \ingroup GOP 150 151 *! \defgroup GOP_CONFIG GOP config related functions 152 * \ingroup GOP 153 154 *! \defgroup DST GOP dst related functions 155 * \ingroup GOP_CONFIG 156 157 *! \defgroup MIRROR GOP mirror related functions 158 * \ingroup GOP_CONFIG 159 160 *! \defgroup PALETTE GOP palette related functions 161 * \ingroup GOP_CONFIG 162 163 *! \defgroup 3D GOP 3D related functions 164 * \ingroup GOP_CONFIG 165 166 *! \defgroup GOP_ORDER GOP order related functions 167 * \ingroup GOP_CONFIG 168 169 *! \defgroup COLOR_TRANSFOR GOP color transfor related functions 170 * \ingroup GOP_CONFIG 171 172 *! \defgroup TRANSPARENT_CLR_CEY GOP transparent color key related functions 173 * \ingroup GOP_CONFIG 174 175 *! \defgroup MIU GOP MIU related functions 176 * \ingroup GOP_CONFIG 177 178 *! \defgroup BW GOP BW related functions 179 * \ingroup GOP_CONFIG 180 181 *! \defgroup GOP_OPTION GOP option related functions 182 * \ingroup GOP_CONFIG 183 184 *! \defgroup GOP_UPDATE GOP update related functions 185 * \ingroup GOP 186 187 *! \defgroup FORCE_WRITE GOP force write related functions 188 * \ingroup GOP_UPDATE 189 190 *! \defgroup UPDATE_GROUP_ONCE GOP update group once related functions 191 * \ingroup GOP_UPDATE 192 193 *! \defgroup UPDATE GOP update related functions 194 * \ingroup GOP_UPDATE 195 196 *! \defgroup GOP_TEST_PATTERN GOP test pattern related functions 197 * \ingroup GOP 198 199 *! \defgroup GOP_POWER_STATE GOP power state related functions 200 * \ingroup GOP 201 202 *! \defgroup STRETCH_WINDOW Stretch-window related functions 203 * \ingroup GOP 204 205 *! \defgroup SET_STRETCH_WINDOW Stretch-window set window related functions 206 * \ingroup STRETCH_WINDOW 207 208 *! \defgroup SCALE Stretch-window scaling related functions 209 * \ingroup STRETCH_WINDOW 210 211 *! \defgroup GWIN GWIN related functions 212 * \ingroup GOP 213 214 *! \defgroup GWIN_CREATE GWIN create related functions 215 * \ingroup GWIN 216 217 *! \defgroup SHARE GWIN share related functions 218 * \ingroup GWIN 219 220 *! \defgroup GWIN_DELETE GWIN delete related functions 221 * \ingroup GWIN 222 223 *! \defgroup SET_GWIN_WINDOW GWIN set window related functions 224 * \ingroup GWIN 225 226 *! \defgroup FLIP GWIN flip related functions 227 * \ingroup GWIN 228 229 *! \defgroup ALPHA_BLENDING GWIN alpha blending related functions 230 * \ingroup GWIN 231 232 *! \defgroup BASIC GWIN alpha blending basic related functions 233 * \ingroup ALPHA_BLENDING 234 235 *! \defgroup EXTRA GWIN alpha blending option related functions 236 * \ingroup ALPHA_BLENDING 237 238 *! \defgroup ENABLE GWIN enable related functions 239 * \ingroup GWIN 240 241 *! \defgroup GWIN_STATUS GWIN status related functions 242 * \ingroup GWIN 243 244 *! \defgroup GWIN_OPTION GWIN option related functions 245 * \ingroup GWIN 246 247 *! \defgroup GWIN_ORDER GWIN order related functions 248 * \ingroup GWIN_OPTION 249 250 *! \defgroup BG GWIN BG related functions 251 * \ingroup GWIN_OPTION 252 253 *! \defgroup SCROLL GWIN scroll related functions 254 * \ingroup GWIN_OPTION 255 256 *! \defgroup FADING GWIN fading related functions 257 * \ingroup GWIN_OPTION 258 259 *! \defgroup BLINK GWIN blink related functions 260 * \ingroup GWIN_OPTION 261 262 *! \defgroup PINPON GWIN pin-pon related functions 263 * \ingroup GWIN_OPTION 264 265 *! \defgroup TILE_MODE GWIN tile-mode related functions 266 * \ingroup GWIN_OPTION 267 268 *! \defgroup FB FB related functions 269 * \ingroup GOP 270 271 *! \defgroup POOL FB pool related functions 272 * \ingroup FB 273 274 *! \defgroup FB_CREATE FB create related functions 275 * \ingroup FB 276 277 *! \defgroup SET FB set related functions 278 * \ingroup FB 279 280 *! \defgroup FB_STATUS FB status related functions 281 * \ingroup FB 282 283 *! \defgroup FB_DELETE FB delete related functions 284 * \ingroup FB 285 286 *! \defgroup DWIN DWIN related functions 287 * \ingroup GOP 288 289 *! \defgroup DWIN_CONFIG DWIN config related functions 290 * \ingroup DWIN 291 292 *! \defgroup DWIN_INTERRUPT DWIN interrupt related functions 293 * \ingroup DWIN 294 295 *! \defgroup DWIN_CAPTURE DWIN capture related functions 296 * \ingroup DWIN 297 298 *! \defgroup DWIN_OPTION DWIN option related functions 299 * \ingroup DWIN 300 301 *! \defgroup GOP_MIXER MIXER related functions 302 * \ingroup GOP 303 304 *! \defgroup GOP_VE VE related functions 305 * \ingroup GOP 306 307 *! \defgroup GOP_ToBeRemove GOP to be remove related functions 308 * \ingroup GOP 309 310 */ 311 //------------------------------------------------- 312 313 314 #ifndef _API_GOP_H_ 315 #define _API_GOP_H_ 316 317 318 319 #ifdef __cplusplus 320 extern "C" 321 { 322 #endif 323 #include "UFO.h" 324 #include "MsCommon.h" 325 #include "MsDevice.h" 326 #include "apiGOP_v2.h" 327 //------------------------------------------------------------------------------------------------- 328 // Macro and Define 329 //------------------------------------------------------------------------------------------------- 330 /// GOP Version 331 #define MSIF_GOP_LIB_CODE {'G','O','P','_'} //Lib code 332 #define MSIF_GOP_LIBVER {'8','9'} //LIB version 333 #define MSIF_GOP_BUILDNUM {'0','2'} //Build Number 334 #define MSIF_GOP_CHANGELIST {'0','0','5','2','4','9','1','6'} //P4 ChangeList Number 335 336 #define GOP_API_VERSION /* Character String for DRV/API version */ \ 337 MSIF_TAG, /* 'MSIF' */ \ 338 MSIF_CLASS, /* '00' */ \ 339 MSIF_CUS, /* 0x0000 */ \ 340 MSIF_MOD, /* 0x0000 */ \ 341 MSIF_CHIP, \ 342 MSIF_CPU, \ 343 MSIF_GOP_LIB_CODE, /* IP__ */ \ 344 MSIF_GOP_LIBVER, /* 0.0 ~ Z.Z */ \ 345 MSIF_GOP_BUILDNUM, /* 00 ~ 99 */ \ 346 MSIF_GOP_CHANGELIST, /* CL# */ \ 347 MSIF_OS 348 349 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 350 ///GOP_PALETTE_ENTRY_NUM 351 #define GOP_PALETTE_ENTRY_NUM 256 352 ///FB_FMT_AS_DEFAULT 353 #define FB_FMT_AS_DEFAULT 0xFFFF 354 ///DEFAULT_FB_FMT 355 #define DEFAULT_FB_FMT 0xffff 356 ///INVALID_WIN_ID 357 #define INVALID_WIN_ID GWIN_NO_AVAILABLE 358 ///GWIN_ID_INVALID 359 #define GWIN_ID_INVALID 0xFF 360 ///LAYER_ID_INVALID 361 #define LAYER_ID_INVALID 0xFFFF 362 ///INVALID_GOP_NUM 363 #define INVALID_GOP_NUM 0xFF 364 #else 365 ///GOP_PALETTE_ENTRY_NUM 366 #define GOP_PALETTE_ENTRY_NUM 256UL 367 ///FB_FMT_AS_DEFAULT 368 #define FB_FMT_AS_DEFAULT 0xFFFFUL 369 ///DEFAULT_FB_FMT 370 #define DEFAULT_FB_FMT 0xFFFFUL 371 ///INVALID_WIN_ID 372 #define INVALID_WIN_ID GWIN_NO_AVAILABLE 373 ///GWIN_ID_INVALID 374 #define GWIN_ID_INVALID 0xFFUL 375 ///LAYER_ID_INVALID 376 #define LAYER_ID_INVALID 0xFFFFUL 377 ///INVALID_GOP_NUM 378 #define INVALID_GOP_NUM 0xFFUL 379 #endif 380 ///MAX_GWIN_SUPPORT 381 #define MAX_GWIN_SUPPORT MApi_GOP_GWIN_GetTotalGwinNum() 382 383 384 #ifndef MAX_GWIN_FB_SUPPORT 385 #define MAX_GWIN_FB_SUPPORT MApi_GOP_GWIN_GetMax32FBNum() 386 #endif 387 388 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 389 #define MAX_NUM_GOP_API_INF_SUPPORT 6 390 #else 391 #define MAX_NUM_GOP_API_INF_SUPPORT 6UL 392 #endif 393 394 //the macro defines only be applied for the upper user, not for the internal driver,otherwise it will cause the deadlock 395 #define MAX_GOP0_SUPPORT MApi_GOP_GWIN_GetGwinNum(0) 396 #define MAX_GOP1_SUPPORT MApi_GOP_GWIN_GetGwinNum(1) 397 #define MAX_GOP2_SUPPORT MApi_GOP_GWIN_GetGwinNum(2) 398 #define MAX_GOP3_SUPPORT MApi_GOP_GWIN_GetGwinNum(3) 399 #define MAX_GOP4_SUPPORT MApi_GOP_GWIN_GetGwinNum(4) 400 #define MAX_GOP5_SUPPORT MApi_GOP_GWIN_GetGwinNum(5) 401 //#define MAX_GOP_SUPPORT MApi_GOP_GWIN_GetMaxGOPNum() 402 403 //the macro defines only be applied for the upper user, not for the internal driver,otherwise it will cause the deadlock 404 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 405 #define GOP0_GWIN_START 0 406 #else 407 #define GOP0_GWIN_START 0UL 408 #endif 409 #define GOP1_GWIN_START MAX_GOP0_SUPPORT 410 #define GOP2_GWIN_START MAX_GOP0_SUPPORT + MAX_GOP1_SUPPORT 411 #define GOP3_GWIN_START MAX_GOP0_SUPPORT + MAX_GOP1_SUPPORT + MAX_GOP2_SUPPORT 412 #define GOP4_GWIN_START MAX_GOP0_SUPPORT + MAX_GOP1_SUPPORT + MAX_GOP2_SUPPORT + MAX_GOP3_SUPPORT 413 #define GOP5_GWIN_START MAX_GOP0_SUPPORT + MAX_GOP1_SUPPORT + MAX_GOP2_SUPPORT + MAX_GOP3_SUPPORT + MAX_GOP4_SUPPORT 414 415 /// GOP API return value 416 typedef enum 417 { 418 ///GOP API return fail. 419 GOP_API_FAIL = 0, 420 ///GOP API return success. 421 GOP_API_SUCCESS = 1, 422 ///GOP API return non align address. 423 GOP_API_NON_ALIGN_ADDRESS , 424 ///GOP API return non align pitch. 425 GOP_API_NON_ALIGN_PITCH , 426 ///GOP API return depend no avail. 427 GOP_API_DEPEND_NOAVAIL , 428 ///GOP API return mutex obtain fail. 429 GOP_API_MUTEX_OBTAIN_FAIL , 430 ///GOP API return mutex obtain. 431 GOP_API_MUTEX_OBTAINED , 432 ///GOP API return invalid buffer info. 433 GOP_API_INVALID_BUFF_INFO , 434 ///GOP API return invalid parameter. 435 GOP_API_INVALID_PARAMETERS, 436 ///GOP API return this interface not supported. 437 GOP_API_FUN_NOT_SUPPORTED, 438 ///GOP API return enum not supported. 439 GOP_API_ENUM_NOT_SUPPORTED, 440 ///GOP API return create gwin fail. 441 GOP_API_CRT_GWIN_FAIL = 0xFE, 442 ///GOP API return create no avail 443 GOP_API_CRT_GWIN_NOAVAIL = 0xFF, 444 } E_GOP_API_Result; 445 446 ///GWIN_FAIL 447 #define GWIN_FAIL GOP_API_CRT_GWIN_FAIL 448 ///GWIN_OK 449 #define GWIN_OK GOP_API_SUCCESS 450 ///GWIN_NO_AVAILABLE 451 #define GWIN_NO_AVAILABLE GOP_API_CRT_GWIN_NOAVAIL 452 453 454 ///GWINID 455 typedef MS_U8 GWINID; 456 457 //------------------------------------------------------------------------------------------------- 458 // Type and Structure 459 //------------------------------------------------------------------------------------------------- 460 /// GWIN display property 461 typedef struct DLL_PACKED 462 { 463 ///gwin id. 464 MS_U8 gId; 465 ///gwin start x coordinate. 466 MS_U16 StartX; 467 ///gwin start y coordinate. 468 MS_U16 StartY; 469 ///gwin win width. 470 MS_U16 Win_Width; 471 ///gwin win height. 472 MS_U16 Win_Height; 473 ///gwin frame buffer offset x. 474 MS_U16 FBOffset_X; 475 ///gwin frame buffer offset y. 476 MS_U16 FBOffset_Y; 477 } GOP_GwinDispProperty; 478 479 /// GOP init info 480 typedef struct DLL_PACKED 481 { 482 ///panel width. 483 MS_U16 u16PanelWidth; 484 ///panel height. 485 MS_U16 u16PanelHeight; 486 ///panel h-start. 487 MS_U16 u16PanelHStr; 488 ///vsync interrupt flip enable flag. 489 MS_BOOL bEnableVsyncIntFlip; 490 ///gop frame buffer starting address. 491 #if (defined(UFO_PUBLIC_HEADER_500)||defined(UFO_PUBLIC_HEADER_500_3)||defined(UFO_PUBLIC_HEADER_700)) 492 MS_PHY u32GOPRBAdr; 493 #else 494 MS_PHYADDR u32GOPRBAdr; 495 #endif 496 ///gop frame buffer length. 497 MS_U32 u32GOPRBLen; 498 ///gop regdma starting address. 499 #if (defined(UFO_PUBLIC_HEADER_500)||defined(UFO_PUBLIC_HEADER_500_3)||defined(UFO_PUBLIC_HEADER_700)) 500 MS_PHY u32GOPRegdmaAdr; 501 #else 502 MS_PHYADDR u32GOPRegdmaAdr; 503 #endif 504 ///gop regdma length. 505 MS_U32 u32GOPRegdmaLen; 506 }GOP_InitInfo; 507 508 /// GOP palette entry 509 typedef struct DLL_PACKED 510 { 511 /// A. 512 MS_U8 u8A; 513 /// R. 514 MS_U8 u8R; 515 /// G. 516 MS_U8 u8G; 517 /// B. 518 MS_U8 u8B; 519 } GOP_Palette; 520 521 /// Frame buffer attributes for GWIN 522 typedef struct DLL_PACKED 523 { 524 /// frame buffer is mapped to which gwin. 525 MS_U8 gWinId; 526 /// frame buffer enable flag. 527 MS_U8 enable:1; 528 /// frame buffer allocated flag. 529 MS_U8 allocated:1; 530 /// frame buffer x0 (unit: pix). 531 MS_U16 x0; 532 /// frame buffer y0 (unit: line). 533 MS_U16 y0; 534 /// frame buffer x1 (unit: pix). 535 MS_U16 x1; 536 /// frame buffer y1 (unit: line). 537 MS_U16 y1; 538 /// frame buffer width (unit: pix). 539 MS_U16 width; 540 /// frame buffer height (unit: line). 541 MS_U16 height; 542 /// frame buffer pitch (unit: byte). 543 MS_U16 pitch; 544 /// frame buffer color format. 545 MS_U16 fbFmt; 546 /// frame buffer starting address. 547 #if (defined(UFO_PUBLIC_HEADER_500)||defined(UFO_PUBLIC_HEADER_500_3)||defined(UFO_PUBLIC_HEADER_700)) 548 MS_PHY addr; 549 #else 550 MS_U32 addr; 551 #endif 552 /// frame buffer size. 553 MS_U32 size; 554 /// next frame buffer id in the same pool. 555 MS_U8 next; 556 /// previous frame buffer in the same pool. 557 MS_U8 prev; 558 ///store which AP use this FB. 559 MS_U8 string; 560 /// frame buffer s_x (unit: pix). 561 MS_U16 s_x; 562 /// frame buffer s_y (unit: pix). 563 MS_U16 s_y; 564 /// frame buffer dispWidth (unit: pix). 565 MS_U16 dispWidth; 566 /// frame buffer dispHeight (unit: line). 567 MS_U16 dispHeight; 568 } GOP_GwinFBAttr; 569 570 /// Dump Window Information 571 typedef struct DLL_PACKED 572 { 573 /// dwin v-start (unit:line). 574 MS_U16 u16VPixelStart; 575 /// dwin v-end (unit: line). 576 MS_U16 u16VPixelEnd; 577 /// dwin h-start (unit: pix). 578 MS_U16 u16HPixelStart; 579 /// dwin h-end (unit: pix). 580 MS_U16 u16HPixelEnd; 581 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 582 /// dwin dram starting address (unit: Byte). 583 MS_U32 u32TFDRAMAddr; 584 /// dwin access address high bond (unit: Byte). 585 MS_U32 u32BFDRAMAddr; 586 #else 587 /// dwin dram starting address (unit: Byte). 588 MS_PHY u32TFDRAMAddr; 589 /// dwin access address high bond (unit: Byte). 590 MS_PHY u32BFDRAMAddr; 591 #endif 592 /// dwin jump address length after each dwin line end to next line start (unit: Byte). 593 MS_U16 u16DRAMJumpLen; 594 /// DWIN format: 0 UV7Y8, 1 UV8Y8, 2 ARGB8888, 3 RGB565. 595 MS_U8 u8fmt; 596 } GOP_DwinInfo; 597 598 /// DWIN source selection 599 typedef enum 600 { 601 /// DWIN OP source 602 DWIN_SRC_OP = 0, 603 /// DWIN MVOP source 604 DWIN_SRC_MVOP = 1, 605 /// DWIN IP source 606 DWIN_SRC_IP = 2, 607 /// DWIN OP1 source 608 DWIN_SRC_OP1 = 3, 609 /// DWIN SUBMVOP source 610 DWIN_SRC_SUBMVOP = 4, 611 /// DWIN GOPScaling source 612 DWIN_SRC_GOPScaling = 5, 613 DWIN_SRC_MAX = 6, 614 }EN_GOP_DWIN_SRC_SEL; 615 616 /// DWIN source data format 617 typedef enum 618 { 619 /// CrYCb domain. 620 DWIN_DATA_FMT_UV7Y8 = 0, 621 /// CrYCb domain. 622 DWIN_DATA_FMT_UV8Y8, 623 /// RGB domain (CSC bypass). 624 DWIN_DATA_FMT_ARGB8888, 625 /// RGB domain (CSC bypass). 626 DWIN_DATA_FMT_RGB565, 627 DWIN_DATA_FMT_MAX 628 } EN_GOP_DWIN_DATA_FMT; 629 630 631 /// DWIN Interrupt mask 632 typedef enum 633 { 634 /// DWIN PROG INT mask 635 GOPDWIN_INT_MASK_PROG = 0x0010, 636 /// DWIN TOP Field INT mask 637 GOPDWIN_INT_MASK_TF = 0x0020, 638 /// DWIN Bottom Field INT mask 639 GOPDWIN_INT_MASK_BF = 0x0040, 640 /// DWIN Vsync INT mask 641 GOPDWIN_INT_MASK_VS = 0x0080, 642 } EN_GOP_DWIN_INT_MASK; 643 644 /// GWIN output color domain 645 typedef enum 646 { 647 /// output color RGB. 648 GOPOUT_RGB, 649 /// output color YUV. 650 GOPOUT_YUV, 651 } EN_GOP_OUTPUT_COLOR; 652 653 654 /// Define GOP FB string. 655 typedef enum 656 { 657 E_GOP_FB_NULL, 658 /// OSD frame buffer. 659 E_GOP_FB_OSD, 660 /// Mute frame buffer. 661 E_GOP_FB_MUTE, 662 /// subtitle frame buffer. 663 E_GOP_FB_SUBTITLE, 664 /// teltext frame buffer. 665 E_GOP_FB_TELTEXT, 666 /// MHEG5 frame buffer. 667 E_GOP_FB_MHEG5, 668 /// CC frame buffer. 669 E_GOP_FB_CLOSEDCAPTION, 670 /// AFBC frame buffer. 671 E_GOP_FB_AFBC_SPLT_YUVTRNS_ARGB8888= 0x100, 672 E_GOP_FB_AFBC_NONSPLT_YUVTRS_ARGB8888, 673 E_GOP_FB_AFBC_SPLT_NONYUVTRS_ARGB8888, 674 E_GOP_FB_AFBC_NONSPLT_NONYUVTRS_ARGB8888, 675 } EN_GOP_FRAMEBUFFER_STRING; 676 677 678 /// Define GOP Event for Notification. 679 typedef enum 680 { 681 /// E_GOP_EVENT_BUF_ARRANGE. Begin of Rearrange GOP buffers. 682 E_GOP_EVENT_BUF_ARRANGE_BEGIN = 0, 683 /// E_GOP_Event_Buffer_Rearrange. End of Rearrange GOP buffers. 684 E_GOP_EVENT_BUF_ARRANGE_END = 1, 685 } EN_GOP_EVENT_TYPE; 686 687 /// Define GOP G3D DATA FORMAT. 688 typedef enum 689 { 690 /// E_GOP_TILE_DATA_16BPP. 16 BPP DATA FOR TILE MODE 691 E_GOP_TILE_DATA_16BPP = 0, 692 /// E_GOP_TILE_DATA_16BPP. 32 BPP DATA FOR TILE MODE 693 E_GOP_TILE_DATA_32BPP = 1, 694 } EN_GOP_TILE_DATA_TYPE; 695 696 /// Define GOP MIU SEL 697 typedef enum 698 { 699 /// E_GOP_SEL_MIU0. gop access miu 0 700 E_GOP_SEL_MIU0 = 0, 701 /// E_GOP_SEL_MIU1. gop access miu1 702 E_GOP_SEL_MIU1 = 1, 703 /// E_GOP_SEL_MIU2. gop access miu2 704 E_GOP_SEL_MIU2 = 2, 705 /// E_GOP_SEL_MIU3. gop access miu3 706 E_GOP_SEL_MIU3 = 3, 707 } EN_GOP_SEL_TYPE; 708 709 710 ///the GOP and mux setting info on utopia 711 typedef struct DLL_PACKED _GOP_MuxConfig 712 { 713 //GopMux arrays record the u8GopIndex and the corresponding MuxIndex 714 //u8MuxCounts: how many mux need to modify the gop settings 715 716 struct DLL_PACKED 717 { 718 MS_U8 u8GopIndex; 719 MS_U8 u8MuxIndex; 720 }GopMux[6]; 721 MS_U8 u8MuxCounts; 722 }GOP_MuxConfig, *PGOP_MuxConfig; 723 724 ///the GOP and OSD Layer setting info on utopia 725 typedef struct DLL_PACKED _GOP_LayerConfig 726 { 727 struct DLL_PACKED 728 { 729 MS_U32 u32GopIndex; 730 MS_U32 u32LayerIndex; 731 }stGopLayer[6]; 732 MS_U32 u32LayerCounts; 733 }GOP_LayerConfig, *PGOP_LayerConfig; 734 735 typedef struct DLL_PACKED 736 { 737 MS_U8 gWinId; 738 #if (defined(UFO_PUBLIC_HEADER_500)||defined(UFO_PUBLIC_HEADER_500_3)||defined(UFO_PUBLIC_HEADER_700)) 739 MS_PHY u32FlipAddr; 740 MS_PHY u32SubAddr; 741 #else 742 MS_U32 u32FlipAddr; 743 MS_U32 u32SubAddr; 744 #endif 745 MS_U16 u16WaitTagID; 746 MS_U16 *pU16QueueCnt; 747 }GOP_FlipConfig, *PGOP_FlipConfig; 748 749 typedef struct DLL_PACKED 750 { 751 MS_U8 u8InfoCnt; 752 GOP_FlipConfig astGopInfo[GOP_MULTIINFO_NUM]; 753 }GOP_MultiFlipInfo, *PGOP_MultiFlipInfo; 754 755 /// Define Mux 756 typedef enum 757 { 758 ///Select gop output to mux0 759 EN_GOP_MUX0 = 0, 760 /// Select gop output to mux1 761 EN_GOP_MUX1 = 1, 762 /// Select gop output to mux2 763 EN_GOP_MUX2 = 2, 764 /// Select gop output to mux3 765 EN_GOP_MUX3 = 3, 766 ///Select gop output to IP0 767 EN_GOP_IP0_MUX = 4, 768 /// Select gop output to IP1 769 EN_GOP_IP1_MUX = 5, 770 /// Select gop output to vop0 771 EN_GOP_VOP0_MUX = 6, 772 /// Select gop output to vop1 773 EN_GOP_VOP1_MUX = 7, 774 /// Select gop output to FRC mux0 775 EN_GOP_FRC_MUX0 = 8, 776 /// Select gop output to FRC mux1 777 EN_GOP_FRC_MUX1 = 9, 778 /// Select gop output to FRC mux2 779 EN_GOP_FRC_MUX2 = 10, 780 /// Select gop output to FRC mux3 781 EN_GOP_FRC_MUX3 = 11, 782 /// Select gop output to BYPASS mux 783 EN_GOP_BYPASS_MUX0 = 12, 784 /// Select gop output to IP0_SUB 785 EN_GOP_IP0_SUB_MUX = 13, 786 /// Select gop output to VOP0_SUB 787 EN_GOP_VOP0_SUB_MUX = 14, 788 /// Select gop output to OP1 789 EN_GOP_OP1_MUX = 15, 790 /// Select gop output to DIP 791 EN_GOP_DIP_MUX = 16, 792 /// Select gop output to DIP 793 EN_GOP_GS_MUX = 17, 794 /// Select gop output to mux4 795 EN_GOP_MUX4 = 18, 796 EN_MAX_GOP_MUX_SUPPORT, 797 } EN_Gop_MuxSel; 798 799 /// Define DEBUG level. 800 typedef enum 801 { 802 /// GOP DEBUG LEVEL LOW. Just printf error message. 803 E_GOP_Debug_Level_LOW = 0, 804 /// GOP DEBUG LEVEL Medium. printf warning message and error message. 805 E_GOP_Debug_Level_MED = 1, 806 /// GOP DEBUG LEVEL hIGH. printf all message with function. 807 E_GOP_Debug_Level_HIGH = 2, 808 } EN_GOP_DEBUG_LEVEL; 809 810 811 /// Define GOP gwin fade in/out. 812 typedef enum 813 { 814 /// GOP gwin fade in. 815 E_GOP_GWIN_FADE_IN, 816 /// GOP gwin fade out. 817 E_GOP_GWIN_FADE_OUT, 818 /// GOP gwin fade unknow type. 819 E_GOP_GWIN_FADE_UNKNOWN, 820 } EN_GOP_FADE_TYPE; 821 822 823 typedef enum 824 { 825 GOP_PINPON_G3D , 826 GOP_PINPON_VE, 827 GOP_PINPON_DWIN, 828 GOP_PINPON_DIP, 829 GOP_PINPON_DWIN0, 830 GOP_PINPON_DWIN1, 831 }GOP_PINPON_MODE; 832 833 typedef struct DLL_PACKED 834 { 835 MS_BOOL bEnable; //InOut 836 MS_U8 u8FrameCount; //Out, value range: 0~3 837 MS_U8 u8Result; //Out 838 }MS_GOP_VECAPTURESTATE, *PMS_GOP_VECAPTURESTATE; 839 840 typedef enum 841 { 842 E_GOP_VALID_6BITS = 0, 843 E_GOP_VALID_8BITS = 1, 844 } EN_GOP_CONSALPHA_BITS; 845 846 847 /// Define GOP Ignore init value 848 typedef enum 849 { 850 /// GOP init ingore mux init 851 E_GOP_IGNORE_MUX = 0x0001, 852 /// GOP init ingore gwin reset 853 E_GOP_IGNORE_GWIN = 0x0002, 854 /// GOP init ingore stretchwin reset 855 E_GOP_IGNORE_STRETCHWIN = 0x0004, 856 /// GOP init ingore palette table reset 857 E_GOP_IGNORE_PALETTE = 0x0008, 858 /// GOP init ingore rest GOP destination to OP 859 E_GOP_IGNORE_SET_DST_OP = 0x0010, 860 /// GOP init ingore enable transparent color key 861 E_GOP_IGNORE_ENABLE_TRANSCLR = 0x0020, 862 /// GOP set destination ignore VEOSD for bootlogo case 863 E_GOP_BOOTLOGO_IGNORE_VEOSDEN = 0x0040, 864 /// GOP init ingore all 865 E_GOP_IGNORE_ALL = 0xFFFF, 866 ///Not Ingore 867 E_GOP_IGNORE_DISABLE = 0x0000, 868 } EN_GOP_IGNOREINIT; 869 870 871 //GOP Capability 872 typedef enum 873 { 874 E_GOP_CAP_WORD_UNIT , 875 E_GOP_CAP_GWIN_NUM, 876 E_GOP_CAP_VERSION, 877 E_GOP_CAP_RESERVED, 878 E_GOP_CAP_CONSALPHA_VALIDBITS, 879 E_GOP_CAP_PALETTE, 880 E_GOP_CAP_DWIN, 881 E_GOP_CAP_GOP_MUX, 882 E_GOP_CAP_PIXELMODE_SUPPORT, 883 E_GOP_CAP_STRETCH, 884 E_GOP_CAP_TLBMODE_SUPPORT, 885 E_GOP_CAP_AFBC_SUPPORT, 886 E_GOP_CAP_BNKFORCEWRITE, 887 }EN_GOP_CAPS; 888 889 //GOP Function work type 890 typedef enum 891 { 892 E_GOP_FUN_AFBC, 893 }EN_GOP_FUNS; 894 895 // GOP palette type 896 typedef enum 897 { 898 E_GOP_CAP_PAL_SIZE_NONE = 0x0000, 899 E_GOP_CAP_PAL_SIZE_256 = 0x0100, 900 E_GOP_CAP_PAL_SIZE_64 = 0x0200, 901 E_GOP_CAP_PAL_SIZE_MASK = 0x0F00, 902 }EN_GOP_CAP_PAL; 903 904 905 ///Dwin Capability of IC 906 typedef struct DLL_PACKED 907 { 908 MS_BOOL bSupportWindowDECapture; //TRUE: Support it; FALSE:Not support, should use FrameDE to capture video 909 MS_BOOL bSupportOSDCapture; //TRUE: Support it; FALSE:Not support 910 }GOP_DWIN_CAP, *PGOP_DWIN_CAP; 911 912 ///GOP MUX PRIORITY when gop goes OP 913 typedef struct DLL_PACKED 914 { 915 MS_U8 u8MuxNumber; 916 MS_U8 *pu8MuxProrityArray; 917 MS_BOOL bNewMux; 918 MS_BOOL bNeedSetMUX1ToIP0; 919 MS_BOOL bNeedSetMUX3ToIP0; 920 }ST_GOP_MUX_CAP, *PST_GOP_MUX_CAP; 921 922 ///GOP lib info 923 typedef struct DLL_PACKED 924 { 925 MS_U32 GOP_LibVer; 926 MS_U32 GOP_BuildNum; 927 MS_U32 GOP_ChangeList; 928 }GOP_LIB_VER, *PGOP_LIB_VER; 929 930 ///GOP palette info 931 typedef struct DLL_PACKED 932 { 933 MS_U32 GOP_NumOfTbl; 934 MS_U32 GOP_PalTbl[0x10]; 935 MS_U32 GOP_PalTblIdx; 936 }GOP_CAP_PAL_TYPE, *PGOP_CAP_PAL_TYPE; 937 938 typedef enum 939 { 940 E_GOP_DWIN_INIT , 941 E_GOP_DWIN_ENABLE , 942 E_GOP_DWIN_ENABLEINTR , 943 E_GOP_DWIN_SRCSLCT , 944 E_GOP_DWIN_ONESHOT , 945 E_GOP_DWIN_ONESHOT2 , 946 E_GOP_DWIN_SET_INFO , 947 E_GOP_DWIN_SET_YUORD , 948 E_GOP_DWIN_GET_BUFSTUS , 949 E_GOP_DWIN_CLR_BUFSTUS , 950 E_GOP_DWIN_SET_SCANTYPE , 951 E_GOP_DWIN_SET_DATAFMT , 952 E_GOP_DWIN_SET_ALPHA , 953 E_GOP_DWIN_SET_R2Y , 954 } EN_GOP_DWIN_CNTL; 955 956 ///GOP palette info 957 typedef struct DLL_PACKED 958 { 959 MS_U32 GOP_VStretch_Support; 960 }GOP_CAP_STRETCH_INFO, *PGOP_CAP_STRETCH_INFO; 961 962 ///GOP TLB support info 963 typedef struct DLL_PACKED 964 { 965 MS_U32 GOP_TLB_Support; 966 }GOP_CAP_TLB_INFO, *PGOP_CAP_TLB_INFO; 967 968 ///GOP AFBC support info 969 typedef struct 970 { 971 MS_U32 GOP_AFBC_Support; 972 }GOP_CAP_AFBC_INFO, *PGOP_CAP_AFBC_INFO; 973 974 ///GOP timing Information 975 typedef struct DLL_PACKED 976 { 977 MS_U16 u16HDTotal;// Output horizontal total 978 MS_U16 u16VDTotal; //Output vertical total 979 980 MS_U16 u16DEHStart; //Output DE horizontal start 981 MS_U16 u16DEHSize;// Output DE horizontal size 982 983 MS_U16 u16DEVStart; //Output DE vertical start 984 MS_U16 u16DEVSize;//Output DE Vertical size 985 986 MS_BOOL bInterlaceMode; 987 MS_BOOL bYUVInput; 988 MS_BOOL bCLK_EN; 989 MS_BOOL bINVALPHA_EN; 990 }ST_GOP_TIMING_INFO, *PST_GOP_TIMING_INFO; 991 992 typedef enum 993 { 994 E_GOP_MULTIWIN_SET_COLORKEY, 995 E_GOP_MULTIWIN_SET_FRAMECOLOR, 996 E_GOP_MULTIWIN_GET_COLORKEY, 997 E_GOP_MULTIWIN_GET_FRAMECOLOR, 998 }EN_GOP_MULTIWIN_COLOR_MODE; 999 1000 typedef struct DLL_PACKED 1001 { 1002 MS_BOOL enable; 1003 MS_U8 u8WinAlpha; 1004 MS_U8 u8BoarderWidth; 1005 MS_U8 u8BoarderAlpha; 1006 MS_U8 u8BoarderY_G; 1007 MS_U8 u8BoarderCr_R; 1008 MS_U8 u8BoarderCb_B; 1009 MS_U16 u16WinHstart; 1010 MS_U16 u16WinHend; 1011 MS_U16 u16WinVstart; 1012 MS_U16 u16WinVend; 1013 }GOP_MULTIWIN_COLORKEY, *PGOP_MULTIWIN_COLORKEY; 1014 1015 typedef struct DLL_PACKED 1016 { 1017 MS_U8 u8frameAlpha; 1018 MS_U8 u8frameY_G; 1019 MS_U8 u8frameCr_R; 1020 MS_U8 u8frameCb_B; 1021 }GOP_MULTIWIN_FRAMECOLOR, *PGOP_MULTIWIN_FRAMECOLOR; 1022 1023 //----------------------------------------------------------------------------- 1024 // Functions 1025 //----------------------------------------------------------------------------- 1026 //----------------- 1027 // GOP_INIT 1028 //----------------- 1029 //----------------- 1030 // INIT 1031 //----------------- 1032 //------------------------------------------------------------------------------------------------- 1033 /// Initial all GOP driver (include gop0, gop1 ext..) 1034 /// @ingroup INIT 1035 /// @param pGopInit \b IN:gop driver init info 1036 /// @return GOP_API_SUCCESS - Success 1037 /// @return GOP_API_FAIL - Failure 1038 //------------------------------------------------------------------------------------------------- 1039 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Init(GOP_InitInfo *pGopInit); 1040 //----------------- 1041 // GOP_ToBeRemove 1042 //----------------- 1043 //------------------------------------------------------------------------------------------------- 1044 /// MApi_GOP_GetInfo 1045 /// @ingroup GOP_ToBeRemove 1046 /// @return GOP_API_SUCCESS - Success 1047 //------------------------------------------------------------------------------------------------- 1048 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetInfo(GOP_ApiInfo* pGopApiInfo); 1049 //------------------------------------------------------------------------------------------------- 1050 /// MApi_GOP_GetStatus 1051 /// @ingroup GOP_ToBeRemove 1052 /// @return GOP_API_SUCCESS - Success 1053 //------------------------------------------------------------------------------------------------- 1054 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetStatus(GOP_ApiStatus *pGopApiSts); 1055 //------------------------------------------------------------------------------------------------- 1056 /// MApi_GOP_SetDbgLevel 1057 /// @ingroup GOP_ToBeRemove 1058 /// @return GOP_API_SUCCESS - Success 1059 //------------------------------------------------------------------------------------------------- 1060 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetDbgLevel(EN_GOP_DEBUG_LEVEL level); 1061 //------------------------------------------------------------------------------------------------- 1062 /// MApi_GOP_GetLibVer 1063 /// @ingroup GOP_ToBeRemove 1064 /// @return GOP_API_SUCCESS - Success 1065 //------------------------------------------------------------------------------------------------- 1066 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetLibVer(const MSIF_Version **ppVersion); 1067 1068 //------------------------------------------------------------------------------------------------- 1069 /// Initial individual GOP driver 1070 /// @ingroup INIT 1071 /// @param pGopInit \b IN:gop driver init info 1072 /// @param u8GOP \b IN: only init by which gop 1073 /// @return GOP_API_SUCCESS - Success 1074 /// @return GOP_API_FAIL - Failure 1075 //------------------------------------------------------------------------------------------------- 1076 DLL_PUBLIC E_GOP_API_Result MApi_GOP_InitByGOP(GOP_InitInfo *pGopInit, MS_U8 u8GOP); 1077 //------------------------------------------------------------------------------------------------- 1078 /// MApi_GOP_GWIN_SwitchGOP 1079 /// @ingroup GOP_ToBeRemove 1080 /// @return GOP_API_SUCCESS - Success 1081 //------------------------------------------------------------------------------------------------- 1082 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SwitchGOP(MS_U8 u8GOP); 1083 //----------------- 1084 // STRETCH_WINDOW 1085 //----------------- 1086 //----------------- 1087 // SET_STRETCH_WINDOW 1088 //----------------- 1089 //------------------------------------------------------------------------------------------------- 1090 /// Restore initial stretch window setting of GOP. It will set gop to OP path and stretch window width/height 1091 /// @ingroup SET_STRETCH_WINDOW 1092 /// to panel width/height 1093 /// @param u8GOPNum \b IN : Number of GOP 1094 /// @return GOP_API_SUCCESS - Success 1095 //------------------------------------------------------------------------------------------------- 1096 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Initialize_StretchWindow(MS_U8 u8GOPNum); 1097 //------------------------------------------------------------------------------------------------- 1098 /// MApi_GOP_SetGOPClk 1099 /// @ingroup GOP_ToBeRemove 1100 /// @return GOP_API_SUCCESS - Success 1101 //------------------------------------------------------------------------------------------------- 1102 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPClk(MS_U8 gopNum, EN_GOP_DST_TYPE eDstType); 1103 //------------------------------------------------------------------------------------------------- 1104 /// MApi_GOP_GWIN_GetCurrentGOP 1105 /// @ingroup GOP_ToBeRemove 1106 /// @return GOP_API_SUCCESS - Success 1107 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetCurrentGOP(void); 1108 1109 //----------------- 1110 // GOP_CAPS 1111 //----------------- 1112 //------------------------------------------------------------------------------------------------- 1113 /// Get maximum support gop number 1114 /// @ingroup GOP_CAPS 1115 /// @param void \b IN: none 1116 /// @return gop number 1117 //------------------------------------------------------------------------------------------------- 1118 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetMaxGOPNum(void); 1119 //------------------------------------------------------------------------------------------------- 1120 /// Get maximum gwin number by individual gop 1121 /// @ingroup GOP_CAPS 1122 /// @param u8GopNum \b IN: Number of GOP 1123 /// @return maximum gwin number by individual gop 1124 //------------------------------------------------------------------------------------------------- 1125 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetGwinNum(MS_U8 u8GopNum); 1126 1127 //------------------------------------------------------------------------------------------------- 1128 /// Get maximum support gwin number by all gop 1129 /// @ingroup GOP_CAPS 1130 /// @param void \b IN: none 1131 /// @return gwin number 1132 //------------------------------------------------------------------------------------------------- 1133 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetTotalGwinNum(void); 1134 //------------------------------------------------------------------------------------------------- 1135 /// MApi_GOP_PowerOn 1136 /// @ingroup GOP_ToBeRemove 1137 /// @return GOP_API_SUCCESS - Success 1138 //------------------------------------------------------------------------------------------------- 1139 DLL_PUBLIC E_GOP_API_Result MApi_GOP_PowerOn(void); //temparially naming, maybe change 1140 //------------------------------------------------------------------------------------------------- 1141 /// MApi_GOP_PowerOff 1142 /// @ingroup GOP_ToBeRemove 1143 /// @return GOP_API_SUCCESS - Success 1144 //------------------------------------------------------------------------------------------------- 1145 DLL_PUBLIC E_GOP_API_Result MApi_GOP_PowerOff(void); //temparially naming, maybe change 1146 //----------------- 1147 // RESET 1148 //----------------- 1149 //------------------------------------------------------------------------------------------------- 1150 /// GOP reset GOP resource 1151 /// @ingroup RESET 1152 /// @param u32Gop \b IN: GOP 1153 //------------------------------------------------------------------------------------------------- 1154 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result Mapi_GOP_GWIN_ResetGOP(MS_U32 u32Gop); 1155 1156 1157 //------------------------------------------------------------------------------------------------- 1158 /// GOP reset lock resource 1159 /// @ingroup RESET 1160 /// @param void \b IN: none 1161 //------------------------------------------------------------------------------------------------- 1162 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_ResetPool(void); 1163 1164 //----------------- 1165 // GOP_POWER_STATE 1166 //----------------- 1167 //------------------------------------------------------------------------------------------------- 1168 /// set GOP power state 1169 /// @ingroup GOP_POWER_STATE 1170 /// @param enPowerState\b IN power status 1171 /// @return GOP_API_SUCCESS - Success 1172 //------------------------------------------------------------------------------------------------- 1173 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetPowerState(EN_POWER_MODE enPowerState); 1174 //------------------------------------------------------------------------------------------------- 1175 /// Set GOP bandwidth saving mode. 1176 /// @ingroup BW 1177 /// @return GOP_API_SUCCESS - Success 1178 /// @return GOP_API_FAIL - Failure 1179 //------------------------------------------------------------------------------------------------- 1180 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPBWStrength(EN_GOP_BW_STRENGTH eGOPBWStr, MS_U8 u8GOP); 1181 //------------------------------------------------------------------------------------------------- 1182 /// Get GOP Power OFF for saving power. 1183 /// @ingroup BW 1184 /// @return EN_GOP_BW_STRENGTH - mode of GOP bw saving . 1185 //------------------------------------------------------------------------------------------------- 1186 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetGOPBWStrength(MS_U8 u8GOP, EN_GOP_BW_STRENGTH* curBW); 1187 1188 //----------------- 1189 // GOP_OPTION 1190 //----------------- 1191 //------------------------------------------------------------------------------------------------- 1192 /// Configure panel hstart timing for GOP; For configuring correct OSD position. 1193 /// @ingroup GOP_OPTION 1194 /// @param u8GOP \b IN: GOP number 1195 /// @param u16PanelHStr \b IN horizontal start 1196 /// @return GOP_API_SUCCESS - Success 1197 /// @return GOP_API_FAIL - Failure 1198 //------------------------------------------------------------------------------------------------- 1199 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPHStart(MS_U8 u8GOP,MS_U16 u16PanelHStr); 1200 //------------------------------------------------------------------------------------------------- 1201 /// Configure GOP brightness 1202 /// @ingroup COLOR_TRANSFOR 1203 /// @param u8GOP \b IN: GOP number 1204 /// @param u16BriVal \b IN brightness value 1205 /// @param bMSB \b IN MSB 1206 /// @return GOP_API_SUCCESS - Success 1207 /// @return GOP_API_FAIL - Failure 1208 //------------------------------------------------------------------------------------------------- 1209 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPBrightness(MS_U8 u8GOP,MS_U16 u16BriVal,MS_BOOL bMSB); 1210 //------------------------------------------------------------------------------------------------- 1211 /// Get GOP brightness value 1212 /// @ingroup COLOR_TRANSFOR 1213 /// @param u8GOP \b IN: GOP number 1214 /// @param u16BriVal \b OUT brightness value 1215 /// @param bMSB \b OUT MSB 1216 /// @return GOP_API_SUCCESS - Success 1217 /// @return GOP_API_FAIL - Failure 1218 //------------------------------------------------------------------------------------------------- 1219 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetGOPBrightness(MS_U8 u8GOP,MS_U16* u16BriVal,MS_BOOL* bMSB); 1220 //----------------- 1221 // BW 1222 //----------------- 1223 //------------------------------------------------------------------------------------------------- 1224 /// Enable LB Couple Feature to enlarge GOP FIFO for BW issue 1225 /// @ingroup BW 1226 /// @param u8GOP \b IN: GOP number 1227 /// @param bEnable \b IN Enable or Disable 1228 /// @return GOP_API_SUCCESS - Success 1229 /// @return GOP_API_FAIL - Failure 1230 //------------------------------------------------------------------------------------------------- 1231 DLL_PUBLIC E_GOP_API_Result MApi_GOP_EnableLBCouple(MS_U8 u8GOP, MS_BOOL bEnable); 1232 //----------------- 1233 // GOP_VE 1234 //----------------- 1235 //------------------------------------------------------------------------------------------------- 1236 /// Configure panel hstart timing for GOP; For configuring correct OSD position. 1237 /// @ingroup GOP_VE 1238 /// @param u16PanelHStr \b IN horizontal start 1239 /// @return GOP_API_SUCCESS - Success 1240 /// @return GOP_API_FAIL - Failure 1241 //------------------------------------------------------------------------------------------------- 1242 DLL_PUBLIC E_GOP_API_Result MApi_GOP_VE_SetOutputTiming(GOP_VE_TIMINGTYPE mode); 1243 1244 //------------------------------------------------------------------------------------------------- 1245 /// API for Enable VEOSD 1246 /// @ingroup GOP_VE 1247 /// @param u8win \b IN: GOP ID 1248 /// @return GOP_API_SUCCESS - Success 1249 /// @return GOP_API_FAIL - Failure 1250 //------------------------------------------------------------------------------------------------- 1251 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Enable_VEOSD(MS_U8 u8GOP, MS_BOOL bEn); 1252 //----------------- 1253 // GOP_MIXER 1254 //----------------- 1255 //------------------------------------------------------------------------------------------------- 1256 /// Configure panel hstart timing for GOP; For configuring correct OSD position. 1257 /// @ingroup GOP_MIXER 1258 /// @param u16PanelHStr \b IN horizontal start 1259 /// @return GOP_API_SUCCESS - Success 1260 /// @return GOP_API_FAIL - Failure 1261 //------------------------------------------------------------------------------------------------- 1262 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIXER_SetOutputTiming(GOP_MIXER_TIMINGTYPE mode, GOP_MixerTiming *pMT); 1263 1264 1265 //------------------------------------------------------------------------------------------------- 1266 /// Configure mixer timing for GOP destination MIXER2OP; For configuring correct OSD position. 1267 /// @ingroup GOP_MIXER 1268 /// @param pMT \b IN: mixer timing 1269 /// @return GOP_API_SUCCESS - Success 1270 /// @return GOP_API_FAIL - Failure 1271 //------------------------------------------------------------------------------------------------- 1272 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIXER_SetMIXER2OPOutputTiming(GOP_Mixer2OPTiming *pMT); 1273 1274 //------------------------------------------------------------------------------------------------- 1275 /// Enable Mixer for Vfilter 1276 /// @ingroup GOP_MIXER 1277 /// @param bEnable \b IN: 1278 /// - # TRUE Enable Vfilter 1279 /// - # FALSE Disable Vfilter 1280 /// @return GOP_API_SUCCESS - Success 1281 /// @return GOP_API_FAIL - Failure 1282 //------------------------------------------------------------------------------------------------- 1283 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIXER_EnableVfilter(MS_BOOL bEnable); 1284 //------------------------------------------------------------------------------------------------- 1285 /// Enable Mixer for old mode blending 1286 /// @ingroup GOP_MIXER 1287 /// @param bEnable \b IN: 1288 /// - # TRUE Enable old mode 1289 /// - # FALSE Disable old mode 1290 /// @return GOP_API_SUCCESS - Success 1291 /// @return GOP_API_FAIL - Failure 1292 //------------------------------------------------------------------------------------------------- 1293 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIXER_EnableOldBlendMode(MS_U8 u8GOP, MS_BOOL bEnable); 1294 //------------------------------------------------------------------------------------------------- 1295 /// MApi_GOP_RestoreFromVsyncLimitation 1296 /// @ingroup GOP_ToBeRemove 1297 /// @return GOP_API_SUCCESS - Success 1298 //------------------------------------------------------------------------------------------------- 1299 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RestoreFromVsyncLimitation(void); 1300 1301 //----------------- 1302 // MIU 1303 //----------------- 1304 //------------------------------------------------------------------------------------------------- 1305 /// API for set gop miu selection 1306 /// @ingroup MIU 1307 /// @param bEnable \b IN: 1308 /// - # TRUE Enable Tile Mode for GWIN 1309 /// - # FALSE Disable Tile Mode for GWIN 1310 /// @return GOP_API_SUCCESS - Success 1311 /// @return GOP_API_FAIL - Failure 1312 //------------------------------------------------------------------------------------------------- 1313 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIUSel(MS_U8 u8GOP, EN_GOP_SEL_TYPE MiuSel); 1314 //------------------------------------------------------------------------------------------------- 1315 /// API for set U/V SWAP 1316 /// @ingroup COLOR_TRANSFOR 1317 /// @param u8GOP \b IN: GOP number 1318 /// @param bEnable \b IN: 1319 /// - # TRUE Enable U/V SWAP for GOP 1320 /// - # FALSE Disable U/V SWAP for GOP 1321 /// @return GOP_API_SUCCESS - Success 1322 /// @return GOP_API_FAIL - Failure 1323 //------------------------------------------------------------------------------------------------- 1324 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetUVSwap(MS_U8 u8GOP, MS_BOOL bEn); 1325 //------------------------------------------------------------------------------------------------- 1326 /// API for set Y/C SWAP 1327 /// @ingroup COLOR_TRANSFOR 1328 /// @param u8GOP \b IN: GOP number 1329 /// @param bEnable \b IN: 1330 /// - # TRUE Enable Y/C SWAP for GOP 1331 /// - # FALSE Disable Y/C SWAP for GOP 1332 /// @return GOP_API_SUCCESS - Success 1333 /// @return GOP_API_FAIL - Failure 1334 //------------------------------------------------------------------------------------------------- 1335 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetYCSwap(MS_U8 u8GOP, MS_BOOL bEn); 1336 //------------------------------------------------------------------------------------------------- 1337 /// API for query gop miu selection 1338 /// @ingroup MIU 1339 /// @param bEnable \b IN: 1340 /// - # TRUE Enable Tile Mode for GWIN 1341 /// - # FALSE Disable Tile Mode for GWIN 1342 /// @return GOP_API_SUCCESS - Success 1343 /// @return GOP_API_FAIL - Failure 1344 //------------------------------------------------------------------------------------------------- 1345 DLL_PUBLIC MS_U8 MApi_GOP_GetMIUSel(MS_U8 u8GOP); 1346 //------------------------------------------------------------------------------------------------- 1347 /// API for set contrast 1348 /// @ingroup COLOR_TRANSFOR 1349 /// @param u8GOP \b IN: GOP number 1350 /// @param u16YContrast \b IN: Y contrast 1351 /// @param u16UContrast \b IN: U contrast 1352 /// @param u16VContrast \b IN: V contrast 1353 /// @return GOP_API_SUCCESS - Success 1354 /// @return GOP_API_FAIL - Failure 1355 //------------------------------------------------------------------------------------------------- 1356 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPContrast(MS_U8 u8GOP, MS_U16 u16YContrast, MS_U16 u16UContrast, MS_U16 u16VContrast); 1357 //------------------------------------------------------------------------------------------------- 1358 /// API for get contrast 1359 /// @ingroup COLOR_TRANSFOR 1360 /// @param u8GOP \b IN: GOP number 1361 /// @param u16YContrast \b IN: Y contrast 1362 /// @param u16UContrast \b IN: U contrast 1363 /// @param u16VContrast \b IN: V contrast 1364 /// @return GOP_API_SUCCESS - Success 1365 /// @return GOP_API_FAIL - Failure 1366 //------------------------------------------------------------------------------------------------- 1367 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetGOPContrast(MS_U8 u8GOP, MS_U16* u16YContrast, MS_U16* u16UContrast, MS_U16* u16VContrast); 1368 //------------------------------------------------------------------------------------------------- 1369 /// API for VE captue 1370 /// @ingroup GOP_VE 1371 /// @param pstVECapState \b IN: paramater of capture 1372 /// @return GOP_API_SUCCESS - Success 1373 /// @return GOP_API_FAIL - Failure 1374 //------------------------------------------------------------------------------------------------- 1375 DLL_PUBLIC E_GOP_API_Result MApi_GOP_EnaVECapture(PMS_GOP_VECAPTURESTATE pstVECapState); 1376 //------------------------------------------------------------------------------------------------- 1377 /// API for get VE captue status 1378 /// @ingroup GOP_VE 1379 /// @param pstVECapState \b IN: paramater of capture 1380 /// @return GOP_API_SUCCESS - Success 1381 /// @return GOP_API_FAIL - Failure 1382 //------------------------------------------------------------------------------------------------- 1383 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetVECaptureState(PMS_GOP_VECAPTURESTATE pstVECapState); 1384 //------------------------------------------------------------------------------------------------- 1385 /// API for wait one frame done 1386 /// @ingroup GOP_VE 1387 /// @param pstVECapState \b IN: paramater of capture 1388 /// @return GOP_API_SUCCESS - Success 1389 /// @return GOP_API_FAIL - Failure 1390 //------------------------------------------------------------------------------------------------- 1391 DLL_PUBLIC E_GOP_API_Result MApi_GOP_VECaptureWaitOnFrame(PMS_GOP_VECAPTURESTATE pstVECapState); 1392 1393 /*******************************************************************************/ 1394 //Set configuration for special cases 1395 /// - This is for special case usage. Do NOT overuse this function 1396 /// @param type \b IN: Config type 1397 /// - 0: E_GOP_IGNOREINIT, 1398 /// - 1: E_GOP_CONSALPHA_BITS 1399 /// @param plist \b IN: Config list for the specific type 1400 // - This list could be an enum or a structure 1401 //@return GOP_API_SUCCESS - Success 1402 /*******************************************************************************/ 1403 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 1404 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetConfig(EN_GOP_CONFIG_TYPE type, MS_U32 *plist); 1405 #else 1406 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetConfig(EN_GOP_CONFIG_TYPE type, void *plist); 1407 #endif 1408 /********************************************************************************/ 1409 /// Set config by GOP; For dynamic usage. 1410 /// @param u8GOP \b IN: GOP number 1411 /// @param enType \b IN: GOP info type 1412 /// @param pstInfo \b IN misc info 1413 /// @return GOP_API_SUCCESS - Success 1414 /// @return GOP_API_FAIL - Failure 1415 /********************************************************************************/ 1416 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 1417 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_SetConfigEx(MS_U8 u8Gop, EN_GOP_CONFIG_TYPE enType, MS_U32 *plist); 1418 #else 1419 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_SetConfigEx(MS_U8 u8Gop, EN_GOP_CONFIG_TYPE enType, void *plist); 1420 #endif 1421 /********************************************************************************/ 1422 /// Get config by GOP. 1423 /// @param u8GOP \b IN: GOP number 1424 /// @param enType \b IN: GOP info type 1425 /// @param pstInfo \b IN misc info 1426 /// @return GOP_API_SUCCESS - Success 1427 /// @return GOP_API_FAIL - Failure 1428 /********************************************************************************/ 1429 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 1430 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GetConfigEx(MS_U8 u8Gop, EN_GOP_CONFIG_TYPE enType, MS_U32 *plist); 1431 #else 1432 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GetConfigEx(MS_U8 u8Gop, EN_GOP_CONFIG_TYPE enType, void *plist); 1433 #endif 1434 //----------------- 1435 // 3D 1436 //----------------- 1437 //------------------------------------------------------------------------------------------------- 1438 /// API for set GWIN 3D Mode 1439 /// @ingroup 3D 1440 /// @param u8GwinId \b IN: GWin ID 1441 /// @param u16MainFBId \b IN: Main-Frame Buffer ID 1442 /// @param u16SubFBId \b IN: Sub-Frame Buffer ID 1443 /// @param EN_3DOSD_Mode \b IN: 3D Osd mode select. 1444 /// @return GOP_API_SUCCESS - Success 1445 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Set3DOSDMode(MS_U8 u8Gwin, MS_U16 u16MainFBId, MS_U16 u16SubFBId,EN_GOP_3D_MODETYPE en3DMode); 1446 1447 //------------------------------------------------------------------------------------------------- 1448 /// API for change L/R frame for GOP 3D function 1449 /// @ingroup 3D 1450 /// @param u8GOP \b IN: GOP ID 1451 /// @return GOP_API_SUCCESS - Success 1452 //------------------------------------------------------------------------------------------------- 1453 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Set3D_LR_FrameExchange(MS_U8 u8GOP); 1454 //------------------------------------------------------------------------------------------------- 1455 /// MApi_GOP_Set_GPIO3DPin 1456 /// @ingroup GOP_ToBeRemove 1457 /// @return GOP_API_SUCCESS - Success 1458 //------------------------------------------------------------------------------------------------- 1459 DLL_PUBLIC E_GOP_API_Result MApi_GOP_Set_GPIO3DPin(MS_U32 u32GPIO3DPin); 1460 //------------------------------------------------------------------------------------------------- 1461 /// API for Query GOP Capability 1462 /// @ingroup GOP_CAPS 1463 /// @param eCapType \b IN: Capability type 1464 /// @param pRet \b OUT: return value 1465 /// @param ret_size \b IN: input structure size 1466 /// @return GOP_API_SUCCESS - Success 1467 //------------------------------------------------------------------------------------------------- 1468 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 1469 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetChipCaps(EN_GOP_CAPS eCapType, MS_U32* pRet, MS_U32 ret_size); 1470 #else 1471 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GetChipCaps(EN_GOP_CAPS eCapType, void* pRet, MS_U32 ret_size); 1472 #endif 1473 //----------------- 1474 // GOP_TEST_PATTERN 1475 //----------------- 1476 //------------------------------------------------------------------------------------------------- 1477 /// Set test pattern 1478 /// @ingroup GOP_TEST_PATTERN 1479 /// @param eTstPatternType \b IN: test pattern type 1480 /// @param u32ARGB \b IN color 1481 /// @return GOP_API_SUCCESS - Success 1482 //------------------------------------------------------------------------------------------------- 1483 DLL_PUBLIC E_GOP_API_Result MApi_GOP_TestPattern(EN_GOP_TST_PATTERN eTstPatternType, MS_U32 u32ARGB); 1484 //------------------------------------------------------------------------------------------------- 1485 /// Set test pattern alpha 1486 /// @ingroup GOP_TEST_PATTERN 1487 /// @param bTSTAlpha \b IN: test pattern alpha 1488 /// @return GOP_API_SUCCESS - Success 1489 //------------------------------------------------------------------------------------------------- 1490 DLL_PUBLIC E_GOP_API_Result MApi_GOP_TestPatternAlpha_Enable(MS_BOOL bTSTAlpha); 1491 //------------------------------------------------------------------------------------------------- 1492 /// MApi_GOP_IsRegUpdated 1493 /// @ingroup GOP_ToBeRemove 1494 /// @return GOP_API_SUCCESS - Success 1495 //------------------------------------------------------------------------------------------------- 1496 DLL_PUBLIC E_GOP_API_Result MApi_GOP_IsRegUpdated(MS_U8 u8GopType); 1497 1498 /*******************************************************************************/ 1499 //Get Layer From GOP 1500 //@param u32GOP \b IN: gop id 1501 //@return MS_U32 - the layer id which the gop is on, LAYER_ID_INVALID for invalid 1502 /*******************************************************************************/ 1503 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetLayerFromGOP(MS_U32 u32GOP); 1504 1505 /*******************************************************************************/ 1506 //Get GOP From layer 1507 //@param u32Layer \b IN: layer id 1508 //@return MS_U32 - the gop id which the layer have, INVALID_GOP_NUM for invalid 1509 /*******************************************************************************/ 1510 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetGOPFromLayer(MS_U32 u32Layer); 1511 1512 //----------------- 1513 // ENABLE 1514 //----------------- 1515 //------------------------------------------------------------------------------------------------- 1516 /// Enable GWIN for display 1517 /// @ingroup ENABLE 1518 /// @param winId \b IN: GWIN id 1519 /// @param bEnable \b IN: 1520 /// - # TRUE Show GWIN 1521 /// - # FALSE Hide GWIN 1522 /// @return GOP_API_SUCCESS - Success 1523 /// @return GOP_API_FAIL - Failure 1524 //------------------------------------------------------------------------------------------------- 1525 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Enable(MS_U8 winId, MS_BOOL bEnable); 1526 //------------------------------------------------------------------------------------------------- 1527 /// MApi_GOP_GWIN_EnableTransClr 1528 /// @ingroup GOP_ToBeRemove 1529 /// @return GOP_API_SUCCESS - Success 1530 //------------------------------------------------------------------------------------------------- 1531 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_EnableTransClr(EN_GOP_TRANSCLR_FMT fmt, MS_BOOL bEnable); 1532 //----------------- 1533 // TRANSPARENT_CLR_CEY 1534 //----------------- 1535 //------------------------------------------------------------------------------------------------- 1536 /// Enable gop transparent color 1537 /// @ingroup TRANSPARENT_CLR_CEY 1538 /// @param fmt \b IN: RGB mode or u8Index mode color format 1539 /// @param bEnable \b IN: 1540 /// - # TRUE Enable gop transparent color 1541 /// - # FALSE Disable gop transparent color 1542 /// @return GOP_API_SUCCESS - Success 1543 //------------------------------------------------------------------------------------------------- 1544 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_EnableTransClr_EX(MS_U8 u8GOP,EN_GOP_TRANSCLR_FMT fmt, MS_BOOL bEnable); 1545 //------------------------------------------------------------------------------------------------- 1546 /// MApi_GOP_GWIN_EnableProgressive 1547 /// @ingroup GOP_ToBeRemove 1548 /// @return GOP_API_SUCCESS - Success 1549 //------------------------------------------------------------------------------------------------- 1550 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_EnableProgressive(MS_BOOL bEnable); 1551 //------------------------------------------------------------------------------------------------- 1552 /// Enable gop progressive mode 1553 /// @ingroup GOP_OPTION 1554 /// @param u8GOP \b IN: GOP number 1555 /// @param bEnable \b IN: 1556 /// - # TRUE Enable gop progressive mode 1557 /// - # FALSE Disable gop progressive mode 1558 /// @return GOP_API_SUCCESS - Success 1559 //------------------------------------------------------------------------------------------------- 1560 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_EnableProgressive_EX(MS_U8 u8GOP,MS_BOOL bEnable); 1561 //----------------- 1562 // GWIN_DELETE 1563 //----------------- 1564 //------------------------------------------------------------------------------------------------- 1565 /// Delete the GWIN, free corresponding frame buffer 1566 /// @ingroup GWIN_DELETE 1567 /// @param winId \b IN GWIN id 1568 /// @return GOP_API_SUCCESS - Success 1569 /// @return GOP_API_FAIL - Failure 1570 //------------------------------------------------------------------------------------------------- 1571 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_DeleteWin(MS_U8 winId); 1572 //------------------------------------------------------------------------------------------------- 1573 /// MApi_GOP_GWIN_ReleaseWin 1574 /// @ingroup GOP_ToBeRemove 1575 /// @return GOP_API_SUCCESS - Success 1576 //------------------------------------------------------------------------------------------------- 1577 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_ReleaseWin(MS_U8 gId); 1578 //------------------------------------------------------------------------------------------------- 1579 /// MApi_GOP_GWIN_DestroyWin 1580 /// @ingroup GOP_ToBeRemove 1581 /// @return GOP_API_SUCCESS - Success 1582 //------------------------------------------------------------------------------------------------- 1583 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_DestroyWin(MS_U8 gId); 1584 //------------------------------------------------------------------------------------------------- 1585 /// MApi_GOP_GWIN_DeleteWinHVSize 1586 /// @ingroup GOP_ToBeRemove 1587 /// @return GOP_API_SUCCESS - Success 1588 //------------------------------------------------------------------------------------------------- 1589 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_DeleteWinHVSize(MS_U8 u8GOP, MS_U16 u16HSize, MS_U16 u16VSize); 1590 1591 /*******************************************************************************/ 1592 //Set which OSD Layer select which GOP 1593 //@param pGopLayer \b IN:information about GOP and corresponding Layer 1594 // #u32LayerCounts: the total GOP/Layer counts to set 1595 // #stGopLayer[i].u32GopIndex :the GOP which need to change Layer 1596 // #stGopLayer[i].u32LayerIndex :the GOP corresponding Layer 1597 //@return GOP_API_SUCCESS - Success 1598 /*******************************************************************************/ 1599 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetLayer(GOP_LayerConfig *pGopLayer, MS_U32 u32SizeOfLayerInfo); 1600 /*******************************************************************************/ 1601 //Get which OSD Layer select which GOP 1602 //@param pGopLayer \b OUT:information about GOP and corresponding Layer 1603 // #u32LayerCounts: the total GOP/Layer inited 1604 // #stGopLayer[i].u32GopIndex :the GOP which need to change Layer 1605 // #stGopLayer[i].u32LayerIndex :the GOP corresponding Layer 1606 //@return GOP_API_SUCCESS - Success 1607 /*******************************************************************************/ 1608 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetLayer(GOP_LayerConfig *pGopLayer, MS_U32 u32SizeOfLayerInfo); 1609 //------------------------------------------------------------------------------------------------- 1610 /// MApi_GOP_GWIN_OutputColor 1611 /// @ingroup GOP_ToBeRemove 1612 /// @return GOP_API_SUCCESS - Success 1613 //------------------------------------------------------------------------------------------------- 1614 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_OutputColor(EN_GOP_OUTPUT_COLOR type); 1615 //----------------- 1616 // COLOR_TRANSFOR 1617 //----------------- 1618 //------------------------------------------------------------------------------------------------- 1619 /// Set gop output color type 1620 /// @ingroup COLOR_TRANSFOR 1621 /// @param type \b IN: gop output color type 1622 /// - # GOPOUT_RGB => RGB mode 1623 /// - # GOPOUT_YUV => YUV mode 1624 /// @return GOP_API_SUCCESS - Success 1625 //------------------------------------------------------------------------------------------------- 1626 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_OutputColor_EX(MS_U8 u8GOP,EN_GOP_OUTPUT_COLOR type); 1627 //------------------------------------------------------------------------------------------------- 1628 /// MApi_GOP_GWIN_SwapOverlapWin 1629 /// @ingroup GOP_ToBeRemove 1630 /// @return GOP_API_SUCCESS - Success 1631 //------------------------------------------------------------------------------------------------- 1632 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SwapOverlapWin(MS_U8 u8GOP, MS_U8 u8win); 1633 //----------------- 1634 // GWIN_OPTION 1635 //----------------- 1636 //----------------- 1637 // GWIN_ORDER 1638 //----------------- 1639 //------------------------------------------------------------------------------------------------- 1640 /// Set GWIN relative Priority 1641 /// Will Ensure Gwin Priority in the same sequence in hw as pGwinPri defined 1642 /// @ingroup GWIN_ORDER 1643 /// @param u8GOP \b IN: GOP number 1644 /// @param pGwinPri \b IN: Relative Gwin ID Priority Defines 1645 /// @return GOP_API_SUCCESS - Success 1646 /// @return GOP_API_FAIL - Failure 1647 //------------------------------------------------------------------------------------------------- 1648 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetRelativeWinPrio(MS_U8 u8GOP, GOP_GwinPri *pGwinPri); 1649 //------------------------------------------------------------------------------------------------- 1650 /// MApi_GOP_GWIN_Switch2Gwin 1651 /// @ingroup GOP_ToBeRemove 1652 /// @return GOP_API_SUCCESS - Success 1653 //------------------------------------------------------------------------------------------------- 1654 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Switch2Gwin(MS_U8 winId); 1655 //------------------------------------------------------------------------------------------------- 1656 /// MApi_GOP_GWIN_SetAlphaInverse 1657 /// @ingroup GOP_ToBeRemove 1658 /// @return GOP_API_SUCCESS - Success 1659 //------------------------------------------------------------------------------------------------- 1660 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetAlphaInverse(MS_BOOL bEnable); 1661 //------------------------------------------------------------------------------------------------- 1662 /// Enable/Disable gop alpha inverse 1663 /// @param u8GOP \b IN: GOP number 1664 /// @ingroup GOP_OPTION 1665 /// @param bEnable \b IN: TRUE or FALSE 1666 /// @return GOP_API_SUCCESS - Success 1667 //------------------------------------------------------------------------------------------------- 1668 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetAlphaInverse_EX(MS_U8 u8GOP,MS_BOOL bEnable); 1669 //------------------------------------------------------------------------------------------------- 1670 /// MApi_GOP_GWIN_GetAlphaInverse 1671 /// @ingroup GOP_ToBeRemove 1672 /// @return GOP_API_SUCCESS - Success 1673 //------------------------------------------------------------------------------------------------- 1674 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetAlphaInverse(MS_BOOL *bEnable); 1675 //------------------------------------------------------------------------------------------------- 1676 /// Get gop alpha inverse setting 1677 /// @param u8GOP \b IN: GOP number 1678 /// @ingroup GOP_OPTION 1679 /// @param bEnable \b OUT: TRUE or FALSE 1680 /// @return GOP_API_SUCCESS - Success 1681 //------------------------------------------------------------------------------------------------- 1682 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_GetAlphaInverse_EX(MS_U8 u8GOP,MS_BOOL *bEnable); 1683 //------------------------------------------------------------------------------------------------- 1684 /// MApi_GOP_GWIN_SetPalette 1685 /// @ingroup GOP_ToBeRemove 1686 /// @return GOP_API_SUCCESS - Success 1687 //------------------------------------------------------------------------------------------------- 1688 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetPalette(void); 1689 1690 /******************************************************************************/ 1691 /// Enable/Disable multi alpha for one gop 1692 /// @param u32GopIdx \b IN: gop ID 1693 /// @param bEnable \b IN: TRUE/FALSE 1694 /// @return GOP_API_SUCCESS - Success 1695 /******************************************************************************/ 1696 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_EnableMultiAlpha(MS_U32 u32GopIdx, MS_BOOL bEnable); 1697 1698 /******************************************************************************/ 1699 /// get multi alpha status for one gop 1700 /// @param u32GopIdx \b IN: gop ID 1701 /// @return multi alpha status 1702 /******************************************************************************/ 1703 DLL_PUBLIC SYMBOL_WEAK MS_BOOL MApi_GOP_GWIN_IsMultiAlphaEnable(MS_U32 u32GopIdx); 1704 //------------------------------------------------------------------------------------------------- 1705 /// MApi_GOP_GWIN_SetAlphaValue 1706 /// @ingroup GOP_ToBeRemove 1707 /// @return GOP_API_SUCCESS - Success 1708 //------------------------------------------------------------------------------------------------- 1709 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetAlphaValue(MS_U16 * Gwin01AlphaValue, MS_U16 * Gwin23AlphaValue); 1710 DLL_PUBLIC void MApi_GOP_GWIN_SetHScroll(MS_U8 nWinID, MS_U8 nRate, MS_BOOL bEnable); 1711 DLL_PUBLIC void MApi_GOP_GWIN_SetVScroll(MS_U8 nWinID, MS_U8 nRate, MS_BOOL bEnable); 1712 //----------------- 1713 // SCROLL 1714 //----------------- 1715 //------------------------------------------------------------------------------------------------- 1716 /// API for Set Scroll rate for Gwin 1717 /// @ingroup SCROLL 1718 /// @param winId \b IN: GWIN id 1719 /// @param bEnable \b IN: 1720 /// - # TRUE Enable Tile Mode for GWIN 1721 /// - # FALSE Disable Tile Mode for GWIN 1722 /// @return GOP_API_SUCCESS - Success 1723 /// @return GOP_API_FAIL - Failure 1724 //------------------------------------------------------------------------------------------------- 1725 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetScrollRate(MS_U8 u8rate); 1726 //------------------------------------------------------------------------------------------------- 1727 /// Set back ground window 1728 /// @ingroup SCROLL 1729 /// @param u8WinId \b IN: GWIN number 1730 /// @param type \b IN: scroll type 1731 /// @param u16Offset \b IN: scroll offset 1732 /// @param bEnable \b IN: Enable/Disable 1733 /// @return GOP_API_SUCCESS - Success 1734 /// @return GOP_API_FAIL - Failure 1735 //------------------------------------------------------------------------------------------------- 1736 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetScrollType(MS_U8 u8WinId, GOP_SCROLL_TYPE type, MS_U16 u16Offset, MS_BOOL bEnable ); 1737 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetSWScrollBuffer(MS_U16 bufNum, MS_U32* pBuffer); 1738 //------------------------------------------------------------------------------------------------- 1739 /// MApi_GOP_GWIN_SetFMT0TransClr 1740 /// @ingroup GOP_ToBeRemove 1741 /// @return GOP_API_SUCCESS - Success 1742 //------------------------------------------------------------------------------------------------- 1743 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetFMT0TransClr(MS_U16 clr); 1744 //------------------------------------------------------------------------------------------------- 1745 /// MApi_GOP_GWIN_SetFMT0TransClr_EX 1746 /// @ingroup GOP_ToBeRemove 1747 /// @return GOP_API_SUCCESS - Success 1748 //------------------------------------------------------------------------------------------------- 1749 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetFMT0TransClr_EX(MS_U8 u8GOP,MS_U16 clr); 1750 //------------------------------------------------------------------------------------------------- 1751 /// MApi_GOP_GWIN_SetTransClr_8888 1752 /// @ingroup GOP_ToBeRemove 1753 /// @return GOP_API_SUCCESS - Success 1754 //------------------------------------------------------------------------------------------------- 1755 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetTransClr_8888(MS_U32 clr, MS_U32 mask); 1756 //------------------------------------------------------------------------------------------------- 1757 /// MApi_GOP_GWIN_SetTransClr_8888_EX 1758 /// @ingroup GOP_ToBeRemove 1759 /// @return GOP_API_SUCCESS - Success 1760 //------------------------------------------------------------------------------------------------- 1761 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetTransClr_8888_EX(MS_U8 u8GOP,MS_U32 clr, MS_U32 mask); 1762 //------------------------------------------------------------------------------------------------- 1763 /// MApi_GOP_GWIN_EnableT3DMode 1764 /// @ingroup GOP_ToBeRemove 1765 /// @return GOP_API_SUCCESS - Success 1766 //------------------------------------------------------------------------------------------------- 1767 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_EnableT3DMode(MS_BOOL bEnable); 1768 1769 /********************************************************************************/ 1770 /// Set GWIN alpha blending 1771 /// @param u8win \b IN GWIN id 1772 /// @param bEnable \b IN 1773 /// - # TRUE enable pixel alpha 1774 /// - # FALSE disable pixel alpha 1775 /// @param u8coef \b IN alpha blending coefficient (0-7) 1776 /// @return GOP_API_SUCCESS - Success 1777 /// if setting constant alpha blending,please firstly set User_ConsAlpha_bits by calling MApi_GOP_SetConfig(...) 1778 /// example: 1779 /// MS_U32 aConf32[] = {DRV_VALID_8BITS}; 1780 /// MApi_GOP_SetConfig(E_GOP_CONSALPHA_BITS,aConf32); 1781 /// MApi_GOP_GWIN_SetBlending(0, FALSE, 0xFF); 1782 /********************************************************************************/ 1783 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetBlending(MS_U8 u8win, MS_BOOL bEnable, MS_U8 u8coef); 1784 //------------------------------------------------------------------------------------------------- 1785 /// MApi_GOP_GWIN_SetDuplication 1786 /// @ingroup GOP_ToBeRemove 1787 /// @return GOP_API_SUCCESS - Success 1788 //------------------------------------------------------------------------------------------------- 1789 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetDuplication(MS_U8 hext, MS_U8 vext); 1790 //----------------- 1791 // SET_GWIN_WINDOW 1792 //----------------- 1793 //------------------------------------------------------------------------------------------------- 1794 /// Set the GWIN's position 1795 /// @ingroup SET_GWIN_WINDOW 1796 /// @param winId \b IN: GWIN id 1797 /// @param dispX \b IN: x coordinate 1798 /// @param dispY \b IN: y coordinate 1799 /// @return GOP_API_SUCCESS - Success 1800 /// @return GOP_API_FAIL - Failure 1801 //------------------------------------------------------------------------------------------------- 1802 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetWinPosition(MS_U8 winId, MS_U16 dispX, MS_U16 dispY); 1803 //------------------------------------------------------------------------------------------------- 1804 /// MApi_GOP_GWIN_SetWinPositionOffset 1805 /// @ingroup GOP_ToBeRemove 1806 /// @return GOP_API_SUCCESS - Success 1807 //------------------------------------------------------------------------------------------------- 1808 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetWinPositionOffset(MS_U8 winId, MS_U16 x, MS_U16 y); 1809 //------------------------------------------------------------------------------------------------- 1810 /// MApi_GOP_GWIN_SetWinProperty 1811 /// @ingroup GOP_ToBeRemove 1812 /// @return GOP_API_SUCCESS - Success 1813 //------------------------------------------------------------------------------------------------- 1814 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetWinProperty(GOP_GwinDispProperty WinProperty); 1815 1816 //----------------- 1817 // GOP_CONFIG 1818 //----------------- 1819 //----------------- 1820 // DST 1821 //----------------- 1822 //------------------------------------------------------------------------------------------------- 1823 /// Configure the destination of a specific GOP 1824 /// @ingroup DST 1825 /// @param u8GOP \b IN : Number of GOP 1826 /// @param dsttype \b IN : GOP destination 1827 /// @return GOP_API_SUCCESS - Success 1828 /// @return GOP_API_ENUM_NOT_SUPPORTED - GOP destination not support 1829 //------------------------------------------------------------------------------------------------- 1830 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetGOPDst(MS_U8 u8GOP, EN_GOP_DST_TYPE dsttype); 1831 //----------------- 1832 // BLINK 1833 //----------------- 1834 //------------------------------------------------------------------------------------------------- 1835 /// Set GWIN Blink 1836 /// @ingroup BLINK 1837 /// @param bEnable \b IN 1838 /// - # TRUE enable 1839 /// - # FALSE disable 1840 /// @param u8rate \b IN Blink frame rate 1841 /// @return GOP_API_SUCCESS - Success 1842 //------------------------------------------------------------------------------------------------- 1843 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetBlink(MS_BOOL bEnable, MS_U8 u8rate); 1844 //------------------------------------------------------------------------------------------------- 1845 /// MApi_GOP_GWIN_SetFieldInver 1846 /// @ingroup GOP_ToBeRemove 1847 /// @return GOP_API_SUCCESS - Success 1848 //------------------------------------------------------------------------------------------------- 1849 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetFieldInver(MS_BOOL enable); 1850 //------------------------------------------------------------------------------------------------- 1851 /// Enable/disable GOP field inverse 1852 /// @param u8GOP \b IN: GOP number 1853 /// @ingroup GOP_OPTION 1854 /// @param enable \b IN TRUE/FALSE 1855 /// @return GOP_API_SUCCESS - Success 1856 //------------------------------------------------------------------------------------------------- 1857 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetFieldInver_EX(MS_U8 u8GOP,MS_BOOL enable); 1858 //------------------------------------------------------------------------------------------------- 1859 /// Set stretch window property 1860 /// @ingroup SET_STRETCH_WINDOW 1861 /// @param u8GOP_num \b IN 0: GOP0 1:GOP1 1862 /// @param eDstType \b IN \copydoc EN_GOP_DST_TYPE 1863 /// @param x \b IN stretch window horizontal start position 1864 /// @param y \b IN stretch window vertical start position 1865 /// @param width \b IN stretch window width 1866 /// @param height \b IN stretch window height 1867 /// @return GOP_API_SUCCESS - Success 1868 /// @return GOP_API_FAIL - Failure 1869 //------------------------------------------------------------------------------------------------- 1870 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_STRETCHWIN(MS_U8 u8GOP_num, EN_GOP_DST_TYPE eDstType,MS_U16 x, MS_U16 y, MS_U16 width, MS_U16 height); 1871 //------------------------------------------------------------------------------------------------- 1872 /// Set stretch window position 1873 /// @ingroup SET_STRETCH_WINDOW 1874 /// @param u8GOPNum \b IN 0: GOP0 1:GOP1 1875 /// @param u16DispX \b IN stretch window horizontal start position 1876 /// @param u16DispY \b IN stretch window vertical start position 1877 /// @return GOP_API_SUCCESS - Success 1878 /// @return GOP_API_INVALID_PARAMETERS - Failure 1879 //------------------------------------------------------------------------------------------------- 1880 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetStretchWinPosition(MS_U8 u8GOPNum, MS_U16 u16DispX, MS_U16 u16DispY); 1881 //------------------------------------------------------------------------------------------------- 1882 /// MApi_GOP_GWIN_SetHDisplaySize 1883 /// @ingroup GOP_ToBeRemove 1884 /// @return GOP_API_SUCCESS - Success 1885 //------------------------------------------------------------------------------------------------- 1886 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetHDisplaySize(MS_U8 gId, MS_U16 Width,MS_U16 X_Start); 1887 //------------------------------------------------------------------------------------------------- 1888 /// Set GWIN information to GOP registers 1889 /// @ingroup SET_GWIN_WINDOW 1890 /// @param u8win \b IN: GWINID 1891 /// @param pinfo \b IN: GWIN Information 1892 /// @return GOP_API_SUCCESS - Success 1893 /// @return GOP_API_FAIL - Failure 1894 //------------------------------------------------------------------------------------------------- 1895 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetWinInfo(MS_U8 u8win, GOP_GwinInfo* pinfo); 1896 //------------------------------------------------------------------------------------------------- 1897 /// MApi_GOP_GWIN_SetTransClr 1898 /// @ingroup GOP_ToBeRemove 1899 /// @return GOP_API_SUCCESS - Success 1900 //------------------------------------------------------------------------------------------------- 1901 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetTransClr(EN_GOP_TRANSCLR_FMT fmt, MS_U16 clr); 1902 //------------------------------------------------------------------------------------------------- 1903 /// MApi_GOP_GWIN_SetTransparentClr 1904 /// @param u8GOP \b IN: GOP number 1905 /// @param fmt \b IN: 1906 /// # GOPTRANSCLR_FMT0: RGB mode 1907 /// # GOPTRANSCLR_FMT1: index mode 1908 /// # GOPTRANSCLR_FMT2: ARGB8888 mode 1909 /// # GOPTRANSCLR_FMT3: YUV mode 1910 /// @param st_Transcolor \b IN This structure has an element color which is used for trans color. 1911 /// @return GOP_API_SUCCESS - Success 1912 //------------------------------------------------------------------------------------------------- 1913 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetTransparentClr(MS_U8 u8GOP, EN_GOP_TRANSCLR_FMT fmt, ST_Transparent_Color *st_Transcolor); 1914 //------------------------------------------------------------------------------------------------- 1915 /// Set transparent color for the GWIN 1916 /// @ingroup TRANSPARENT_CLR_CEY 1917 /// @param fmt \b IN: 1918 /// # GOPTRANSCLR_FMT0: RGB mode 1919 /// # GOPTRANSCLR_FMT1: index mode 1920 /// @param clr \b IN Transparent color for in specific color format. Note that this is only for 1921 /// GOPTRANSCLR_FMT0(RGB mode) use. If you use GOPTRANSCLR_FMT1 (index mode), do not care this 1922 /// @return GOP_API_SUCCESS - Success 1923 //------------------------------------------------------------------------------------------------- 1924 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetTransClr_EX(MS_U8 u8GOP,EN_GOP_TRANSCLR_FMT fmt, MS_U16 clr); 1925 //------------------------------------------------------------------------------------------------- 1926 /// MApi_GOP_GWIN_SetWinDispPosition 1927 /// @ingroup GOP_ToBeRemove 1928 /// @return GOP_API_SUCCESS - Success 1929 //------------------------------------------------------------------------------------------------- 1930 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetWinDispPosition(MS_U8 gId, MS_U16 dispX, MS_U16 dispY); 1931 //------------------------------------------------------------------------------------------------- 1932 /// MApi_GOP_GWIN_SetHMirror 1933 /// @ingroup GOP_ToBeRemove 1934 /// @return GOP_API_SUCCESS - Success 1935 //------------------------------------------------------------------------------------------------- 1936 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetHMirror(MS_BOOL bEnable); 1937 //----------------- 1938 // MIRROR 1939 //----------------- 1940 //------------------------------------------------------------------------------------------------- 1941 /// Set GOP H-Mirror 1942 /// @ingroup MIRROR 1943 /// @param u8GOP \b IN : Number of GOP 1944 /// @param bEnable \b IN 1945 /// - # TRUE enable 1946 /// - # FALSE disable 1947 /// @return GOP_API_SUCCESS - Success 1948 //------------------------------------------------------------------------------------------------- 1949 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetHMirror_EX(MS_U8 u8GOP,MS_BOOL bEnable); 1950 //------------------------------------------------------------------------------------------------- 1951 /// MApi_GOP_GWIN_SetVMirror 1952 /// @ingroup GOP_ToBeRemove 1953 /// @return GOP_API_SUCCESS - Success 1954 //------------------------------------------------------------------------------------------------- 1955 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetVMirror(MS_BOOL bEnable); 1956 //------------------------------------------------------------------------------------------------- 1957 /// Set GOP V-Mirror 1958 /// @ingroup MIRROR 1959 /// @param u8GOP \b IN : Number of GOP 1960 /// @param bEnable \b IN 1961 /// - # TRUE enable 1962 /// - # FALSE disable 1963 /// @return GOP_API_SUCCESS - Success 1964 //------------------------------------------------------------------------------------------------- 1965 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetVMirror_EX(MS_U8 u8GOP,MS_BOOL bEnable); 1966 //------------------------------------------------------------------------------------------------- 1967 /// MApi_GOP_GWIN_IsMirrorOn 1968 /// @ingroup GOP_ToBeRemove 1969 /// @return GOP_API_SUCCESS - Success 1970 //------------------------------------------------------------------------------------------------- 1971 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_IsMirrorOn(MS_BOOL *bHMirror, MS_BOOL *bVMirror); 1972 //------------------------------------------------------------------------------------------------- 1973 /// Get GOP Mirror status 1974 /// @ingroup MIRROR 1975 /// @param u8GOP \b IN : Number of GOP 1976 /// @param bHMirror \b IN : H mirror status 1977 /// @param bVMirror \b IN : V mirror status 1978 /// @return GOP_API_SUCCESS - Success 1979 //------------------------------------------------------------------------------------------------- 1980 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_IsMirrorOn_EX(MS_U8 u8GOP,MS_BOOL *bHMirror, MS_BOOL *bVMirror); 1981 //------------------------------------------------------------------------------------------------- 1982 /// MApi_GOP_GWIN_Set_HSCALE 1983 /// @ingroup GOP_ToBeRemove 1984 /// @return GOP_API_SUCCESS - Success 1985 //------------------------------------------------------------------------------------------------- 1986 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_HSCALE(MS_BOOL bEnable, MS_U16 src, MS_U16 dst) ; 1987 //----------------- 1988 // SCALE 1989 //----------------- 1990 //------------------------------------------------------------------------------------------------- 1991 /// Set stretch window H-Stretch ratio. 1992 /// Example: gwin size:960*540 target gwin size: 1920*1080 1993 /// step1: MApi_GOP_GWIN_Set_HSCALE(TRUE, 960, 1920); 1994 /// step2: MApi_GOP_GWIN_Set_VSCALE(TRUE, 540, 1080); 1995 /// step3: MApi_GOP_GWIN_Set_STRETCHWIN(u8GOPNum, E_GOP_DST_OP0, 0, 0, 960, 540); 1996 /// @ingroup SCALE 1997 /// @param u8GOP \b IN: GOP number 1998 /// @param bEnable \b IN: 1999 /// - # TRUE enable 2000 /// - # FALSE disable 2001 /// @param src \b IN: original size 2002 /// @param dst \b IN: target size 2003 /// @return GOP_API_SUCCESS - Success 2004 //------------------------------------------------------------------------------------------------- 2005 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_HSCALE_EX(MS_U8 u8GOP,MS_BOOL bEnable, MS_U16 src, MS_U16 dst); 2006 //------------------------------------------------------------------------------------------------- 2007 /// MApi_GOP_GWIN_Set_VSCALE 2008 /// @ingroup GOP_ToBeRemove 2009 /// @return GOP_API_SUCCESS - Success 2010 //------------------------------------------------------------------------------------------------- 2011 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_VSCALE(MS_BOOL bEnable, MS_U16 src, MS_U16 dst) ; 2012 2013 //------------------------------------------------------------------------------------------------- 2014 /// Set stretch window V-Stretch ratio. 2015 /// Example: gwin size:960*540 target gwin size: 1920*1080 2016 /// step1: MApi_GOP_GWIN_Set_HSCALE(TRUE, 960, 1920); 2017 /// step2: MApi_GOP_GWIN_Set_VSCALE(TRUE, 540, 1080); 2018 /// step3: MApi_GOP_GWIN_Set_STRETCHWIN(u8GOPNum, E_GOP_DST_OP0, 0, 0, 960, 540); 2019 /// @ingroup SCALE 2020 /// @param u8GOP \b IN: GOP number 2021 /// @param bEnable \b IN: 2022 /// - # TRUE enable 2023 /// - # FALSE disable 2024 /// @param src \b IN: original size 2025 /// @param dst \b IN: target size 2026 /// @return GOP_API_SUCCESS - Success 2027 //------------------------------------------------------------------------------------------------- 2028 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_VSCALE_EX(MS_U8 u8GOP,MS_BOOL bEnable, MS_U16 src, MS_U16 dst); 2029 //------------------------------------------------------------------------------------------------- 2030 /// MApi_GOP_GWIN_Set_HStretchMode 2031 /// @ingroup GOP_ToBeRemove 2032 /// @return GOP_API_SUCCESS - Success 2033 //------------------------------------------------------------------------------------------------- 2034 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_HStretchMode(EN_GOP_STRETCH_HMODE HStrchMode); 2035 //------------------------------------------------------------------------------------------------- 2036 /// Set GOP H stretch mode 2037 /// @ingroup SCALE 2038 /// @param u8GOP \b IN: GOP number 2039 /// @param HStrchMode \b IN: 2040 /// - # E_GOP_HSTRCH_6TAPE 2041 /// - # E_GOP_HSTRCH_DUPLICATE 2042 /// @return GOP_API_SUCCESS - Success 2043 //------------------------------------------------------------------------------------------------- 2044 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_Set_HStretchMode_EX(MS_U8 u8GOP,EN_GOP_STRETCH_HMODE HStrchMode); 2045 //------------------------------------------------------------------------------------------------- 2046 /// MApi_GOP_GWIN_Set_VStretchMode 2047 /// @ingroup GOP_ToBeRemove 2048 /// @return GOP_API_SUCCESS - Success 2049 //------------------------------------------------------------------------------------------------- 2050 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_VStretchMode(EN_GOP_STRETCH_VMODE VStrchMode); 2051 //------------------------------------------------------------------------------------------------- 2052 /// Set GOP V stretch mode 2053 /// @ingroup SCALE 2054 /// @param u8GOP \b IN: GOP number 2055 /// @param VStrchMode \b IN: 2056 /// - # E_GOP_VSTRCH_LINEAR 2057 /// - # E_GOP_VSTRCH_DUPLICATE 2058 /// - # E_GOP_VSTRCH_NEAREST 2059 /// @return GOP_API_SUCCESS - Success 2060 //------------------------------------------------------------------------------------------------- 2061 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_Set_VStretchMode_EX(MS_U8 u8GOP,EN_GOP_STRETCH_VMODE VStrchMode); 2062 //------------------------------------------------------------------------------------------------- 2063 /// MApi_GOP_GWIN_Set_TranspColorStretchMode 2064 /// @ingroup GOP_ToBeRemove 2065 /// @return GOP_API_SUCCESS - Success 2066 //------------------------------------------------------------------------------------------------- 2067 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_TranspColorStretchMode(EN_GOP_STRCH_TRANSPCOLORMODE TColorStrchMode); 2068 //------------------------------------------------------------------------------------------------- 2069 /// Set GOP Transparent color Stretch Mode 2070 /// @ingroup SCALE 2071 /// @param u8GOP \b IN: GOP number 2072 /// @param VStrchMode \b IN: 2073 /// - # E_GOP_TRANSPCOLOR_STRCH_DUPLICATE 2074 /// - # E_GOP_TRANSPCOLOR_STRCH_ASNORMAL 2075 /// @return GOP_API_SUCCESS - Success 2076 //------------------------------------------------------------------------------------------------- 2077 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_Set_TranspColorStretchMode_EX(MS_U8 u8GOP,EN_GOP_STRCH_TRANSPCOLORMODE TColorStrchMode); 2078 //----------------- 2079 // GOP_UPDATE 2080 //----------------- 2081 //----------------- 2082 // FORCE_WRITE 2083 //----------------- 2084 //------------------------------------------------------------------------------------------------- 2085 /// Set GOP force write mode for update register. When enable force write mode, all update gop registers action will directly 2086 /// take effect (do not wait next v-sync to update gop register!). 2087 /// @ingroup FORCE_WRITE 2088 /// @param bEnable \b IN: TRUE/FALSE 2089 /// @return GOP_API_SUCCESS - Success 2090 //------------------------------------------------------------------------------------------------- 2091 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetForceWrite(MS_BOOL bEnable); 2092 2093 //------------------------------------------------------------------------------------------------- 2094 /// Set GOP bank force write mode for update register. When enable bank force write mode, update gop num registers action will directly 2095 /// take effect (do not wait next v-sync to update gop register!). 2096 /// @ingroup FORCE_WRITE 2097 /// @param bEnable \b IN: TRUE/FALSE 2098 /// @return GOP_API_SUCCESS - Success 2099 //------------------------------------------------------------------------------------------------- 2100 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetBnkForceWrite(MS_U8 u8GOP, MS_BOOL bEnable); 2101 //------------------------------------------------------------------------------------------------- 2102 /// MApi_GOP_GWIN_GetAlphaValue 2103 /// @ingroup GOP_ToBeRemove 2104 /// @return GOP_API_SUCCESS - Success 2105 //------------------------------------------------------------------------------------------------- 2106 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetAlphaValue(MS_U16 * Gwin01AlphaValue, MS_U16 * Gwin23AlphaValue); 2107 //------------------------------------------------------------------------------------------------- 2108 /// Get GWin position info 2109 /// @ingroup SET_GWIN_WINDOW 2110 /// @param winId \b IN: gwin id 2111 /// @param dispX \b OUT: position-X 2112 /// @param dispY \b OUT: position-Y 2113 /// @return GOP_API_SUCCESS - Success 2114 /// @return GOP_API_FAIL - Failure 2115 //------------------------------------------------------------------------------------------------- 2116 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetWinPosition(MS_U8 winId, MS_U16 * dispX, MS_U16 *dispY); 2117 //------------------------------------------------------------------------------------------------- 2118 /// MApi_GOP_GWIN_GetWinProperty 2119 /// @ingroup GOP_ToBeRemove 2120 /// @return GOP_API_SUCCESS - Success 2121 //------------------------------------------------------------------------------------------------- 2122 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetWinProperty(GOP_GwinDispProperty *WinProperty); 2123 //------------------------------------------------------------------------------------------------- 2124 /// MApi_GOP_GWIN_GetWinAttr 2125 /// @ingroup GOP_ToBeRemove 2126 /// @return GOP_API_SUCCESS - Success 2127 //------------------------------------------------------------------------------------------------- 2128 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2129 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetWinAttr(MS_U8 gId, MS_U16 *x0, MS_U16 *y0, MS_U16 *width, MS_U16 *height, MS_U16 *fbPitch, MS_U16 *fbFmt, MS_U32 *addr, MS_U32 *size); 2130 #else 2131 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetWinAttr(MS_U8 gId, MS_U16 *x0, MS_U16 *y0, MS_U16 *width, MS_U16 *height, MS_U16 *fbPitch, MS_U16 *fbFmt, MS_PHY *addr, MS_U32 *size); 2132 #endif 2133 //------------------------------------------------------------------------------------------------- 2134 /// Open API function: 2135 /// Read GWIN information from GOP registers 2136 /// @ingroup SET_GWIN_WINDOW 2137 /// @param u8win \b IN GWINID 2138 /// @param pinfo \b OUT buffer to store GWIN information 2139 /// @return GOP_API_SUCCESS - Success 2140 /// @return GOP_API_FAIL - Failure 2141 //------------------------------------------------------------------------------------------------- 2142 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetWinInfo(MS_U8 u8win, GOP_GwinInfo* pinfo); 2143 //------------------------------------------------------------------------------------------------- 2144 /// MApi_GOP_GWIN_UpdateRegOnceEx 2145 /// @ingroup GOP_ToBeRemove 2146 /// @return GOP_API_SUCCESS - Success 2147 //------------------------------------------------------------------------------------------------- 2148 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_UpdateRegOnceEx(MS_BOOL bWriteRegOnce, MS_BOOL bSync); 2149 //------------------------------------------------------------------------------------------------- 2150 /// MApi_GOP_GWIN_UpdateRegOnceEx2 2151 /// @ingroup GOP_ToBeRemove 2152 /// @return GOP_API_SUCCESS - Success 2153 //------------------------------------------------------------------------------------------------- 2154 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_UpdateRegOnceEx2(MS_U8 u8GOP,MS_BOOL bWriteRegOnce, MS_BOOL bSync); 2155 2156 //****************************************************************************** 2157 /// Extend MApi_GOP_GWIN_UpdateRegOnceEx, update special gop. 2158 /// Set gop update register method by only once. 2159 /// Example: if you want to update GOP function A, B, C in the same V sync, please write down your code like below 2160 /// MApi_GOP_GWIN_UpdateRegOnceByMask(u16GopMask,TRUE, TRUE); 2161 /// GOP_FUN_A; 2162 /// GOP_FUN_B; 2163 /// GOP_FUN_C; 2164 /// MApi_GOP_GWIN_UpdateRegOnceByMask(u16GopMask,FALSE, TRUE); 2165 /// @param u16GopMask \b IN:bit0-gop0, bit1-gop1... 2166 /// @param bWriteRegOnce \b IN: TRUE/FALSE 2167 /// @param bSync \b IN: TRUE/FALSE 2168 /// @return GOP_API_SUCCESS - Success 2169 //****************************************************************************** 2170 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_UpdateRegOnceByMask(MS_U16 u16GopMask,MS_BOOL bWriteRegOnce, MS_BOOL bSync); 2171 //------------------------------------------------------------------------------------------------- 2172 /// MApi_GOP_TriggerRegWriteIn 2173 /// @ingroup GOP_ToBeRemove 2174 /// @return GOP_API_SUCCESS - Success 2175 //------------------------------------------------------------------------------------------------- 2176 DLL_PUBLIC E_GOP_API_Result MApi_GOP_TriggerRegWriteIn(MS_U8 u8win, MS_BOOL bForceWriteIn); 2177 //----------------- 2178 // UPDATE 2179 //----------------- 2180 //------------------------------------------------------------------------------------------------- 2181 /// API for Trigger reg writes in 2182 /// @ingroup UPDATE 2183 /// @param u8win \b IN: GWin ID 2184 /// @param bForceWriteIn \b IN: 2185 /// - # TRUE , Register will take effect immediately 2186 /// - # FALSE, Register will take effect after the next vsync 2187 /// @param bSync \b IN: 2188 /// - # FALSE , Register will fire without waiting vsync (driver will not polling the vsync) 2189 /// - # TRUE, Register will fire and waiting vsync 2190 /// @return GOP_API_SUCCESS - Success 2191 /// @return GOP_API_FAIL - Failure 2192 //------------------------------------------------------------------------------------------------- 2193 DLL_PUBLIC E_GOP_API_Result MApi_GOP_TriggerRegWriteIn_Ex(MS_U8 u8win, MS_BOOL bForceWriteIn, MS_BOOL bSync); 2194 //----------------- 2195 // FADING 2196 //----------------- 2197 //------------------------------------------------------------------------------------------------- 2198 /// Set gwin fade in/out 2199 /// @ingroup FADING 2200 /// @param gId \b IN: gwin id 2201 /// @param Width \b IN: gwin display width 2202 /// @param X_Start \b IN: gwin display H display starting position 2203 /// @return GOP_API_SUCCESS - Success 2204 /// @return GOP_API_FAIL - Failure 2205 //------------------------------------------------------------------------------------------------- 2206 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetFadeInOut(MS_U8 gId, EN_GOP_FADE_TYPE eGwinFadeType, MS_BOOL bEnable, MS_U8 u8FadeRate); 2207 //----------------- 2208 // SHARE 2209 //----------------- 2210 //------------------------------------------------------------------------------------------------- 2211 /// Set GWin Attribute to Shared. If shared GWin, More than one process could 2212 /// access this GWin. 2213 /// @ingroup SHARE 2214 /// @param winId \b IN: GWIN ID for shared 2215 /// @param bIsShared \b IN: shared or not 2216 /// @return GOP_API_SUCCESS - Success 2217 //------------------------------------------------------------------------------------------------- 2218 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetGWinShared(MS_U8 winId, MS_BOOL bIsShared); 2219 //------------------------------------------------------------------------------------------------- 2220 /// Set Reference cnt of shared GWin. 2221 /// @ingroup SHARE 2222 /// @param winId \b IN: GWIN ID for shared 2223 /// @param u16SharedCnt \b IN: shared reference cnt. 2224 /// @return GOP_API_SUCCESS - Success 2225 //------------------------------------------------------------------------------------------------- 2226 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetGWinSharedCnt(MS_U8 winId, MS_U16 u16SharedCnt); 2227 //----------------- 2228 // TILE_MODE 2229 //----------------- 2230 //------------------------------------------------------------------------------------------------- 2231 /// API for DIP Tile mode for GWIN 2232 /// @ingroup TILE_MODE 2233 /// @param winId \b IN: GWIN id 2234 /// @param bEnable \b IN: 2235 /// - # TRUE Enable Tile Mode for GWIN 2236 /// - # FALSE Disable Tile Mode for GWIN 2237 /// @param tiletype \b IN: tile type 2238 /// @return GOP_API_SUCCESS - Success 2239 /// @return GOP_API_FAIL - Failure 2240 //------------------------------------------------------------------------------------------------- 2241 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_EnableTileMode(MS_U8 winId, MS_BOOL bEnable, EN_GOP_TILE_DATA_TYPE tiletype ); 2242 //----------------- 2243 // PINPON 2244 //----------------- 2245 //------------------------------------------------------------------------------------------------- 2246 /// API for set gop pinpong 2247 /// @ingroup PINPON 2248 /// @param winId \b IN: GWIN id 2249 /// @param bEnable \b IN: 2250 /// - # TRUE Enable Tile Mode for GWIN 2251 /// - # FALSE Disable Tile Mode for GWIN 2252 /// @return GOP_API_SUCCESS - Success 2253 /// @return GOP_API_FAIL - Failure 2254 //------------------------------------------------------------------------------------------------- 2255 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetPINPON(MS_U8 winId, MS_BOOL bEn,GOP_PINPON_MODE PINPON_Mode); 2256 //------------------------------------------------------------------------------------------------- 2257 /// MApi_GOP_SetGOPYUV 2258 /// @ingroup GOP_ToBeRemove 2259 /// @return GOP_API_SUCCESS - Success 2260 //------------------------------------------------------------------------------------------------- 2261 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetGOPYUV(MS_U8 u8GOP); 2262 //------------------------------------------------------------------------------------------------- 2263 //Set which MUX select which GOP of mixer, when different gop do the alpha blending 2264 /// @ingroup GOP_MIXER 2265 /// @param u8GOP \b IN: GOP number 2266 /// @param u8Mux \b IN: Mux number 2267 /// @param bEn \b IN: 2268 /// - # TRUE Enable u8GOP to mixer u8Mux 2269 /// - # FALSE Disable u8GOP to mixer u8Mux 2270 //@return GOP_API_SUCCESS - Success 2271 //------------------------------------------------------------------------------------------------- 2272 DLL_PUBLIC E_GOP_API_Result MApi_GOP_MIXER_SetMux(MS_U8 u8GOP,MS_U8 u8Mux, MS_BOOL bEn); 2273 //----------------- 2274 // EXTRA 2275 //----------------- 2276 //------------------------------------------------------------------------------------------------- 2277 /// API for set GWIN New Alpha Mode 2278 /// @ingroup EXTRA 2279 /// @param gWinId \b IN: GWin ID 2280 /// @param bEnable \b IN: 2281 /// - # TRUE enable new alpha mode 2282 /// - # FALSE disable new alpha mode 2283 /// @return GOP_API_SUCCESS - Success 2284 /// @return GOP_API_FAIL - Failure 2285 //------------------------------------------------------------------------------------------------- 2286 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetNewAlphaMode(MS_U8 gWinId, MS_BOOL bEnable); 2287 2288 //------------------------------------------------------------------------------------------------- 2289 /// API for set GWIN Pre Alpha Mode 2290 /// @ingroup EXTRA 2291 /// @param gWinId \b IN: GWin ID 2292 /// @param bEnable \b IN: 2293 /// - # TRUE enable new alpha mode 2294 /// - # FALSE disable new alpha mode 2295 /// @return GOP_API_SUCCESS - Success 2296 /// @return GOP_API_FAIL - Failure 2297 //------------------------------------------------------------------------------------------------- 2298 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetPreAlphaMode(MS_U8 u8GOP, MS_BOOL bEnble); 2299 //----------------- 2300 // GWIN 2301 //----------------- 2302 //----------------- 2303 // GWIN_CREATE 2304 //----------------- 2305 //------------------------------------------------------------------------------------------------- 2306 /// Create GWIN 2307 /// @ingroup GWIN_CREATE 2308 /// @param width \b IN: GWIN width 2309 /// @param height \b IN: GWIN height 2310 /// @param fbFmt \b IN: frame buffer pixel format 2311 /// - #0xFFFF default FB format 2312 /// @return The id for the created GWIN, if return 0xff, it represents create gwin fail 2313 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateWin(MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2314 //------------------------------------------------------------------------------------------------- 2315 /// MApi_GOP_GWIN_CreateWin2 2316 /// @ingroup GOP_ToBeRemove 2317 /// @return GOP_API_SUCCESS - Success 2318 //------------------------------------------------------------------------------------------------- 2319 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateWin2(MS_U16 width, MS_U16 height, MS_U16 fbFmt, EN_GOP_FRAMEBUFFER_STRING FBString); 2320 //------------------------------------------------------------------------------------------------- 2321 /// MApi_GOP_GWIN_CreateWin_Assign_FB 2322 /// @ingroup GOP_ToBeRemove 2323 /// @return GOP_API_SUCCESS - Success 2324 //------------------------------------------------------------------------------------------------- 2325 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateWin_Assign_FB(MS_U8 u8GOP, MS_U8 FBId, MS_U16 dispX, MS_U16 dispY); 2326 //------------------------------------------------------------------------------------------------- 2327 /// Create GWIN and assign frame buffer to this GWIN 2328 /// @ingroup GWIN_CREATE 2329 /// @param u8GOP \b IN: GOP number 2330 /// @param FBId \b IN: frame buffer ID 2331 /// @param dispX \b IN: frame buffer starting x position 2332 /// @param dispY \b IN: frame buffer starting y position 2333 /// @return The id for the created GWIN, if return 0xff, it represents create gwin fail 2334 //------------------------------------------------------------------------------------------------- 2335 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateWin_Assign_32FB(MS_U8 u8GOP, MS_U32 u32FBId, MS_U16 dispX, MS_U16 dispY); 2336 //------------------------------------------------------------------------------------------------- 2337 /// Create given GWIN id 2338 /// @ingroup GWIN_CREATE 2339 /// @param u8WinId \b IN: GWIN id 2340 /// @param width \b IN: GWIN width 2341 /// @param height \b IN: GWIN height 2342 /// @param fbFmt \b IN: GWIN color format 2343 /// @return The id for the created GWIN, if return 0xff, it represents create gwin fail 2344 //------------------------------------------------------------------------------------------------- 2345 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateStaticWin(MS_U8 u8WinId, MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2346 //------------------------------------------------------------------------------------------------- 2347 /// MApi_GOP_GWIN_CreateStaticWin2 2348 /// @ingroup GOP_ToBeRemove 2349 /// @return GOP_API_SUCCESS - Success 2350 //------------------------------------------------------------------------------------------------- 2351 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateStaticWin2(MS_U8 u8WinId, MS_U16 width, MS_U16 height, MS_U16 fbFmt, EN_GOP_FRAMEBUFFER_STRING FBString); 2352 //------------------------------------------------------------------------------------------------- 2353 /// MApi_GOP_GWIN_CreateStaticWin_Assign_FB 2354 /// @ingroup GOP_ToBeRemove 2355 /// @return GOP_API_SUCCESS - Success 2356 //------------------------------------------------------------------------------------------------- 2357 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateStaticWin_Assign_FB(MS_U8 u8WinId, MS_U8 u8GOP, MS_U8 FBId, MS_U16 dispX, MS_U16 dispY); 2358 2359 //------------------------------------------------------------------------------------------------- 2360 /// Create GWIN by given GWIN id and frame buffer id 2361 /// @ingroup GWIN_CREATE 2362 /// @param u8WinId \b IN: GWIN id 2363 /// @param u8GOP \b IN: GOP number 2364 /// @param FBId \b IN: frame buffer id 2365 /// @param dispX \b IN: gwin's frame buffer starting x 2366 /// @param dispY \b IN: gwin's frame buffer starting y 2367 /// @return The id for the created GWIN, if return 0xff, it represents create gwin fail 2368 //------------------------------------------------------------------------------------------------- 2369 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateStaticWin_Assign_32FB(MS_U8 u8WinId, MS_U8 u8GOP, MS_U32 u32FBId, MS_U16 dispX, MS_U16 dispY); 2370 2371 //----------------- 2372 // GWIN_STATUS 2373 //----------------- 2374 //------------------------------------------------------------------------------------------------- 2375 /// Check if GWIN is created 2376 /// @ingroup GWIN_STATUS 2377 /// @param gId \b IN: GWINID 2378 /// @return TRUE or FALSE 2379 //------------------------------------------------------------------------------------------------- 2380 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_IsGwinExist(MS_U8 gId); 2381 2382 //------------------------------------------------------------------------------------------------- 2383 /// Get the free GWIN id 2384 /// @ingroup GWIN_STATUS 2385 /// @return the GWIN id 2386 //------------------------------------------------------------------------------------------------- 2387 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetFreeWinID(void); 2388 //------------------------------------------------------------------------------------------------- 2389 /// MApi_GOP_GWIN_GetMAXWinID 2390 /// @ingroup GOP_ToBeRemove 2391 /// @return GOP_API_SUCCESS - Success 2392 //------------------------------------------------------------------------------------------------- 2393 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetMAXWinID(void); 2394 //------------------------------------------------------------------------------------------------- 2395 /// Get current active GWIN id 2396 /// @ingroup GWIN_STATUS 2397 /// @return current active GWIN id 2398 //------------------------------------------------------------------------------------------------- 2399 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetCurrentWinId(void); 2400 //------------------------------------------------------------------------------------------------- 2401 /// MApi_GOP_GWIN_GetMaxActiveGwin_v 2402 /// @ingroup GOP_ToBeRemove 2403 /// @return GOP_API_SUCCESS - Success 2404 //------------------------------------------------------------------------------------------------- 2405 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_GetMaxActiveGwin_v(void); 2406 //------------------------------------------------------------------------------------------------- 2407 /// MApi_GOP_GWIN_Get_HSTART 2408 /// @ingroup GOP_ToBeRemove 2409 /// @return GOP_API_SUCCESS - Success 2410 //------------------------------------------------------------------------------------------------- 2411 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_Get_HSTART(void); 2412 2413 2414 //------------------------------------------------------------------------------------------------- 2415 /// Get total active gwin number 2416 /// @ingroup GWIN_STATUS 2417 /// @return total active gwin number 2418 //------------------------------------------------------------------------------------------------- 2419 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_GetActiveGWIN(void); 2420 //------------------------------------------------------------------------------------------------- 2421 /// MApi_GOP_GWIN_GetMaxVEnd 2422 /// @ingroup GOP_ToBeRemove 2423 /// @return GOP_API_SUCCESS - Success 2424 //------------------------------------------------------------------------------------------------- 2425 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_GetMaxVEnd(MS_BOOL bActive); 2426 //------------------------------------------------------------------------------------------------- 2427 /// MApi_GOP_GWIN_IsAllGWINDisabled 2428 /// @ingroup GOP_ToBeRemove 2429 /// @return GOP_API_SUCCESS - Success 2430 //------------------------------------------------------------------------------------------------- 2431 DLL_PUBLIC MS_BOOL MApi_GOP_GWIN_IsAllGWINDisabled(void); 2432 2433 //------------------------------------------------------------------------------------------------- 2434 /// Check if all some GWIN is currently enabled 2435 /// @ingroup ENABLE 2436 /// @param winId \b IN: gwin id 2437 /// @return - the according GWin is enabled or not 2438 //------------------------------------------------------------------------------------------------- 2439 DLL_PUBLIC MS_BOOL MApi_GOP_GWIN_IsGWINEnabled(MS_U8 winId); 2440 //------------------------------------------------------------------------------------------------- 2441 /// MApi_GOP_GWIN_IsEnabled 2442 /// @ingroup GOP_ToBeRemove 2443 /// @return GOP_API_SUCCESS - Success 2444 //------------------------------------------------------------------------------------------------- 2445 DLL_PUBLIC MS_BOOL MApi_GOP_GWIN_IsEnabled(void); 2446 //------------------------------------------------------------------------------------------------- 2447 /// MApi_GOP_GWIN_CheckOpmodeIsOn 2448 /// @ingroup GOP_ToBeRemove 2449 /// @return GOP_API_SUCCESS - Success 2450 //------------------------------------------------------------------------------------------------- 2451 DLL_PUBLIC MS_BOOL MApi_GOP_GWIN_CheckOpmodeIsOn(void); 2452 //------------------------------------------------------------------------------------------------- 2453 /// MApi_GOP_GWIN_CheckOpmodeIsOn_EX 2454 /// @ingroup GOP_ToBeRemove 2455 /// @return GOP_API_SUCCESS - Success 2456 //------------------------------------------------------------------------------------------------- 2457 DLL_PUBLIC SYMBOL_WEAK MS_BOOL MApi_GOP_GWIN_CheckOpmodeIsOn_EX(MS_U8 u8GOP); 2458 //------------------------------------------------------------------------------------------------- 2459 /// MApi_GOP_GWIN_SetResolution 2460 /// @ingroup GOP_ToBeRemove 2461 /// @return GOP_API_SUCCESS - Success 2462 //------------------------------------------------------------------------------------------------- 2463 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetResolution(MS_U8 u8GwinId, MS_U8 u8FbId, GOP_GwinInfo* pGwinInfo, GOP_StretchInfo* pStretchInfo, EN_GOP_STRETCH_DIRECTION direction, MS_U16 u16DstWidth, MS_U16 u16DstHeight); 2464 //------------------------------------------------------------------------------------------------- 2465 /// API for set GWIN resolution in one function 2466 /// @ingroup SET_STRETCH_WINDOW 2467 /// @param u8GwinId \b IN: GWin ID 2468 /// @param u8FbId \b IN: Frame Buffer ID 2469 /// @param pGwinInfo \b IN: pointer to GOP_GwinInfo structure 2470 /// @param pStretchInfo \b IN: pointer to GOP_StretchInfo 2471 /// @param direction \b IN: to decide which direction to stretch 2472 /// @param u16DstWidth \b IN: set scaled width if H direction is specified 2473 /// @param u16DstHeight \b IN: set scaled height if V direction is specified 2474 /// @return GOP_API_SUCCESS - Success 2475 //------------------------------------------------------------------------------------------------- 2476 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetResolution_32FB(MS_U8 u8GwinId, MS_U32 u32FbId, GOP_GwinInfo* pGwinInfo, GOP_StretchInfo* pStretchInfo, EN_GOP_STRETCH_DIRECTION direction, MS_U16 u16DstWidth, MS_U16 u16DstHeight); 2477 //------------------------------------------------------------------------------------------------- 2478 /// GOP Exit 2479 /// @ingroup INIT 2480 /// @param void \b IN: none 2481 //------------------------------------------------------------------------------------------------- 2482 DLL_PUBLIC void MApi_GOP_Exit(void); 2483 2484 2485 //====================================================================================== 2486 // GOP FB management 2487 //====================================================================================== 2488 //------------------------------------------------------------------------------------------------- 2489 /// MApi_GOP_FB_SEL 2490 /// @ingroup GOP_ToBeRemove 2491 /// @return GOP_API_SUCCESS - Success 2492 //------------------------------------------------------------------------------------------------- 2493 DLL_PUBLIC E_GOP_API_Result MApi_GOP_FB_SEL(MS_U8 u8FB); 2494 //------------------------------------------------------------------------------------------------- 2495 /// MApi_GOP_GWIN_SetDoubleHeap 2496 /// @ingroup GOP_ToBeRemove 2497 /// @return GOP_API_SUCCESS - Success 2498 //------------------------------------------------------------------------------------------------- 2499 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetDoubleHeap(MS_U32 u32DblHeapAdr, MS_U32 u32DblHeapLen); 2500 //------------------------------------------------------------------------------------------------- 2501 /// MApi_GOP_GWIN_MapFB2Win 2502 /// @ingroup GOP_ToBeRemove 2503 /// @return GOP_API_SUCCESS - Success 2504 //------------------------------------------------------------------------------------------------- 2505 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_MapFB2Win(MS_U8 fbId, MS_U8 gwinId); 2506 //----------------- 2507 // FLIP 2508 //----------------- 2509 //------------------------------------------------------------------------------------------------- 2510 /// Change a GWIN's frame buffer, this enables an off screen buffer to be shown 2511 /// @ingroup FLIP 2512 /// @param fbId \b IN frame buffer id 2513 /// @param gwinId \b IN \copydoc GWINID 2514 /// @return GOP_API_SUCCESS - Success 2515 /// @return GOP_API_FAIL - Failure 2516 //------------------------------------------------------------------------------------------------- 2517 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Map32FB2Win(MS_U32 u32fbId, MS_U8 u8gwinId); 2518 //------------------------------------------------------------------------------------------------- 2519 /// MApi_GOP_GWIN_Switch2FB 2520 /// @ingroup GOP_ToBeRemove 2521 /// @return GOP_API_SUCCESS - Success 2522 //------------------------------------------------------------------------------------------------- 2523 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Switch2FB(MS_U8 fbId); 2524 //------------------------------------------------------------------------------------------------- 2525 /// MApi_GOP_GWIN_Switch2_32FB 2526 /// @ingroup GOP_ToBeRemove 2527 /// @return GOP_API_SUCCESS - Success 2528 //------------------------------------------------------------------------------------------------- 2529 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Switch2_32FB(MS_U32 u32fbId); 2530 //------------------------------------------------------------------------------------------------- 2531 /// MApi_GOP_Switch_GWIN_2_FB 2532 /// @ingroup GOP_ToBeRemove 2533 /// @return GOP_API_SUCCESS - Success 2534 //------------------------------------------------------------------------------------------------- 2535 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_GWIN_2_FB(MS_U8 gWinId, MS_U8 fbId, MS_U16 u16WaitTagID, MS_U16 *pU16QueueCnt); 2536 2537 //------------------------------------------------------------------------------------------------- 2538 /// Set Flip GWIN frame buffer 2539 /// @ingroup FLIP 2540 /// @param gWinId \b IN: gwin id 2541 /// @param fbId \b IN: frame buffer id 2542 /// @param u16WaitTagID \b IN: WaitTagID 2543 /// @param pU16QueueCnt \b IN: Queue count 2544 /// @return TRUE or FALSE 2545 //------------------------------------------------------------------------------------------------- 2546 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_GWIN_2_32FB(MS_U8 gWinId, MS_U32 u32fbId, MS_U32 u32WaitTagID, MS_U32 *pU32QueueCnt); 2547 //------------------------------------------------------------------------------------------------- 2548 /// Set Flip GWIN frame buffer by addr 2549 /// @ingroup FLIP 2550 /// @param gWinId \b IN: gwin id 2551 /// @param u32FlipAddr \b IN: addr 2552 /// @param u16WaitTagID \b IN: WaitTagID 2553 /// @param pU16QueueCnt \b IN: Queue count 2554 /// @return TRUE or FALSE 2555 //------------------------------------------------------------------------------------------------- 2556 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2557 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_GWIN_2_FB_BY_ADDR(MS_U8 gWinId, MS_U32 u32FlipAddr, MS_U16 u16WaitTagID, MS_U16 *pU16QueueCnt); 2558 #else 2559 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_GWIN_2_FB_BY_ADDR(MS_U8 gWinId, MS_PHY phyFlipAddr, MS_U16 u16WaitTagID, MS_U16 *pU16QueueCnt); 2560 #endif 2561 //------------------------------------------------------------------------------------------------- 2562 /// Set 3D Flip GWIN frame buffer by addr 2563 /// @ingroup FLIP 2564 /// @param gWinId \b IN: gwin id 2565 /// @param u32MainFlipAddr \b IN: frame buffer id 2566 /// @param u32SubFlipAddr \b IN: frame buffer id 2567 /// @param u16WaitTagID \b IN: WaitTagID 2568 /// @param pU16QueueCnt \b IN: Queue count 2569 /// @return TRUE or FALSE 2570 //------------------------------------------------------------------------------------------------- 2571 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2572 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_3DGWIN_2_FB_BY_ADDR(MS_U8 gWinId, MS_U32 u32MainFlipAddr, MS_U32 u32SubFlipAddr, MS_U16 u16WaitTagID, MS_U16 *pU16QueueCnt); 2573 #else 2574 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_3DGWIN_2_FB_BY_ADDR(MS_U8 gWinId, MS_PHY phyMainFlipAddr, MS_PHY phySubFlipAddr, MS_U16 u16WaitTagID, MS_U16 *pU16QueueCnt); 2575 #endif 2576 //------------------------------------------------------------------------------------------------- 2577 /// Set Multi GOP Flip GWIN frame buffer by addr 2578 /// @ingroup FLIP 2579 /// @param gWinId \b IN: gwin id 2580 /// @param fbId \b IN: frame buffer id 2581 /// @param u16WaitTagID \b IN: WaitTagID 2582 /// @param pU16QueueCnt \b IN: Queue count 2583 /// @return TRUE or FALSE 2584 //------------------------------------------------------------------------------------------------- 2585 DLL_PUBLIC MS_BOOL MApi_GOP_Switch_Multi_GWIN_2_FB_BY_ADDR(GOP_MultiFlipInfo GopMultiFlipInfo); 2586 //------------------------------------------------------------------------------------------------- 2587 /// MApi_GOP_GWIN_DeleteFB 2588 /// @ingroup GOP_ToBeRemove 2589 /// @return GOP_API_SUCCESS - Success 2590 //------------------------------------------------------------------------------------------------- 2591 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_DeleteFB(MS_U8 fbId); 2592 2593 //----------------- 2594 // FB_DELETE 2595 //----------------- 2596 //------------------------------------------------------------------------------------------------- 2597 /// Destroy a frame buffer 2598 /// @ingroup FB_DELETE 2599 /// @param fbId \b IN frame buffer id 2600 /// @return GOP_API_SUCCESS - Success 2601 //------------------------------------------------------------------------------------------------- 2602 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Delete32FB(MS_U32 u32fbId); 2603 //------------------------------------------------------------------------------------------------- 2604 /// MApi_GOP_GWIN_GetFBRegion 2605 /// @ingroup GOP_ToBeRemove 2606 /// @return GOP_API_SUCCESS - Success 2607 //------------------------------------------------------------------------------------------------- 2608 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetFBRegion(MS_U8 fbID, MS_U16 *pX,MS_U16 *pY, MS_U16 *pW, MS_U16 *pH); 2609 //------------------------------------------------------------------------------------------------- 2610 /// MApi_GOP_GWIN_Get32FBRegion 2611 /// @ingroup GOP_ToBeRemove 2612 /// @return GOP_API_SUCCESS - Success 2613 //------------------------------------------------------------------------------------------------- 2614 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Get32FBRegion(MS_U32 u32fbID, MS_U16 *pX, MS_U16 *pY, MS_U16 *pW, MS_U16 *pH); 2615 //------------------------------------------------------------------------------------------------- 2616 /// MApi_GOP_GWIN_GetFBPosition 2617 /// @ingroup GOP_ToBeRemove 2618 /// @return GOP_API_SUCCESS - Success 2619 //------------------------------------------------------------------------------------------------- 2620 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetFBPosition(MS_U8 fbID, MS_U16 *pX,MS_U16 *pY); 2621 //------------------------------------------------------------------------------------------------- 2622 /// MApi_GOP_GWIN_Get32FBPosition 2623 /// @ingroup GOP_ToBeRemove 2624 /// @return GOP_API_SUCCESS - Success 2625 //------------------------------------------------------------------------------------------------- 2626 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Get32FBPosition(MS_U32 u32fbID, MS_U16 *pX, MS_U16 *pY); 2627 //------------------------------------------------------------------------------------------------- 2628 /// MApi_GOP_GWIN_SetFBInfo 2629 /// @ingroup GOP_ToBeRemove 2630 /// @return GOP_API_SUCCESS - Success 2631 //------------------------------------------------------------------------------------------------- 2632 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetFBInfo(MS_U8 fbId, GOP_GwinFBAttr *fbAttr); 2633 //----------------- 2634 // SET 2635 //----------------- 2636 //------------------------------------------------------------------------------------------------- 2637 /// Set frame buffer info 2638 /// @ingroup SET 2639 /// @param fbId \b IN: frame buffer id 2640 /// @param fbAttr \b IN: frame buffer attribute 2641 /// @return GOP_API_SUCCESS - Success 2642 /// @return GOP_API_FAIL - Failure 2643 //------------------------------------------------------------------------------------------------- 2644 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set32FBInfo(MS_U32 u32fbId, GOP_GwinFBAttr *fbAttr); 2645 2646 //------------------------------------------------------------------------------------------------- 2647 /// Get frame buffer info 2648 /// @ingroup SET 2649 /// @param fbId \b IN: frame buffer id 2650 /// @param fbAttr \b IN: frame buffer attribute 2651 /// @return GOP_API_SUCCESS - Success 2652 /// @return GOP_API_FAIL - Failure 2653 //------------------------------------------------------------------------------------------------- 2654 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetFBInfo(MS_U8 fbId, GOP_GwinFBAttr *fbAttr); 2655 //------------------------------------------------------------------------------------------------- 2656 /// MApi_GOP_GWIN_Get32FBInfo 2657 /// @ingroup GOP_ToBeRemove 2658 /// @return GOP_API_SUCCESS - Success 2659 //------------------------------------------------------------------------------------------------- 2660 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Get32FBInfo(MS_U32 u32fbId, GOP_GwinFBAttr *fbAttr); 2661 //------------------------------------------------------------------------------------------------- 2662 /// MApi_GOP_GWIN_GetFBAddr 2663 /// @ingroup GOP_ToBeRemove 2664 /// @return GOP_API_SUCCESS - Success 2665 //------------------------------------------------------------------------------------------------- 2666 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2667 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetFBAddr(MS_U8 fbID, MS_U32 *pAddr); 2668 #else 2669 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_GetFBAddr(MS_U8 fbID, MS_PHY *pAddr); 2670 #endif 2671 //------------------------------------------------------------------------------------------------- 2672 /// MApi_GOP_GWIN_Get32FBAddr 2673 /// @ingroup GOP_ToBeRemove 2674 /// @return GOP_API_SUCCESS - Success 2675 //------------------------------------------------------------------------------------------------- 2676 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2677 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Get32FBAddr(MS_U32 u32fbID, MS_U32 *pAddr); 2678 #else 2679 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Get32FBAddr(MS_U32 u32fbID, MS_PHY *pAddr); 2680 #endif 2681 //------------------------------------------------------------------------------------------------- 2682 /// API for Clear GOP GWIN FlipQueue 2683 /// @ingroup FLIP 2684 /// @param u8GwinId \b IN: GWin ID 2685 /// @return GOP_API_SUCCESS - Success 2686 //------------------------------------------------------------------------------------------------- 2687 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_ClearFlipQueue(MS_U8 gWinId); 2688 //------------------------------------------------------------------------------------------------- 2689 /// MApi_GOP_GWIN_GetMaxFBNum 2690 /// @ingroup GOP_ToBeRemove 2691 /// @return GOP_API_SUCCESS - Success 2692 //------------------------------------------------------------------------------------------------- 2693 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetMaxFBNum(void); 2694 //------------------------------------------------------------------------------------------------- 2695 /// Get maximum FB number by all gop 2696 /// @ingroup GOP_CAPS 2697 /// @param void \b IN: none 2698 /// @return maximum fb number by all gop 2699 //------------------------------------------------------------------------------------------------- 2700 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetMax32FBNum(void); 2701 //------------------------------------------------------------------------------------------------- 2702 /// MApi_GOP_FB_Get 2703 /// @ingroup GOP_ToBeRemove 2704 /// @return GOP_API_SUCCESS - Success 2705 //------------------------------------------------------------------------------------------------- 2706 DLL_PUBLIC MS_U8 MApi_GOP_FB_Get(void); 2707 //------------------------------------------------------------------------------------------------- 2708 /// MApi_GOP_GWIN_GetMAXFBID 2709 /// @ingroup GOP_ToBeRemove 2710 /// @return GOP_API_SUCCESS - Success 2711 //------------------------------------------------------------------------------------------------- 2712 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetMAXFBID(void); 2713 //------------------------------------------------------------------------------------------------- 2714 /// MApi_GOP_GWIN_GetMAX32FBID 2715 /// @ingroup GOP_ToBeRemove 2716 /// @return GOP_API_SUCCESS - Success 2717 //------------------------------------------------------------------------------------------------- 2718 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetMAX32FBID(void); 2719 //------------------------------------------------------------------------------------------------- 2720 /// MApi_GOP_GWIN_DestroyFB 2721 /// @ingroup GOP_ToBeRemove 2722 /// @return GOP_API_SUCCESS - Success 2723 //------------------------------------------------------------------------------------------------- 2724 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_DestroyFB(MS_U8 fbId); 2725 //------------------------------------------------------------------------------------------------- 2726 /// MApi_GOP_GWIN_Destroy32FB 2727 /// @ingroup GOP_ToBeRemove 2728 /// @return GOP_API_SUCCESS - Success 2729 //------------------------------------------------------------------------------------------------- 2730 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Destroy32FB(MS_U32 u32fbId); 2731 //------------------------------------------------------------------------------------------------- 2732 /// MApi_GOP_GWIN_CreateFBFrom3rdSurf 2733 /// @ingroup GOP_ToBeRemove 2734 /// @return GOP_API_SUCCESS - Success 2735 //------------------------------------------------------------------------------------------------- 2736 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2737 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBFrom3rdSurf(MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr, MS_U16 pitch, MS_U8* ret_FBId); 2738 #else 2739 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBFrom3rdSurf(MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr, MS_U16 pitch, MS_U8* ret_FBId); 2740 #endif 2741 //------------------------------------------------------------------------------------------------- 2742 /// Create frame buffer from given dram address 2743 /// @ingroup FB_CREATE 2744 /// @param width \b IN: frame buffer width 2745 /// @param height \b IN: frame buffer height 2746 /// @param fbFmt \b IN: frame buffer color format 2747 /// @param u32FbAddr \b IN: frame buffer starting address 2748 /// @param pitch \b IN: frame buffer pitch 2749 /// @param ret_FBId \b OUT: frame buffer id 2750 /// @return GOP_API_SUCCESS - Success 2751 /// @return GOP_API_FAIL - Failure 2752 //------------------------------------------------------------------------------------------------- 2753 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2754 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBFrom3rdSurf(MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr, MS_U16 pitch, MS_U32* u32ret_FBId); 2755 #else 2756 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBFrom3rdSurf(MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr, MS_U16 pitch, MS_U32* u32ret_FBId); 2757 #endif 2758 //------------------------------------------------------------------------------------------------- 2759 /// MApi_GOP_GWIN_CreateFBbyStaticAddr 2760 /// @ingroup GOP_ToBeRemove 2761 /// @return GOP_API_SUCCESS - Success 2762 //------------------------------------------------------------------------------------------------- 2763 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2764 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBbyStaticAddr(MS_U8 fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr ); 2765 #else 2766 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBbyStaticAddr(MS_U8 fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr ); 2767 #endif 2768 //------------------------------------------------------------------------------------------------- 2769 /// Create frame buffer from given frame buffer id and dram address. User should call MApi_GOP_GWIN_GetFree32FBID() 2770 /// first and then use this frame buffer id as this function input parameter 2771 /// @ingroup FB_CREATE 2772 /// @param fbId \b IN: frame buffer id 2773 /// @param dispX \b IN: frame buffer starting x 2774 /// @param dispY \b IN: frame buffer starting y 2775 /// @param width \b IN: frame buffer width 2776 /// @param height \b IN: frame buffer height 2777 /// @param fbFmt \b IN: frame buffer color format 2778 /// @param u32FbAddr \b IN: frame buffer starting address 2779 /// @return GOP_API_SUCCESS - Success 2780 /// @return GOP_API_FAIL - Failure 2781 //------------------------------------------------------------------------------------------------- 2782 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2783 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBbyStaticAddr(MS_U32 u32fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr); 2784 #else 2785 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBbyStaticAddr(MS_U32 u32fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr); 2786 #endif 2787 //------------------------------------------------------------------------------------------------- 2788 /// MApi_GOP_GWIN_CreateFBbyStaticAddr2 2789 /// @ingroup GOP_ToBeRemove 2790 /// @return GOP_API_SUCCESS - Success 2791 //------------------------------------------------------------------------------------------------- 2792 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2793 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBbyStaticAddr2(MS_U8 fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr, EN_GOP_FRAMEBUFFER_STRING FBString); 2794 #else 2795 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFBbyStaticAddr2(MS_U8 fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr, EN_GOP_FRAMEBUFFER_STRING FBString); 2796 #endif 2797 //------------------------------------------------------------------------------------------------- 2798 /// MApi_GOP_GWIN_Create32FBbyStaticAddr2 2799 /// @ingroup GOP_ToBeRemove 2800 /// @return GOP_API_SUCCESS - Success 2801 //------------------------------------------------------------------------------------------------- 2802 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 2803 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBbyStaticAddr2(MS_U32 u32fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_U32 u32FbAddr ,EN_GOP_FRAMEBUFFER_STRING FBString); 2804 #else 2805 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FBbyStaticAddr2(MS_U32 u32fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt, MS_PHY phyFbAddr ,EN_GOP_FRAMEBUFFER_STRING FBString); 2806 #endif 2807 //------------------------------------------------------------------------------------------------- 2808 /// MApi_GOP_GWIN_CreateFB2 2809 /// @ingroup GOP_ToBeRemove 2810 /// @return GOP_API_SUCCESS - Success 2811 //------------------------------------------------------------------------------------------------- 2812 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFB2(MS_U8 FBId,MS_U16 x, MS_U16 y, MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2813 //------------------------------------------------------------------------------------------------- 2814 /// MApi_GOP_GWIN_Create32FB2 2815 /// @ingroup GOP_ToBeRemove 2816 /// @return GOP_API_SUCCESS - Success 2817 //------------------------------------------------------------------------------------------------- 2818 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FB2(MS_U32 u32FBId, MS_U16 x, MS_U16 y, MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2819 //------------------------------------------------------------------------------------------------- 2820 /// MApi_GOP_GWIN_CreateFB2_EXT 2821 /// @ingroup GOP_ToBeRemove 2822 /// @return GOP_API_SUCCESS - Success 2823 //------------------------------------------------------------------------------------------------- 2824 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFB2_EXT(MS_U8 FBId, MS_U16 x, MS_U16 y, MS_U16 width, MS_U16 height, MS_U16 fbFmt, EN_GOP_FRAMEBUFFER_STRING FBString); 2825 //------------------------------------------------------------------------------------------------- 2826 /// MApi_GOP_GWIN_Create32FB2_EXT 2827 /// @ingroup GOP_ToBeRemove 2828 /// @return GOP_API_SUCCESS - Success 2829 //------------------------------------------------------------------------------------------------- 2830 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FB2_EXT(MS_U32 u32FBId, MS_U16 x, MS_U16 y, MS_U16 width, MS_U16 height, MS_U16 fbFmt, EN_GOP_FRAMEBUFFER_STRING FBString); 2831 //------------------------------------------------------------------------------------------------- 2832 /// MApi_GOP_GWIN_GetCurrentFBID 2833 /// @ingroup GOP_ToBeRemove 2834 /// @return GOP_API_SUCCESS - Success 2835 //------------------------------------------------------------------------------------------------- 2836 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetCurrentFBID(void); 2837 //------------------------------------------------------------------------------------------------- 2838 /// MApi_GOP_GWIN_GetCurrent32FBID 2839 /// @ingroup GOP_ToBeRemove 2840 /// @return GOP_API_SUCCESS - Success 2841 //------------------------------------------------------------------------------------------------- 2842 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetCurrent32FBID(void); 2843 //------------------------------------------------------------------------------------------------- 2844 /// MApi_GOP_GWIN_GetFBfromGWIN 2845 /// @ingroup GOP_ToBeRemove 2846 /// @return GOP_API_SUCCESS - Success 2847 //------------------------------------------------------------------------------------------------- 2848 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetFBfromGWIN(MS_U8 gwinId) ; 2849 //------------------------------------------------------------------------------------------------- 2850 /// Get frame bufferid from the gwin id 2851 /// @ingroup FB_STATUS 2852 /// @param gwinId \b IN gwin id 2853 /// @return return frame buffer id. If return 0xFF, it represents this function fail 2854 //------------------------------------------------------------------------------------------------- 2855 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_Get32FBfromGWIN(MS_U8 gwinId); 2856 //------------------------------------------------------------------------------------------------- 2857 /// MApi_GOP_GWIN_IsFBExist 2858 /// @ingroup GOP_ToBeRemove 2859 /// @return GOP_API_SUCCESS - Success 2860 //------------------------------------------------------------------------------------------------- 2861 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_IsFBExist(MS_U8 fbId); 2862 //----------------- 2863 // FB_STATUS 2864 //----------------- 2865 //------------------------------------------------------------------------------------------------- 2866 /// Check if a frame buffer is allocated 2867 /// @ingroup FB_STATUS 2868 /// @param fbId \b IN frame buffer id 2869 /// @return 2870 /// - # TRUE fbId is allocated 2871 /// - # FALSE fbId is invalid or not allocated 2872 //------------------------------------------------------------------------------------------------- 2873 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Is32FBExist(MS_U32 u32fbId); 2874 //------------------------------------------------------------------------------------------------- 2875 /// MApi_GOP_GWIN_GetFreeFBID 2876 /// @ingroup GOP_ToBeRemove 2877 /// @return GOP_API_SUCCESS - Success 2878 //------------------------------------------------------------------------------------------------- 2879 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_GetFreeFBID(void); 2880 //------------------------------------------------------------------------------------------------- 2881 /// Get free frame buffer id 2882 /// @ingroup FB_STATUS 2883 /// @return frame buffer id. If return oxFF, it represents no free frame buffer id for use. 2884 //------------------------------------------------------------------------------------------------- 2885 DLL_PUBLIC MS_U32 MApi_GOP_GWIN_GetFree32FBID(void); 2886 //------------------------------------------------------------------------------------------------- 2887 /// MApi_GOP_GWIN_CreateFB 2888 /// @ingroup GOP_ToBeRemove 2889 /// @return GOP_API_SUCCESS - Success 2890 //------------------------------------------------------------------------------------------------- 2891 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_CreateFB(MS_U8 fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2892 //----------------- 2893 // FB_CREATE 2894 //----------------- 2895 //------------------------------------------------------------------------------------------------- 2896 /// Create frame buffer from given frame buffer id . User should call MApi_GOP_GWIN_GetFree32FBID() 2897 /// first and then use this frame buffer id as this function input parameter 2898 /// @ingroup FB_CREATE 2899 /// @param fbId \b IN frame buffer id 2900 /// @param dispX \b IN display x 2901 /// @param dispY \b IN display y 2902 /// @param width \b IN width 2903 /// @param height \b IN height 2904 /// @param fbFmt \b IN frame buffer format 2905 /// @return GOP_API_SUCCESS - Success 2906 /// @return GOP_API_CRT_GWIN_NOAVAIL - Failure 2907 DLL_PUBLIC MS_U8 MApi_GOP_GWIN_Create32FB(MS_U32 u32fbId, MS_U16 dispX, MS_U16 dispY, MS_U16 width, MS_U16 height, MS_U16 fbFmt); 2908 //------------------------------------------------------------------------------------------------- 2909 /// MApi_GOP_GWIN_GetFBFmt 2910 /// @ingroup GOP_ToBeRemove 2911 /// @return GOP_API_SUCCESS - Success 2912 //---------------------------------------------------------------------------------------------- 2913 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_GetFBFmt(MS_U8 fbId); 2914 //------------------------------------------------------------------------------------------------- 2915 /// MApi_GOP_GWIN_Get32FBFmt 2916 /// @ingroup GOP_ToBeRemove 2917 /// @return GOP_API_SUCCESS - Success 2918 //------------------------------------------------------------------------------------------------- 2919 DLL_PUBLIC MS_U16 MApi_GOP_GWIN_Get32FBFmt(MS_U32 u32fbId); 2920 //------------------------------------------------------------------------------------------------- 2921 /// MApi_GOP_GWIN_SetPaletteOpt 2922 /// @ingroup GOP_ToBeRemove 2923 /// @return GOP_API_SUCCESS - Success 2924 //------------------------------------------------------------------------------------------------- 2925 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetPaletteOpt( GOP_PaletteEntry *pPalArray, MS_U16 u32PalStart, MS_U16 u32PalEnd, EN_GOP_PALETTE_TYPE ePalType); 2926 //----------------- 2927 // PALETTE 2928 //----------------- 2929 //------------------------------------------------------------------------------------------------- 2930 /// Write optional palette values to GOP0 registers 2931 /// Note that this GOP0 palette table only support 256 group palette data 2932 /// @ingroup PALETTE 2933 /// @param u8GOP \b IN : Number of GOP 2934 /// @param *pPalArray \b IN Pointer to pallete list gonna set into pallete table 2935 /// @param u32PalStart \b IN start of pallete table gonna be overwrite 2936 /// @param u32PalEnd \b IN end of pallete table gonna be overwrite 2937 /// @param ePalType \b IN Pallete format, true/false ARGB8888 2938 /// @return GOP_API_SUCCESS - Success 2939 //------------------------------------------------------------------------------------------------- 2940 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetPaletteOpt_EX(MS_U8 u8GOP,GOP_PaletteEntry *pPalArray, MS_U16 u32PalStart, MS_U16 u32PalEnd, EN_GOP_PALETTE_TYPE ePalType); 2941 //------------------------------------------------------------------------------------------------- 2942 /// MApi_GOP_GWIN_SetPaletteRead 2943 /// @ingroup GOP_ToBeRemove 2944 /// @return GOP_API_SUCCESS - Success 2945 //------------------------------------------------------------------------------------------------- 2946 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_SetPaletteRead(EN_GOP_PALETTE_READTYPE type); 2947 //------------------------------------------------------------------------------------------------- 2948 /// Set GOP0 palette table read out control 2949 /// @ingroup PALETTE 2950 /// @param u8GOP \b IN : Number of GOP 2951 /// @param type \b IN \copydoc EN_GOP_PALETTE_READTYPE 2952 /// @return GOP_API_SUCCESS - Success 2953 //------------------------------------------------------------------------------------------------- 2954 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetPaletteRead_EX(MS_U8 u8GOP,EN_GOP_PALETTE_READTYPE type); 2955 //------------------------------------------------------------------------------------------------- 2956 /// MApi_GOP_GWIN_ReadPalette 2957 /// @ingroup GOP_ToBeRemove 2958 /// @return GOP_API_SUCCESS - Success 2959 //------------------------------------------------------------------------------------------------- 2960 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_ReadPalette(MS_U8 idx, MS_U32* clr); 2961 //------------------------------------------------------------------------------------------------- 2962 /// Read GOP0 palette values From Pallete 2963 /// @ingroup PALETTE 2964 /// @param u8GOP \b IN : Number of GOP 2965 /// @param idx \b IN Index for pallete wanna retrieve 2966 /// @param clr \b OUT color of specific pallete index 2967 /// @return GOP_API_SUCCESS - Success 2968 //------------------------------------------------------------------------------------------------- 2969 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_ReadPalette_EX(MS_U8 u8GOP,MS_U8 idx, MS_U32* clr); 2970 //------------------------------------------------------------------------------------------------- 2971 /// MApi_GOP_GetInfo 2972 /// @ingroup GOP_ToBeRemove 2973 /// @return GOP_API_SUCCESS - Success 2974 //------------------------------------------------------------------------------------------------- 2975 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_2GSetPaletteOpt(GOP_PaletteEntry *pPalArray, MS_U16 u32PalStart, MS_U16 u32PalEnd); 2976 //------------------------------------------------------------------------------------------------- 2977 /// Write optional palette values to GOP1 registers 2978 /// Note that this GOP1 palette table only support 64 group palette data 2979 /// @ingroup PALETTE 2980 /// @param u8GOP \b IN : Number of GOP 2981 /// @param *pPalArray \b IN Pointer to pallete list gonna set into pallete table 2982 /// @param u32PalStart \b IN start of pallete table gonna be overwrite 2983 /// @param u32PalEnd \b IN end of pallete table gonna be overwrite 2984 /// @return GOP_API_SUCCESS - Success 2985 //------------------------------------------------------------------------------------------------- 2986 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_2GSetPaletteOpt_EX(MS_U8 u8GOP,GOP_PaletteEntry *pPalArray, MS_U16 u32PalStart, MS_U16 u32PalEnd); 2987 //------------------------------------------------------------------------------------------------- 2988 /// MApi_GOP_GWIN_2GSetPaletteRead 2989 /// @ingroup GOP_ToBeRemove 2990 /// @return GOP_API_SUCCESS - Success 2991 //------------------------------------------------------------------------------------------------- 2992 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_2GSetPaletteRead(EN_GOP_PALETTE_READTYPE type); 2993 //------------------------------------------------------------------------------------------------- 2994 /// Set GOP1 palette table read out control 2995 /// @ingroup PALETTE 2996 /// @param u8GOP \b IN : Number of GOP 2997 /// @param type \b IN \copydoc EN_GOP_PALETTE_READTYPE 2998 /// @return GOP_API_SUCCESS - Success 2999 //------------------------------------------------------------------------------------------------- 3000 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_2GSetPaletteRead_EX(MS_U8 u8GOP,EN_GOP_PALETTE_READTYPE type); 3001 //------------------------------------------------------------------------------------------------- 3002 /// MApi_GOP_GWIN_2GReadPalette 3003 /// @ingroup GOP_ToBeRemove 3004 /// @return GOP_API_SUCCESS - Success 3005 //------------------------------------------------------------------------------------------------- 3006 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_2GReadPalette(MS_U8 idx, MS_U32* clr); 3007 //------------------------------------------------------------------------------------------------- 3008 /// Read GOP2G(GOP1) palette values From Pallete 3009 /// @ingroup PALETTE 3010 /// @param u8GOP \b IN : Number of GOP 3011 /// @param idx \b IN Index for pallete wanna retrieve 3012 /// @param clr \b OUT color of specific pallete index 3013 /// @return GOP_API_SUCCESS - Success 3014 //------------------------------------------------------------------------------------------------- 3015 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_2GReadPalette_EX(MS_U8 u8GOP,MS_U8 idx, MS_U32* clr); 3016 3017 3018 //----------------- 3019 // DWIN 3020 //----------------- 3021 //----------------- 3022 // DWIN_CONFIG 3023 //----------------- 3024 //------------------------------------------------------------------------------------------------- 3025 /// API for initialize the GOP DWIN 3026 /// @ingroup DWIN_CONFIG 3027 /// @return GOP_API_SUCCESS - Success 3028 //------------------------------------------------------------------------------------------------- 3029 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_Init(void); 3030 3031 //------------------------------------------------------------------------------------------------- 3032 /// Config Dwin source (OP or MVOP). 3033 /// @ingroup DWIN_CONFIG 3034 /// @param enScanMode \b IN: EN_GOP_DWIN_SCAN_MODE 3035 /// @return GOP_API_SUCCESS - Success 3036 /// GOP_API_INVALID_PARAMETERS - don't support this dwin source 3037 //------------------------------------------------------------------------------------------------- 3038 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetSourceSel(EN_GOP_DWIN_SRC_SEL enSrcSel); 3039 //------------------------------------------------------------------------------------------------- 3040 /// Set gop dwin capture one frame 3041 /// @ingroup DWIN_CAPTURE 3042 /// @return GOP_API_SUCCESS - Success 3043 //------------------------------------------------------------------------------------------------- 3044 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_CaptureOneFrame2(void); 3045 //----------------- 3046 // DWIN_INTERRUPT 3047 //----------------- 3048 //------------------------------------------------------------------------------------------------- 3049 3050 /// Set interrupt mask of GOP DWIN. 3051 /// @ingroup DWIN_INTERRUPT 3052 /// @param u8mask \b IN bitmask of interrupt type 3053 /// - bit7 DWIN VSYNC interrupt mask 3054 /// - bit6 Dump Window interlace Bottom Field ACK Interrupt Mask 3055 /// - bit5 Dump Window interlace Top Field ACK Interrupt Mask 3056 /// - bit4 Dump Window Progressive ACK Interrupt Mask 3057 /// - bit3:1 Reserved 3058 /// - bit0 GWIN VSYNC Interrupt Mask 3059 /// @param bEnable \b IN 3060 /// - # TRUE enable interrupts specified by u8mask 3061 /// - # FALSE disable interrupts specified by u8mask 3062 /// @return GOP_API_SUCCESS - Success 3063 //------------------------------------------------------------------------------------------------- 3064 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_EnableIntr(MS_U16 u8mask, MS_BOOL bEnable); 3065 3066 //------------------------------------------------------------------------------------------------- 3067 /// Set gop dwin capture one frame 3068 /// @ingroup DWIN_CAPTURE 3069 /// @return GOP_API_SUCCESS - Success 3070 //------------------------------------------------------------------------------------------------- 3071 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_CaptureOneFrame(void); 3072 //----------------- 3073 // DWIN_CAPTURE 3074 //----------------- 3075 //------------------------------------------------------------------------------------------------- 3076 /// API for enable or disable DWIN 3077 /// @ingroup DWIN_CAPTURE 3078 /// @param bEnable \b IN DWIN enable or not 3079 /// @return GOP_API_SUCCESS - Success 3080 //------------------------------------------------------------------------------------------------- 3081 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_Enable(MS_BOOL bEnable); 3082 3083 //------------------------------------------------------------------------------------------------- 3084 /// Get DWIN property 3085 /// @ingroup DWIN_INTERRUPT 3086 /// @param pproperty \b OUT buffer to store DWIN property 3087 /// @return GOP_API_SUCCESS - Success 3088 //------------------------------------------------------------------------------------------------- 3089 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_GetWinProperty(GOP_DwinProperty *pproperty); 3090 //------------------------------------------------------------------------------------------------- 3091 /// Set DWIN property 3092 /// @ingroup DWIN_INTERRUPT 3093 /// @param pproperty \b IN buffer to store DWIN property 3094 /// @return GOP_API_SUCCESS - Success 3095 //------------------------------------------------------------------------------------------------- 3096 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetWinProperty(GOP_DwinProperty *pproperty); 3097 //------------------------------------------------------------------------------------------------- 3098 /// Set DWIN data source scan type 3099 /// @ingroup DWIN_CONFIG 3100 /// @param enScanMode \b IN: EN_GOP_DWIN_SCAN_MODE 3101 /// @return GOP_API_SUCCESS - Success 3102 //------------------------------------------------------------------------------------------------- 3103 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SelectSourceScanType(EN_GOP_DWIN_SCAN_MODE enScanMode); 3104 //------------------------------------------------------------------------------------------------- 3105 /// Set DWIN Capture format 3106 /// @ingroup DWIN_CONFIG 3107 /// @param fmt \b IN: buffer format to store DWIN content 3108 /// @return GOP_API_SUCCESS - Success 3109 //------------------------------------------------------------------------------------------------- 3110 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetDataFmt(EN_GOP_DWIN_DATA_FMT fmt); 3111 //------------------------------------------------------------------------------------------------- 3112 /// Set DWIN Capture constant alpha value for format ARGB8888 3113 /// @ingroup DWIN_CONFIG 3114 /// @param u8AlphaVal \b IN: constant alpha value 3115 /// @return GOP_API_SUCCESS - Success 3116 //------------------------------------------------------------------------------------------------- 3117 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetAlphaValue(MS_U8 u8AlphaVal); 3118 //----------------- 3119 // DWIN_OPTION 3120 //----------------- 3121 //------------------------------------------------------------------------------------------------- 3122 /// Set DWIN Capture alpha source 3123 /// @ingroup DWIN_OPTION 3124 /// @param source \b IN: alpha source 3125 /// @return GOP_API_SUCCESS - Success 3126 //------------------------------------------------------------------------------------------------- 3127 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetAlphaSrc(EN_GOP_DWIN_ALPHA_SRC source); 3128 //------------------------------------------------------------------------------------------------- 3129 /// Set DWIN Capture alpha inverse 3130 /// @ingroup DWIN_OPTION 3131 /// @param source \b IN: enable alpha inverse 3132 /// @return GOP_API_SUCCESS - Success 3133 //------------------------------------------------------------------------------------------------- 3134 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetAlphaInverse(MS_BOOL bEnable); 3135 3136 //------------------------------------------------------------------------------------------------- 3137 /// Set DWIN UVSample mode 3138 /// @ingroup DWIN_OPTION 3139 /// @param mode \b IN: UVSample mode 3140 /// @return GOP_API_SUCCESS - Success 3141 //------------------------------------------------------------------------------------------------- 3142 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetUVSample(EN_GOP_DWIN_UVSAMPLE_Mode mode); 3143 //------------------------------------------------------------------------------------------------- 3144 /// Set DWIN skipframe count 3145 /// @ingroup DWIN_OPTION 3146 /// @param mode \b IN: skipframe count 3147 /// @return GOP_API_SUCCESS - Success 3148 //------------------------------------------------------------------------------------------------- 3149 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetSkipFrame(MS_U32 framecount); 3150 //------------------------------------------------------------------------------------------------- 3151 /// clear DWIN interrupt 3152 /// @ingroup DWIN_INTERRUPT 3153 /// @param u8mask \b IN: interrup mask 3154 /// @return GOP_API_SUCCESS - Success 3155 //------------------------------------------------------------------------------------------------- 3156 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_ClearIntr(MS_U16 u8mask); 3157 3158 //------------------------------------------------------------------------------------------------- 3159 /// Get DWIN interrupt Information. 3160 /// @ingroup DWIN_CAPTURE 3161 /// @param pDWinIntInfo \b OUT: dwin interrup flag 3162 /// @return GOP_API_SUCCESS - Success 3163 //------------------------------------------------------------------------------------------------- 3164 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_GetDWinIntInfo(GOP_DWinIntInfo *pDWinIntInfo); 3165 //------------------------------------------------------------------------------------------------- 3166 /// Get DWIN interrupt Information. 3167 /// @ingroup DWIN_CAPTURE 3168 /// @param pDWinIntInfo \b OUT: dwin interrup flag 3169 /// @return GOP_API_SUCCESS - Success 3170 //------------------------------------------------------------------------------------------------- 3171 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_GetDWinIntInfoTimeout(GOP_DWinIntInfo *pDWinIntInfo, MS_U32 u32Timeout); 3172 //------------------------------------------------------------------------------------------------- 3173 /// MApi_GOP_SetClkForCapture 3174 /// @ingroup GOP_ToBeRemove 3175 /// @return GOP_API_SUCCESS - Success 3176 //------------------------------------------------------------------------------------------------- 3177 DLL_PUBLIC E_GOP_API_Result MApi_GOP_SetClkForCapture(void); //only for source is OP path clock 3178 //------------------------------------------------------------------------------------------------- 3179 /// Get GOP Dwin interrupt status 3180 /// @ingroup DWIN_INTERRUPT 3181 /// @return GOP Dwin interrupt status 3182 //------------------------------------------------------------------------------------------------- 3183 DLL_PUBLIC MS_U16 MApi_GOP_DWIN_GetIntrStatus(void); 3184 //------------------------------------------------------------------------------------------------- 3185 /// API for enable or disable DWIN 3186 /// @ingroup DWIN_OPTION 3187 /// @param bEnable \b IN DWIN enable or not 3188 /// @return GOP_API_SUCCESS - Success 3189 //------------------------------------------------------------------------------------------------- 3190 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_EnableR2YCSC(MS_BOOL bEnable); 3191 3192 //------------------------------------------------------------------------------------------------- 3193 /// API for enable or disable DWIN UV SWAP 3194 /// @ingroup DWIN_OPTION 3195 /// @param bEnable \b IN DWIN enable or not 3196 /// @return GOP_API_SUCCESS - Success 3197 //------------------------------------------------------------------------------------------------- 3198 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetUVSwap(MS_BOOL bEnable); 3199 //----------------- 3200 // GOP_LOCK_BEGINE_END 3201 //----------------- 3202 //------------------------------------------------------------------------------------------------- 3203 /// Begine of lock GOP. 3204 /// @ingroup GOP_LOCK_BEGINE_END 3205 /// @param void 3206 /// @return GOP_API_SUCCESS - Success 3207 /// @return GOP_API_FAIL - Failure 3208 //------------------------------------------------------------------------------------------------- 3209 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_BeginDraw(void); 3210 //------------------------------------------------------------------------------------------------- 3211 /// End of lock GOP. 3212 /// @ingroup GOP_LOCK_BEGINE_END 3213 /// @param void 3214 /// @return GOP_API_SUCCESS - Success 3215 /// @return GOP_API_FAIL - Failure 3216 //------------------------------------------------------------------------------------------------- 3217 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_EndDraw(void); 3218 //------------------------------------------------------------------------------------------------- 3219 /// Lock Force Write 3220 /// @ingroup FORCE_WRITE 3221 /// @param void 3222 /// @return GOP_API_SUCCESS - Success 3223 /// @return GOP_API_FAIL - Failure 3224 //------------------------------------------------------------------------------------------------- 3225 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_LockForForceWrite(MS_BOOL bLock); 3226 //----------------- 3227 // BG 3228 //----------------- 3229 //------------------------------------------------------------------------------------------------- 3230 /// Enable back ground window 3231 /// @ingroup BG 3232 /// @param bgwID \b IN: GWIN number 3233 /// @param bEnable \b IN: ENABLE/DISABLE 3234 /// @return GOP_API_SUCCESS - Success 3235 /// @return GOP_API_FAIL - Failure 3236 //------------------------------------------------------------------------------------------------- 3237 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Enable_BGWIN(MS_U8 bgwID, MS_BOOL bEnable); 3238 3239 //------------------------------------------------------------------------------------------------- 3240 /// Set back ground window 3241 /// @ingroup BG 3242 /// @param bgwID \b IN: GWIN number 3243 /// @param x0 \b IN: left position 3244 /// @param y0 \b IN: top position 3245 /// @param w \b IN: width 3246 /// @param h \b IN: height 3247 /// @param color \b IN: color 3248 /// @return GOP_API_SUCCESS - Success 3249 /// @return GOP_API_FAIL - Failure 3250 //------------------------------------------------------------------------------------------------- 3251 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_BGWIN(MS_U8 bgwID, MS_U16 x0, MS_U16 y0, MS_U16 w, MS_U16 h, MS_U16 color); 3252 //------------------------------------------------------------------------------------------------- 3253 /// Set back ground window 3254 /// @ingroup BG 3255 /// @param bgwID \b IN: GWIN number 3256 /// @param bEnable \b IN: ENABLE/DISABLE 3257 /// @param alpha \b IN: alpha 3258 /// @return GOP_API_SUCCESS - Success 3259 /// @return GOP_API_FAIL - Failure 3260 //------------------------------------------------------------------------------------------------- 3261 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_Set_BGWIN_Alpha(MS_U8 bgwID, MS_BOOL bEnable, MS_U8 alpha); 3262 3263 //------------------------------------------------------------------------------------------------- 3264 /// API for set gop pinpong 3265 /// @ingroup DWIN_OPTION 3266 /// @param winId \b IN: GWIN id 3267 /// @param u32fbaddr0 \b IN: pinpon addr0 3268 /// @param u32fbaddr1 \b IN: pinpon addr1 3269 /// @return GOP_API_SUCCESS - Success 3270 /// @return GOP_API_FAIL - Failure 3271 //------------------------------------------------------------------------------------------------- 3272 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 3273 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetBufferPINPON(MS_U32 u32fbaddr0,MS_U32 u32fbaddr1); 3274 #else 3275 DLL_PUBLIC E_GOP_API_Result MApi_GOP_DWIN_SetBufferPINPON(MS_PHY phyfbaddr0,MS_PHY phyfbaddr1); 3276 #endif 3277 3278 //----------------- 3279 // GOP_CB 3280 //----------------- 3281 //------------------------------------------------------------------------------------------------- 3282 /// GOP call back function: Set destination buffer pitch,addr,fmt to GE. 3283 /// @ingroup GOP_CB 3284 /// This function should be registered before MApi_GOP_Init!! 3285 /// @return GOP_API_SUCCESS - Success 3286 /// @return GOP_API_FAIL - Failure 3287 //------------------------------------------------------------------------------------------------- 3288 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 3289 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterFBFmtCB(MS_U32 (*fpGOP_CB)(MS_U16 pitch,MS_U32 addr , MS_U16 fmt ) ); 3290 #else 3291 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterFBFmtCB(MS_U32 (*fpGOP_CB)(MS_U16 pitch,MS_PHY addr , MS_U16 fmt ) ); 3292 #endif 3293 //------------------------------------------------------------------------------------------------- 3294 /// GOP call back function: Get vedio status (is interlace mode?) from scaler. 3295 /// @ingroup GOP_CB 3296 /// This function should be registered before MApi_GOP_Init!! 3297 /// @return GOP_API_SUCCESS - Success 3298 /// @return GOP_API_FAIL - Failure 3299 //------------------------------------------------------------------------------------------------- 3300 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterXCIsInterlaceCB(MS_BOOL (*fpGOP_CB)(void)); 3301 //------------------------------------------------------------------------------------------------- 3302 /// GOP call back function: Get capture window h-start from scaler. 3303 /// @ingroup GOP_CB 3304 /// This function should be registered before MApi_GOP_Init!! 3305 /// @return GOP_API_SUCCESS - Success 3306 /// @return GOP_API_FAIL - Failure 3307 //------------------------------------------------------------------------------------------------- 3308 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterXCGetCapHStartCB(MS_U16 (*fpGOP_CB)(void)); 3309 3310 //------------------------------------------------------------------------------------------------- 3311 /// GOP call back function: Reduce scaler bandwidth when OSD on. 3312 /// @ingroup GOP_CB 3313 /// This function should be registered before MApi_GOP_Init!! 3314 /// @return GOP_API_SUCCESS - Success 3315 /// @return GOP_API_FAIL - Failure 3316 //------------------------------------------------------------------------------------------------- 3317 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterXCReduceBWForOSDCB(void (*fpGOP_CB)(MS_U8 PqWin, MS_BOOL enable)); 3318 //------------------------------------------------------------------------------------------------- 3319 /// GOP call back function: Notify callback for the end of GOP events such as buffer rearrange. 3320 /// @ingroup GOP_CB 3321 /// This function should be registered before MApi_GOP_Init!! 3322 /// @return GOP_API_SUCCESS - Success 3323 /// @return GOP_API_FAIL - Failure 3324 //------------------------------------------------------------------------------------------------- 3325 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterEventNotify(void (*fpGOP_CB)(MS_U32 u32EventID, void* reserved0)); 3326 3327 //------------------------------------------------------------------------------------------------- 3328 /// GOP call back function: Register XC DIP call back 3329 /// @ingroup GOP_CB 3330 /// This function should be registered before MApi_GOP_Init!! 3331 /// @return GOP_API_SUCCESS - Success 3332 /// @return GOP_API_FAIL - Failure 3333 //------------------------------------------------------------------------------------------------- 3334 DLL_PUBLIC E_GOP_API_Result MApi_GOP_RegisterXCSetDwinInfo(MS_BOOL (*fpGOP_CB)(MS_U16 cmd,MS_U32 *arg,MS_U16 size)); 3335 3336 //------------------------------------------------------------------------------------------------- 3337 /// MApi_GOP_OC_SetOCFBinfo 3338 /// @ingroup GOP_ToBeRemove 3339 /// @return GOP_API_SUCCESS - Success 3340 //------------------------------------------------------------------------------------------------- 3341 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 3342 DLL_PUBLIC E_GOP_API_Result MApi_GOP_OC_SetOCFBinfo(MS_PHYADDR u32Addr, EN_GOP_OC_SEL_TYPE BankMode, MS_U32 enBufSize); 3343 #else 3344 DLL_PUBLIC E_GOP_API_Result MApi_GOP_OC_SetOCFBinfo(MS_PHY phyAddr, EN_GOP_OC_SEL_TYPE BankMode, MS_U32 enBufSize); 3345 #endif 3346 3347 //------------------------------------------------------------------------------------------------- 3348 /// Set GPU Tile Mode 3349 /// @ingroup TILE_MODE 3350 /// @param u8win \b IN GWIN id 3351 /// @param TileMode \b IN 3352 /// - # TRUE Gwin Tile Mode 3353 /// - # FALSE Gwin Tile Mode 3354 /// @param tiletype \b IN: tile type 3355 /// @return GOP_API_SUCCESS - Success 3356 //------------------------------------------------------------------------------------------------- 3357 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetGPUTile(MS_U8 u8win, EN_GOP_GPU_TILE_MODE TileMode); 3358 3359 //------------------------------------------------------------------------------------------------- 3360 /// MApi_GOP_TLB_Enable 3361 /// @ingroup GOP_ToBeRemove 3362 /// @return GOP_API_SUCCESS - Success 3363 #if (defined(UFO_PUBLIC_HEADER_212)||defined(UFO_PUBLIC_HEADER_300)) 3364 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_TLB_Enable(MS_U8 u8GOP,MS_BOOL bEnable, MS_U32 tlbaddr); 3365 #else 3366 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_TLB_Enable(MS_U8 u8GOP,MS_BOOL bEnable, MS_PHY phytlbaddr); 3367 #endif 3368 3369 //------------------------------------------------------------------------------------------------- 3370 /// MApi_GOP_GWIN_UpdateRegOnce 3371 /// @ingroup GOP_ToBeRemove 3372 /// @return GOP_API_SUCCESS - Success 3373 //------------------------------------------------------------------------------------------------- 3374 DLL_PUBLIC E_GOP_API_Result MApi_GOP_GWIN_UpdateRegOnce(MS_BOOL bWriteRegOnce); 3375 //------------------------------------------------------------------------------------------------- 3376 /// MApi_GOP_GWIN_SetMux 3377 /// @ingroup GOP_ToBeRemove 3378 /// @return GOP_API_SUCCESS - Success 3379 //------------------------------------------------------------------------------------------------- 3380 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_SetMux(GOP_MuxConfig * pGopMuxConfig, MS_U32 u32SizeOfMuxInfo); 3381 //------------------------------------------------------------------------------------------------- 3382 /// MApi_GOP_GWIN_OutputLayerSwitch 3383 /// @ingroup GOP_ToBeRemove 3384 /// @return GOP_API_SUCCESS - Success 3385 //------------------------------------------------------------------------------------------------- 3386 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_GWIN_OutputLayerSwitch(MS_U8 u8GOP); 3387 //------------------------------------------------------------------------------------------------- 3388 /// MApi_GOP_MultiWin_ColorKey 3389 /// @ingroup GOP MultiWindow ColorKey 3390 /// @param mwinId \b Window index selection 3391 /// @param eMultiWinType \b IN MultiWin ColorKey mode selection 3392 /// @param pGOP_WinColorKey \b IN MultiWin ColorKey Information 3393 /// @return GOP_API_SUCCESS - Success 3394 //------------------------------------------------------------------------------------------------- 3395 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_MultiWin_ColorKey(MS_U8 mwinId, EN_GOP_MULTIWIN_COLOR_MODE eMultiWinType, GOP_MULTIWIN_COLORKEY* pGOP_WinColorKey); 3396 //-------------------------------------------------------------------------------------------------- 3397 /// MApi_GOP_MultiWin_FrameColor 3398 /// @ingroup GOP MultiWindow ColorKey 3399 /// @param eMultiWinType \b IN MultiWin ColorKey mode selection 3400 /// @param pGOP_WinFrameColor \b IN MultiWin FrameColor Information 3401 /// @return GOP_API_SUCCESS - Success 3402 //-------------------------------------------------------------------------------------------------- 3403 DLL_PUBLIC SYMBOL_WEAK E_GOP_API_Result MApi_GOP_MultiWin_FrameColor(EN_GOP_MULTIWIN_COLOR_MODE eMultiWinType, GOP_MULTIWIN_FRAMECOLOR* pGOP_WinFrameColor); 3404 3405 #ifdef __cplusplus 3406 } 3407 #endif 3408 3409 #endif // _API_GOP_H_ 3410 3411