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 78 #ifndef _MVOP_H_ 79 #define _MVOP_H_ 80 81 #ifdef __cplusplus 82 extern "C" 83 { 84 #endif 85 86 #include "MsTypes.h" 87 //******** ENUM DEFINITIONS ********// 88 typedef enum 89 { 90 E_MVOP_POOL_ID_INTERNAL = 0, // just for test, please refine. 91 } E_MVOP_POOL_ID; 92 93 94 typedef enum 95 { 96 //Main MVOP 97 E_MVOP_CMD_INIT, 98 E_MVOP_CMD_EXIT, 99 E_MVOP_CMD_ENABLE, 100 E_MVOP_CMD_SET_INPUTCFG, 101 E_MVOP_CMD_SET_OTPUTCFG, 102 E_MVOP_CMD_ENABLE_BLACK_BG, 103 E_MVOP_CMD_ENABLE_UV_SHIFT, 104 E_MVOP_CMD_SET_MONO_MODE, 105 106 E_MVOP_CMD_GET_HSIZE, 107 E_MVOP_CMD_GET_VSIZE, 108 E_MVOP_CMD_GET_HSTART, 109 E_MVOP_CMD_GET_VSTART, 110 E_MVOP_CMD_GET_IS_INTERLACE, 111 E_MVOP_CMD_GET_IS_HDUPLICATE, 112 E_MVOP_CMD_GET_IS_ENABLE, 113 E_MVOP_CMD_GET_OUTPUT_TIMING, 114 E_MVOP_CMD_GET_LIBVER, 115 E_MVOP_CMD_CHECK_CAPABILITY, 116 E_MVOP_CMD_GET_MAX_HOFFSET, 117 E_MVOP_CMD_GET_MAX_VOFFSET, 118 119 E_MVOP_CMD_SET_DBG_LEVEL, 120 E_MVOP_CMD_GET_INFO, 121 E_MVOP_CMD_GET_STATUS, 122 E_MVOP_CMD_SET_CLK, 123 E_MVOP_CMD_SET_PATTERN, 124 E_MVOP_CMD_SET_TILE_FORMAT, 125 E_MVOP_CMD_GET_DST_INFO, 126 E_MVOP_CMD_SET_FIXVTT, 127 E_MVOP_CMD_SET_MMIO_MAPBASE, 128 E_MVOP_CMD_MIU_SWITCH, 129 E_MVOP_CMD_SET_BASEADD, 130 E_MVOP_CMD_SEL_OP_FIELD, 131 E_MVOP_CMD_SET_REGSIZE_FROM_MVD, 132 E_MVOP_CMD_SET_START_POS, 133 E_MVOP_CMD_SET_IMAGE_WIDTH_HIGHT, 134 E_MVOP_CMD_SET_VOP_MIRROR_MODE, 135 E_MVOP_CMD_INV_OP_VS, 136 E_MVOP_CMD_FORCE_TOP, 137 E_MVOP_CMD_ENABLE_FREERUN_MODE, 138 E_MVOP_CMD_GET_BASE_ADD, 139 140 //Sub MVOP 141 E_MVOP_CMD_SUB_INIT, 142 E_MVOP_CMD_SUB_EXIT, 143 E_MVOP_CMD_SUB_ENABLE, 144 E_MVOP_CMD_SUB_SET_INPUTCFG, 145 E_MVOP_CMD_SUB_SET_OTPUTCFG, 146 147 E_MVOP_CMD_SUB_ENABLE_BLACK_BG, 148 E_MVOP_CMD_SUB_ENABLE_UV_SHIFT , 149 E_MVOP_CMD_SUB_SET_MONO_MODE, 150 E_MVOP_CMD_SUB_GET_HSIZE, 151 E_MVOP_CMD_SUB_GET_VSIZE, 152 E_MVOP_CMD_SUB_GET_HSTART, 153 E_MVOP_CMD_SUB_GET_VSTART, 154 E_MVOP_CMD_SUB_GET_IS_INTERLACE, 155 E_MVOP_CMD_SUB_GET_IS_HDUPLICATE, 156 E_MVOP_CMD_SUB_GET_IS_ENABLE, 157 E_MVOP_CMD_SUB_GET_OUTPUT_TIMING, 158 E_MVOP_CMD_SUB_CHECK_CAPABILITY, 159 E_MVOP_CMD_SUB_GET_MAXHOFFSET, 160 E_MVOP_CMD_SUB_GET_MAXVOFFSET, 161 E_MVOP_CMD_SUB_SET_CLK, 162 E_MVOP_CMD_SUB_SET_PATTERN, 163 E_MVOP_CMD_SUB_SET_TILE_FORMAT, 164 E_MVOP_CMD_SUB_GET_DST_INFO, 165 E_MVOP_CMD_SUB_SET_FIXVTT, 166 E_MVOP_CMD_SUB_SET_MMIO_MAPBASE, 167 E_MVOP_CMD_SUB_MIU_SWITCH, 168 E_MVOP_CMD_SUB_SET_BASEADD, 169 E_MVOP_CMD_SUB_SET_VOP_MIRRORMODE, 170 E_MVOP_CMD_SUB_ENABLE_FREERUN_MODE, 171 E_MVOP_CMD_SUB_GET_BASEADD, 172 173 //Third MVOP 174 E_MVOP_CMD_EX_INIT, 175 E_MVOP_CMD_EX_EXIT, 176 E_MVOP_CMD_EX_ENABLE, 177 E_MVOP_CMD_EX_SET_INPUTCFG, 178 E_MVOP_CMD_EX_SET_OTPUTCFG, 179 180 E_MVOP_CMD_EX_SET_CLK, 181 E_MVOP_CMD_EX_SET_PATTERN, 182 E_MVOP_CMD_EX_SET_TILEFORMAT, 183 E_MVOP_CMD_EX_ENABLE_UV_SHIFT, 184 E_MVOP_CMD_EX_ENABLE_BLACK_BG, 185 E_MVOP_CMD_EX_SET_MONO_MODE, 186 E_MVOP_CMD_EX_SET_FIXVTT, 187 E_MVOP_CMD_EX_MIU_SWITCH, 188 E_MVOP_CMD_EX_SET_VOP_MIRRORMODE, 189 E_MVOP_CMD_EX_ENABLE_FREERUN_MODE, 190 191 E_MVOP_CMD_EX_GET_OUTPUT_TIMING, 192 E_MVOP_CMD_EX_GET_IS_ENABLE, 193 E_MVOP_CMD_EX_GET_HSIZE, 194 E_MVOP_CMD_EX_GET_VSIZE, 195 E_MVOP_CMD_EX_GET_HSTART, 196 E_MVOP_CMD_EX_GET_VSTART, 197 E_MVOP_CMD_EX_GET_IS_INTERLACE, 198 E_MVOP_CMD_EX_GET_IS_HDUPLICATE, 199 E_MVOP_CMD_EX_GET_STATUS, 200 E_MVOP_CMD_EX_CHECK_CAPABILITY, 201 E_MVOP_CMD_EX_GET_DST_INFO, 202 203 E_MVOP_CMD_SEND_BLUE_SCREEN, 204 E_MVOP_CMD_SET_COMMAND, 205 E_MVOP_CMD_GET_COMMAND, 206 E_MVOP_CMD_SET_FREQUENCY, 207 208 E_MVOP_CMD_ENABLE_INTERRUPT, 209 E_MVOP_CMD_GET_INT_STATUS, 210 E_MVOP_CMD_SUB_ENABLE_INTERRUPT, 211 E_MVOP_CMD_SUB_GET_INT_STATUS, 212 E_MVOP_CMD_EX_ENABLE_INTERRUPT, 213 E_MVOP_CMD_EX_GET_INT_STATUS, 214 215 //E_MVOP_CMD_SET_POWER_STATE, 216 217 E_MVOP_CMD_NUM, 218 E_MVOP_CMD_MAX = E_MVOP_CMD_NUM, 219 } E_MVOP_IOCTL_CMDS; 220 221 // Main MVOP 222 typedef struct 223 { 224 MS_BOOL bEnable; 225 } stMVOP_ENABLE,*pstMVOP_ENABLE; 226 227 typedef struct 228 { 229 MVOP_InputSel in; 230 MVOP_InputCfg* pCfg; 231 MVOP_Result eRet; 232 } stMVOP_SET_INPUTCFG,*pstMVOP_SET_INPUTCFG; 233 234 typedef struct 235 { 236 MVOP_VidStat *pstVideoStatus; 237 MS_BOOL bEnHDup; 238 MVOP_Result eRet; 239 } stMVOP_SET_OTPUTCFG,*pstMVOP_SET_OTPUTCFG; 240 241 typedef struct 242 { 243 MS_BOOL bEnable; 244 } stMVOP_ENABLE_UV_SHIFT,*pstMVOP_ENABLE_UV_SHIFT; 245 246 typedef struct 247 { 248 MS_BOOL bEnable; 249 } stMVOP_SET_MONO_MODE,*pstMVOP_SET_MONO_MODE; 250 251 typedef struct 252 { 253 MS_U16 u16Ret; 254 } stMVOP_GET_HSIZE,*pstMVOP_GET_HSIZE; 255 256 typedef struct 257 { 258 MS_U16 u16Ret; 259 } stMVOP_GET_VSIZE,*pstMVOP_GET_VSIZE; 260 261 typedef struct 262 { 263 MS_U16 u16Ret; 264 } stMVOP_GET_HSTART,*pstMVOP_GET_HSTART; 265 266 typedef struct 267 { 268 MS_U16 u16Ret; 269 } stMVOP_GET_VSTART,*pstMVOP_GET_VSTART; 270 271 typedef struct 272 { 273 MS_BOOL bRet; 274 } stMVOP_GET_IS_INTERLACE, *pstMVOP_GET_IS_INTERLACE; 275 276 typedef struct 277 { 278 MS_BOOL bRet; 279 } stMVOP_GET_IS_HDUPLICATE, *pstMVOP_GET_IS_HDUPLICATE; 280 281 typedef struct 282 { 283 MS_BOOL* pbEnable; 284 MVOP_Result eRet; 285 } stMVOP_GET_IS_ENABLE, *pstMVOP_GET_IS_ENABLE; 286 287 typedef struct 288 { 289 MVOP_Timing* pMVOPTiming; 290 MVOP_Result eRet; 291 } stMVOP_GET_OUTPUT_TIMING, *pstMVOP_GET_OUTPUT_TIMING; 292 293 typedef struct 294 { 295 const MSIF_Version **ppVersion; 296 MVOP_Result eRet; 297 } stMVOP_GET_LIBVER,*pstMVOP_GET_LIBVER; 298 299 typedef struct 300 { 301 MS_U16 u16HSize; 302 MS_U16 u16VSize; 303 MS_U16 u16Fps; 304 MVOP_Result bRet; 305 } stMVOP_CHECK_CAPABILITY,*pstMVOP_CHECK_CAPABILITY; 306 307 typedef struct 308 { 309 MS_U16 u16HSize; 310 MS_U16 u16VSize; 311 MS_U16 u16Fps; 312 MS_U16 u16Ret; 313 } stMVOP_GET_MAX_HOFFSET, *pstMVOP_GET_MAX_HOFFSET; 314 315 typedef struct 316 { 317 MS_U16 u16HSize; 318 MS_U16 u16VSize; 319 MS_U16 u16Fps; 320 MS_U16 u16Ret; 321 } stMVOP_GET_MAX_VOFFSET, *pstMVOP_GET_MAX_VOFFSET; 322 323 typedef struct 324 { 325 MS_U8 level; 326 } stMVOP_SET_DBG_LEVEL,*pstMVOP_SET_DBG_LEVEL; 327 328 typedef struct 329 { 330 const MVOP_DrvInfo* pRet; 331 } stMVOP_GET_INFO, *pstMVOP_GET_INFO; 332 333 typedef struct 334 { 335 MVOP_DrvStatus *pMVOPStat; 336 MS_BOOL bRet; 337 } stMVOP_GET_STATUS, *pstMVOP_GET_STATUS; 338 339 typedef struct 340 { 341 MS_BOOL bEnable; 342 } stMVOP_SET_CLK, *pstMVOP_SET_CLK; 343 344 typedef struct 345 { 346 MVOP_Pattern enMVOPPattern; 347 } stMVOP_SET_PATTERN, *pstMVOP_SET_PATTERN; 348 349 typedef struct 350 { 351 MVOP_TileFormat eTileFmt; 352 MS_BOOL bRet; 353 } stMVOP_SET_TILE_FORMAT, *pstMVOP_SET_TILE_FORMAT; 354 355 typedef struct 356 { 357 MVOP_DST_DispInfo *pDstInfo; 358 MS_U32 u32SizeofDstInfo; 359 MS_BOOL bRet; 360 } stMVOP_GET_DST_INFO, *pstMVOP_GET_DST_INFO; 361 362 typedef struct 363 { 364 MS_U16 u16FixVtt; 365 MS_BOOL bRet; 366 } stMVOP_SET_FIXVTT, *pstMVOP_SET_FIXVTT; 367 368 typedef struct 369 { 370 MS_BOOL bRet; 371 } stMVOP_SET_MMIO_MAPBASE, *pstMVOP_SET_MMIO_MAPBASE; 372 373 typedef struct 374 { 375 MS_U8 u8Miu; 376 MVOP_Result eRet; 377 } stMVOP_MIU_SWITCH, *pstMVOP_MIU_SWITCH; 378 379 typedef struct 380 { 381 MS_PHY u32YOffset; 382 MS_PHY u32UVOffset; 383 MS_BOOL bProgressive; 384 MS_BOOL b422pack; 385 MS_BOOL bRet; 386 } stMVOP_SET_BASEADD, *pstMVOP_SET_BASEADD; 387 388 typedef struct 389 { 390 MS_BOOL bEnable; 391 } stMVOP_SEL_OP_FIELD, *pstMVOP_SEL_OP_FIELD; 392 393 typedef struct 394 { 395 MS_BOOL bEnable; 396 } stMVOP_SET_REGSIZE_FROM_MVD, *pstMVOP_SET_REGSIZE_FROM_MVD; 397 398 typedef struct 399 { 400 MS_U16 u16Xpos; 401 MS_U16 u16Ypos; 402 } stMVOP_SET_START_POS, *pstMVOP_SET_START_POS; 403 404 typedef struct 405 { 406 MS_U16 u16Width; 407 MS_U16 u16Height; 408 MS_BOOL bRet; 409 } stMVOP_SET_IMAGE_WIDTH_HIGHT, *pstMVOP_SET_IMAGE_WIDTH_HIGHT; 410 411 typedef struct 412 { 413 MS_BOOL bEnable; 414 MVOP_DrvMirror eMirrorMode; 415 } stMVOP_SET_VOP_MIRROR_MODE, *pstMVOP_SET_VOP_MIRROR_MODE; 416 417 typedef struct 418 { 419 MS_BOOL bEnable; 420 } stMVOP_INV_OP_VS, *pstMVOP_INV_OP_VS; 421 422 typedef struct 423 { 424 MS_BOOL bEnable; 425 } stMVOP_FORCE_TOP, *pstMVOP_FORCE_TOP; 426 427 typedef struct 428 { 429 MS_BOOL bEnable; 430 MS_BOOL bRet; 431 } stMVOP_ENABLE_FREERUN_MODE, *pstMVOP_ENABLE_FREERUN_MODE; 432 433 typedef struct 434 { 435 MS_PHY* u32YOffset; 436 MS_PHY* u32UVOffset; 437 } stMVOP_GET_BASE_ADD, *pstMVOP_GET_BASE_ADD; 438 439 // Sub MVOP 440 typedef struct 441 { 442 MS_BOOL bEnable; 443 } stMVOP_SUB_ENABLE,*pstMVOP_SUB_ENABLE; 444 445 typedef struct 446 { 447 MVOP_InputSel in; 448 MVOP_InputCfg* pCfg; 449 MVOP_Result eRet; 450 } stMVOP_SUB_SET_INPUTCFG,*pstMVOP_SUB_SET_INPUTCFG; 451 452 typedef struct 453 { 454 MVOP_VidStat *pstVideoStatus; 455 MS_BOOL bEnHDup; 456 MVOP_Result eRet; 457 } stMVOP_SUB_SET_OTPUTCFG,*pstMVOP_SUB_SET_OTPUTCFG; 458 459 typedef struct 460 { 461 MS_BOOL bEnable; 462 } stMVOP_SUB_ENABLE_UV_SHIFT,*pstMVOP_SUB_ENABLE_UV_SHIFT; 463 464 typedef struct 465 { 466 MS_BOOL bEnable; 467 } stMVOP_SUB_SET_MONO_MODE,*pstMVOP_SUB_SET_MONO_MODE; 468 469 typedef struct 470 { 471 MVOP_DrvStatus *pMVOPStat; 472 MS_BOOL bRet; 473 } stMVOP_SUB_GET_STATUS, *pstMVOP_SUB_GET_STATUS; 474 475 typedef struct 476 { 477 MS_U16 u16Ret; 478 } stMVOP_SUB_GET_HSIZE,*pstMVOP_SUB_GET_HSIZE; 479 480 typedef struct 481 { 482 MS_U16 u16Ret; 483 } stMVOP_SUB_GET_VSIZE,*pstMVOP_SUB_GET_VSIZE; 484 485 typedef struct 486 { 487 MS_U16 u16Ret; 488 } stMVOP_SUB_GET_HSTART,*pstMVOP_SUB_GET_HSTART; 489 490 typedef struct 491 { 492 MS_U16 u16Ret; 493 } stMVOP_SUB_GET_VSTART,*pstMVOP_SUB_GET_VSTART; 494 495 typedef struct 496 { 497 MS_BOOL bRet; 498 } stMVOP_SUB_GET_IS_INTERLACE, *pstMVOP_SUB_GET_IS_INTERLACE; 499 500 typedef struct 501 { 502 MS_BOOL bRet; 503 } stMVOP_SUB_GET_IS_HDUPLICATE, *pstMVOP_SUB_GET_IS_HDUPLICATE; 504 505 typedef struct 506 { 507 MS_BOOL* pbEnable; 508 MVOP_Result eRet; 509 } stMVOP_SUB_GET_IS_ENABLE, *pstMVOP_SUB_GET_IS_ENABLE; 510 511 typedef struct 512 { 513 MVOP_Timing* pMVOPTiming; 514 MVOP_Result eRet; 515 } stMVOP_SUB_GET_OUTPUT_TIMING, *pstMVOP_SUB_GET_OUTPUT_TIMING; 516 517 typedef struct 518 { 519 MS_U16 u16HSize; 520 MS_U16 u16VSize; 521 MS_U16 u16Fps; 522 MS_BOOL bRet; 523 } stMVOP_SUB_CHECK_CAPABILITY,*pstMVOP_SUB_CHECK_CAPABILITY; 524 525 typedef struct 526 { 527 MS_U16 u16HSize; 528 MS_U16 u16VSize; 529 MS_U16 u16Fps; 530 MS_U16 u16Ret; 531 } stMVOP_SUB_GET_MAX_HOFFSET, *pstMVOP_SUB_GET_MAX_HOFFSET; 532 533 typedef struct 534 { 535 MS_U16 u16HSize; 536 MS_U16 u16VSize; 537 MS_U16 u16Fps; 538 MS_U16 u16Ret; 539 } stMVOP_SUB_GET_MAX_VOFFSET, *pstMVOP_SUB_GET_MAX_VOFFSET; 540 541 typedef struct 542 { 543 MS_BOOL bEnable; 544 } stMVOP_SUB_SET_CLK, *pstMVOP_SUB_SET_CLK; 545 546 typedef struct 547 { 548 MVOP_Pattern enMVOPPattern; 549 } stMVOP_SUB_SET_PATTERN, *pstMVOP_SUB_SET_PATTERN; 550 551 typedef struct 552 { 553 MVOP_TileFormat eTileFmt; 554 MS_BOOL bRet; 555 } stMVOP_SUB_SET_TILE_FORMAT, *pstMVOP_SUB_SET_TILE_FORMAT; 556 557 typedef struct 558 { 559 MVOP_DST_DispInfo *pDstInfo; 560 MS_U32 u32SizeofDstInfo; 561 MS_BOOL bRet; 562 } stMVOP_SUB_GET_DST_INFO, *pstMVOP_SUB_GET_DST_INFO; 563 564 typedef struct 565 { 566 MS_U16 u16FixVtt; 567 MS_BOOL bRet; 568 } stMVOP_SUB_SET_FIXVTT, *pstMVOP_SUB_SET_FIXVTT; 569 570 typedef struct 571 { 572 MS_BOOL bRet; 573 } stMVOP_SUB_SET_MMIO_MAPBASE, *pstMVOP_SUB_SET_MMIO_MAPBASE; 574 575 typedef struct 576 { 577 MS_U8 u8Miu; 578 MVOP_Result eRet; 579 } stMVOP_SUB_MIU_SWITCH, *pstMVOP_SUB_MIU_SWITCH; 580 581 typedef struct 582 { 583 MS_PHY u32YOffset; 584 MS_PHY u32UVOffset; 585 MS_BOOL bProgressive; 586 MS_BOOL b422pack; 587 MS_BOOL bRet; 588 } stMVOP_SUB_SET_BASEADD, *pstMVOP_SUB_SET_BASEADD; 589 590 typedef struct 591 { 592 MS_BOOL bEnable; 593 MVOP_DrvMirror eMirrorMode; 594 } stMVOP_SUB_SET_VOP_MIRROR_MODE, *pstMVOP_SUB_SET_VOP_MIRROR_MODE; 595 596 typedef struct 597 { 598 MS_BOOL bEnable; 599 MS_BOOL bRet; 600 } stMVOP_SUB_ENABLE_FREERUN_MODE, *pstMVOP_SUB_ENABLE_FREERUN_MODE; 601 602 typedef struct 603 { 604 MS_PHY* u32YOffset; 605 MS_PHY* u32UVOffset; 606 } stMVOP_SUB_GET_BASE_ADD, *pstMVOP_SUB_GET_BASE_ADD; 607 608 // 3rd MVOP 609 typedef struct 610 { 611 MVOP_DevID eID; 612 MS_U32 u32InitParam; 613 MVOP_Result eRet; 614 } stMVOP_EX_INIT,*pstMVOP_EX_INIT; 615 616 typedef struct 617 { 618 MVOP_DevID eID; 619 MS_U32 u32ExitParam; 620 MVOP_Result eRet; 621 } stMVOP_EX_EXIT,*pstMVOP_EX_EXIT; 622 623 typedef struct 624 { 625 MVOP_DevID eID; 626 MS_BOOL bEnable; 627 MVOP_Result eRet; 628 } stMVOP_EX_ENABLE,*pstMVOP_EX_ENABLE; 629 630 typedef struct 631 { 632 MVOP_DevID eID; 633 MVOP_InputSel in; 634 MVOP_InputCfg* pCfg; 635 MVOP_Result eRet; 636 } stMVOP_EX_SET_INPUTCFG,*pstMVOP_EX_SET_INPUTCFG; 637 638 typedef struct 639 { 640 MVOP_DevID eID; 641 MVOP_VidStat *pstVideoStatus; 642 MS_BOOL bEnHDup; 643 MVOP_Result eRet; 644 } stMVOP_EX_SET_OTPUTCFG,*pstMVOP_EX_SET_OTPUTCFG; 645 646 typedef struct 647 { 648 MVOP_DevID eID; 649 MS_BOOL bEnable; 650 } stMVOP_EX_SET_CLK, *pstMVOP_EX_SET_CLK; 651 652 typedef struct 653 { 654 MVOP_DevID eID; 655 MVOP_Pattern enMVOPPattern; 656 MVOP_Result eRet; 657 } stMVOP_EX_SET_PATTERN, *pstMVOP_EX_SET_PATTERN; 658 659 typedef struct 660 { 661 MVOP_DevID eID; 662 MVOP_TileFormat eTileFmt; 663 MVOP_Result eRet; 664 } stMVOP_EX_SET_TILE_FORMAT, *pstMVOP_EX_SET_TILE_FORMAT; 665 666 typedef struct 667 { 668 MVOP_DevID eID; 669 MS_BOOL bEnable; 670 MVOP_Result eRet; 671 } stMVOP_EX_ENABLE_UV_SHIFT,*pstMVOP_EX_ENABLE_UV_SHIFT; 672 673 typedef struct 674 { 675 MVOP_DevID eID; 676 MVOP_Result eRet; 677 } stMVOP_EX_ENABLE_BLACK_BG,*pstMVOP_EX_ENABLE_BLACK_BG; 678 679 typedef struct 680 { 681 MVOP_DevID eID; 682 MS_BOOL bEnable; 683 MVOP_Result eRet; 684 } stMVOP_EX_SET_MONO_MODE,*pstMVOP_EX_SET_MONO_MODE; 685 686 typedef struct 687 { 688 MVOP_DevID eID; 689 MS_U16 u16FixVtt; 690 MVOP_Result eRet; 691 } stMVOP_EX_SET_FIXVTT, *pstMVOP_EX_SET_FIXVTT; 692 693 typedef struct 694 { 695 MVOP_DevID eID; 696 MS_U8 u8Miu; 697 MVOP_Result eRet; 698 } stMVOP_EX_MIU_SWITCH, *pstMVOP_EX_MIU_SWITCH; 699 700 typedef struct 701 { 702 MVOP_DevID eID; 703 MS_BOOL bEnable; 704 MVOP_DrvMirror eMirrorMode; 705 MVOP_Result eRet; 706 } stMVOP_EX_SET_VOP_MIRROR_MODE, *pstMVOP_EX_SET_VOP_MIRROR_MODE; 707 708 typedef struct 709 { 710 MVOP_DevID eID; 711 MS_BOOL bEnable; 712 MVOP_Result eRet; 713 } stMVOP_EX_ENABLE_FREERUN_MODE, *pstMVOP_EX_ENABLE_FREERUN_MODE; 714 715 typedef struct 716 { 717 MVOP_DevID eID; 718 MVOP_Timing* pMVOPTiming; 719 MVOP_Result eRet; 720 } stMVOP_EX_GET_OUTPUT_TIMING, *pstMVOP_EX_GET_OUTPUT_TIMING; 721 722 typedef struct 723 { 724 MVOP_DevID eID; 725 MS_BOOL* pbEnable; 726 MVOP_Result eRet; 727 } stMVOP_EX_GET_IS_ENABLE, *pstMVOP_EX_GET_IS_ENABLE; 728 729 typedef struct 730 { 731 MVOP_DevID eID; 732 MS_U16 u16Ret; 733 } stMVOP_EX_GET_HSIZE,*pstMVOP_EX_GET_HSIZE; 734 735 typedef struct 736 { 737 MVOP_DevID eID; 738 MS_U16 u16Ret; 739 } stMVOP_EX_GET_VSIZE,*pstMVOP_EX_GET_VSIZE; 740 741 typedef struct 742 { 743 MVOP_DevID eID; 744 MS_U16 u16Ret; 745 } stMVOP_EX_GET_HSTART,*pstMVOP_EX_GET_HSTART; 746 747 typedef struct 748 { 749 MVOP_DevID eID; 750 MS_U16 u16Ret; 751 } stMVOP_EX_GET_VSTART,*pstMVOP_EX_GET_VSTART; 752 753 typedef struct 754 { 755 MVOP_DevID eID; 756 MS_BOOL bRet; 757 } stMVOP_EX_GET_IS_INTERLACE, *pstMVOP_EX_GET_IS_INTERLACE; 758 759 typedef struct 760 { 761 MVOP_DevID eID; 762 MS_BOOL bRet; 763 } stMVOP_EX_GET_IS_HDUPLICATE, *pstMVOP_EX_GET_IS_HDUPLICATE; 764 765 typedef struct 766 { 767 MVOP_DevID eID; 768 MVOP_DrvStatus *pMVOPStat; 769 MS_BOOL bRet; 770 } stMVOP_EX_GET_STATUS, *pstMVOP_EX_GET_STATUS; 771 772 typedef struct 773 { 774 MVOP_DevID eID; 775 MS_U32 u32InParam; 776 MS_BOOL bRet; 777 } stMVOP_EX_CHECK_CAPABILITY,*pstMVOP_EX_CHECK_CAPABILITY; 778 779 typedef struct 780 { 781 MVOP_DevID eID; 782 MVOP_DST_DispInfo *pDstInfo; 783 MS_U32 u32SizeofDstInfo; 784 MS_BOOL bRet; 785 } stMVOP_EX_GET_DST_INFO, *pstMVOP_EX_GET_DST_INFO; 786 787 typedef struct 788 { 789 MS_U16 u16Width; 790 MS_U16 u16Height; 791 MVOP_Result eRet; 792 } stMVOP_SEND_BLUE_SCREEN, *pstMVOP_SEND_BLUE_SCREEN; 793 794 typedef struct 795 { 796 MVOP_Handle* stHd; 797 MVOP_Command eCmd; 798 void* pPara; 799 MVOP_Result eRet; 800 } stMVOP_SET_COMMAND, *pstMVOP_SET_COMMAND; 801 802 typedef struct 803 { 804 MVOP_Handle* stHd; 805 MVOP_Command eCmd; 806 void* pPara; 807 MS_U32 u32ParaSize; 808 MVOP_Result eRet; 809 } stMVOP_GET_COMMAND, *pstMVOP_GET_COMMAND; 810 811 typedef struct 812 { 813 MVOP_FREQUENCY eFreq; 814 } stMVOP_SET_FREQUENCY, *pstMVOP_SET_FREQUENCY; 815 816 typedef struct 817 { 818 MS_U8 eIntType; 819 MS_BOOL bRet; 820 } stMVOP_ENABLE_INTERRUPT, *pstMVOP_ENABLE_INTERRUPT; 821 822 typedef struct 823 { 824 MS_U8 u8Ret; 825 } stMVOP_GET_INT_STATUS, *pstMVOP_GET_INT_STATUS; 826 827 typedef struct 828 { 829 MS_U8 eIntType; 830 MS_BOOL bRet; 831 } stMVOP_SUB_ENABLE_INTERRUPT, *pstMVOP_SUB_ENABLE_INTERRUPT; 832 833 typedef struct 834 { 835 MS_U8 u8Ret; 836 } stMVOP_SUB_GET_INT_STATUS, *pstMVOP_SUB_GET_INT_STATUS; 837 838 typedef struct 839 { 840 MVOP_DevID eID; 841 MS_U8 eIntType; 842 MS_BOOL bRet; 843 } stMVOP_EX_ENABLE_INTERRUPT, *pstMVOP_EX_ENABLE_INTERRUPT; 844 845 typedef struct 846 { 847 MVOP_DevID eID; 848 MS_U8 u8Ret; 849 } stMVOP_EX_GET_INT_STATUS, *pstMVOP_EX_GET_INT_STATUS; 850 851 #if 0 852 typedef struct 853 { 854 EN_POWER_MODE u16PowerState; 855 MS_U32 u32Ret; 856 } stMVOP_SET_POWER_STATE, *pstMVOP_SET_POWER_STATE; 857 #endif 858 859 // OBSOLETE STRUCT **END**, please avoid using these 860 861 void MVOPRegisterToUtopia(FUtopiaOpen ModuleType); 862 MS_U32 MVOPOpen(void** ppInstance, MS_U32 u32ModuleVersion, void* pAttribute); 863 MS_U32 MVOPClose(void* pInstance); 864 MS_U32 MVOPIoctl(void* pInstance, MS_U32 u32Cmd, void* pArgs); 865 866 #ifdef __cplusplus 867 } 868 #endif 869 870 #undef _MVOP_H_ 871 #endif //_mvop_H_ 872