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, //0x0 98 E_MVOP_CMD_EXIT, //0x1 99 E_MVOP_CMD_ENABLE, //0x2 100 E_MVOP_CMD_SET_INPUTCFG, //0x3 101 E_MVOP_CMD_SET_OTPUTCFG, //0x4 102 E_MVOP_CMD_ENABLE_BLACK_BG, //0x5 103 E_MVOP_CMD_ENABLE_UV_SHIFT, //0x6 104 E_MVOP_CMD_SET_MONO_MODE, //0x7 105 106 E_MVOP_CMD_GET_HSIZE, //0x8 107 E_MVOP_CMD_GET_VSIZE, //0x9 108 E_MVOP_CMD_GET_HSTART, //0xA 109 E_MVOP_CMD_GET_VSTART, //0xB 110 E_MVOP_CMD_GET_IS_INTERLACE, //0xC 111 E_MVOP_CMD_GET_IS_HDUPLICATE, //0xD 112 E_MVOP_CMD_GET_IS_ENABLE, //0xE 113 E_MVOP_CMD_GET_OUTPUT_TIMING, //0xF 114 E_MVOP_CMD_GET_LIBVER, //0x10 115 E_MVOP_CMD_CHECK_CAPABILITY, //0x11 116 E_MVOP_CMD_GET_MAX_HOFFSET, //0x12 117 E_MVOP_CMD_GET_MAX_VOFFSET, //0x13 118 119 E_MVOP_CMD_SET_DBG_LEVEL, //0x14 120 E_MVOP_CMD_GET_INFO, //0x15 121 E_MVOP_CMD_GET_STATUS, //0x16 122 E_MVOP_CMD_SET_CLK, //0x17 123 E_MVOP_CMD_SET_PATTERN, //0x18 124 E_MVOP_CMD_SET_TILE_FORMAT, //0x19 125 E_MVOP_CMD_GET_DST_INFO, //0x1A 126 E_MVOP_CMD_SET_FIXVTT, //0x1B 127 E_MVOP_CMD_SET_MMIO_MAPBASE, //0x1C 128 E_MVOP_CMD_MIU_SWITCH, //0x1D 129 E_MVOP_CMD_SET_BASEADD, //0x1E 130 E_MVOP_CMD_SEL_OP_FIELD, //0x1F 131 E_MVOP_CMD_SET_REGSIZE_FROM_MVD, //0x20 132 E_MVOP_CMD_SET_START_POS, //0x21 133 E_MVOP_CMD_SET_IMAGE_WIDTH_HIGHT, //0x22 134 E_MVOP_CMD_SET_VOP_MIRROR_MODE, //0x23 135 E_MVOP_CMD_INV_OP_VS, //0x24 136 E_MVOP_CMD_FORCE_TOP, //0x25 137 E_MVOP_CMD_ENABLE_FREERUN_MODE, //0x26 138 E_MVOP_CMD_GET_BASE_ADD, //0x27 139 140 //Sub MVOP 141 E_MVOP_CMD_SUB_INIT, //0x28 142 E_MVOP_CMD_SUB_EXIT, //0x29 143 E_MVOP_CMD_SUB_ENABLE, //0x2A 144 E_MVOP_CMD_SUB_SET_INPUTCFG, //0x2B 145 E_MVOP_CMD_SUB_SET_OTPUTCFG, //0x2C 146 147 E_MVOP_CMD_SUB_ENABLE_BLACK_BG, //0x2D 148 E_MVOP_CMD_SUB_ENABLE_UV_SHIFT, //0x2E 149 E_MVOP_CMD_SUB_SET_MONO_MODE, //0x2F 150 E_MVOP_CMD_SUB_GET_HSIZE, //0x30 151 E_MVOP_CMD_SUB_GET_VSIZE, //0x31 152 E_MVOP_CMD_SUB_GET_HSTART, //0x32 153 E_MVOP_CMD_SUB_GET_VSTART, //0x33 154 E_MVOP_CMD_SUB_GET_IS_INTERLACE, //0x34 155 E_MVOP_CMD_SUB_GET_IS_HDUPLICATE, //0x35 156 E_MVOP_CMD_SUB_GET_IS_ENABLE, //0x36 157 E_MVOP_CMD_SUB_GET_OUTPUT_TIMING, //0x37 158 E_MVOP_CMD_SUB_CHECK_CAPABILITY, //0x38 159 E_MVOP_CMD_SUB_GET_MAXHOFFSET, //0x39 160 E_MVOP_CMD_SUB_GET_MAXVOFFSET, //0x3A 161 E_MVOP_CMD_SUB_SET_CLK, //0x3B 162 E_MVOP_CMD_SUB_SET_PATTERN, //0x3C 163 E_MVOP_CMD_SUB_SET_TILE_FORMAT, //0x3D 164 E_MVOP_CMD_SUB_GET_DST_INFO, //0x3E 165 E_MVOP_CMD_SUB_SET_FIXVTT, //0x3F 166 E_MVOP_CMD_SUB_SET_MMIO_MAPBASE, //0x40 167 E_MVOP_CMD_SUB_MIU_SWITCH, //0x41 168 E_MVOP_CMD_SUB_SET_BASEADD, //0x42 169 E_MVOP_CMD_SUB_SET_VOP_MIRRORMODE, //0x43 170 E_MVOP_CMD_SUB_ENABLE_FREERUN_MODE, //0x44 171 E_MVOP_CMD_SUB_GET_BASEADD, //0x45 172 173 //Third MVOP 174 E_MVOP_CMD_EX_INIT, //0x46 175 E_MVOP_CMD_EX_EXIT, //0x47 176 E_MVOP_CMD_EX_ENABLE, //0x48 177 E_MVOP_CMD_EX_SET_INPUTCFG, //0x49 178 E_MVOP_CMD_EX_SET_OTPUTCFG, //0x4A 179 180 E_MVOP_CMD_EX_SET_CLK, //0x4B 181 E_MVOP_CMD_EX_SET_PATTERN, //0x4C 182 E_MVOP_CMD_EX_SET_TILEFORMAT, //0x4D 183 E_MVOP_CMD_EX_ENABLE_UV_SHIFT, //0x4E 184 E_MVOP_CMD_EX_ENABLE_BLACK_BG, //0x4F 185 E_MVOP_CMD_EX_SET_MONO_MODE, //0x50 186 E_MVOP_CMD_EX_SET_FIXVTT, //0x51 187 E_MVOP_CMD_EX_MIU_SWITCH, //0x52 188 E_MVOP_CMD_EX_SET_VOP_MIRRORMODE, //0x53 189 E_MVOP_CMD_EX_ENABLE_FREERUN_MODE, //0x54 190 191 E_MVOP_CMD_EX_GET_OUTPUT_TIMING, //0x55 192 E_MVOP_CMD_EX_GET_IS_ENABLE, //0x56 193 E_MVOP_CMD_EX_GET_HSIZE, //0x57 194 E_MVOP_CMD_EX_GET_VSIZE, //0x58 195 E_MVOP_CMD_EX_GET_HSTART, //0x59 196 E_MVOP_CMD_EX_GET_VSTART, //0x5A 197 E_MVOP_CMD_EX_GET_IS_INTERLACE, //0x5B 198 E_MVOP_CMD_EX_GET_IS_HDUPLICATE, //0x5C 199 E_MVOP_CMD_EX_GET_STATUS, //0x5D 200 E_MVOP_CMD_EX_CHECK_CAPABILITY, //0x5E 201 E_MVOP_CMD_EX_GET_DST_INFO, //0x5F 202 203 E_MVOP_CMD_SEND_BLUE_SCREEN, //0x60 204 E_MVOP_CMD_SET_COMMAND, //0x61 205 E_MVOP_CMD_GET_COMMAND, //0x62 206 E_MVOP_CMD_SET_FREQUENCY, //0x63 207 208 E_MVOP_CMD_ENABLE_INTERRUPT, //0x64 209 E_MVOP_CMD_GET_INT_STATUS, //0x65 210 E_MVOP_CMD_SUB_ENABLE_INTERRUPT, //0x66 211 E_MVOP_CMD_SUB_GET_INT_STATUS, //0x67 212 E_MVOP_CMD_EX_ENABLE_INTERRUPT, //0x68 213 E_MVOP_CMD_EX_GET_INT_STATUS, //0x69 214 215 E_MVOP_CMD_SET_POWERSTATE, //0x6A 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 DLL_PACKED 223 { 224 MS_BOOL bEnable; 225 } stMVOP_ENABLE,*pstMVOP_ENABLE; 226 227 typedef struct DLL_PACKED 228 { 229 MVOP_InputSel in; 230 MVOP_InputCfg* pCfg; 231 MVOP_Result eRet; 232 } stMVOP_SET_INPUTCFG,*pstMVOP_SET_INPUTCFG; 233 234 typedef struct DLL_PACKED 235 { 236 MVOP_VidStat *pstVideoStatus; 237 MS_BOOL bEnHDup; 238 MVOP_Result eRet; 239 } stMVOP_SET_OTPUTCFG,*pstMVOP_SET_OTPUTCFG; 240 241 typedef struct DLL_PACKED 242 { 243 MS_BOOL bEnable; 244 } stMVOP_ENABLE_UV_SHIFT,*pstMVOP_ENABLE_UV_SHIFT; 245 246 typedef struct DLL_PACKED 247 { 248 MS_BOOL bEnable; 249 } stMVOP_SET_MONO_MODE,*pstMVOP_SET_MONO_MODE; 250 251 typedef struct DLL_PACKED 252 { 253 MS_U16 u16Ret; 254 } stMVOP_GET_HSIZE,*pstMVOP_GET_HSIZE; 255 256 typedef struct DLL_PACKED 257 { 258 MS_U16 u16Ret; 259 } stMVOP_GET_VSIZE,*pstMVOP_GET_VSIZE; 260 261 typedef struct DLL_PACKED 262 { 263 MS_U16 u16Ret; 264 } stMVOP_GET_HSTART,*pstMVOP_GET_HSTART; 265 266 typedef struct DLL_PACKED 267 { 268 MS_U16 u16Ret; 269 } stMVOP_GET_VSTART,*pstMVOP_GET_VSTART; 270 271 typedef struct DLL_PACKED 272 { 273 MS_BOOL bRet; 274 } stMVOP_GET_IS_INTERLACE, *pstMVOP_GET_IS_INTERLACE; 275 276 typedef struct DLL_PACKED 277 { 278 MS_BOOL bRet; 279 } stMVOP_GET_IS_HDUPLICATE, *pstMVOP_GET_IS_HDUPLICATE; 280 281 typedef struct DLL_PACKED 282 { 283 MS_BOOL* pbEnable; 284 MVOP_Result eRet; 285 } stMVOP_GET_IS_ENABLE, *pstMVOP_GET_IS_ENABLE; 286 287 typedef struct DLL_PACKED 288 { 289 MVOP_Timing* pMVOPTiming; 290 MVOP_Result eRet; 291 } stMVOP_GET_OUTPUT_TIMING, *pstMVOP_GET_OUTPUT_TIMING; 292 293 typedef struct DLL_PACKED 294 { 295 const MSIF_Version **ppVersion; 296 MVOP_Result eRet; 297 } stMVOP_GET_LIBVER,*pstMVOP_GET_LIBVER; 298 299 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 324 { 325 MS_U8 level; 326 } stMVOP_SET_DBG_LEVEL,*pstMVOP_SET_DBG_LEVEL; 327 328 typedef struct DLL_PACKED 329 { 330 const MVOP_DrvInfo* pRet; 331 } stMVOP_GET_INFO, *pstMVOP_GET_INFO; 332 333 typedef struct DLL_PACKED 334 { 335 MVOP_DrvStatus *pMVOPStat; 336 MS_BOOL bRet; 337 } stMVOP_GET_STATUS, *pstMVOP_GET_STATUS; 338 339 typedef struct DLL_PACKED 340 { 341 MS_BOOL bEnable; 342 } stMVOP_SET_CLK, *pstMVOP_SET_CLK; 343 344 typedef struct DLL_PACKED 345 { 346 MVOP_Pattern enMVOPPattern; 347 } stMVOP_SET_PATTERN, *pstMVOP_SET_PATTERN; 348 349 typedef struct DLL_PACKED 350 { 351 MVOP_TileFormat eTileFmt; 352 MS_BOOL bRet; 353 } stMVOP_SET_TILE_FORMAT, *pstMVOP_SET_TILE_FORMAT; 354 355 typedef struct DLL_PACKED 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 DLL_PACKED 363 { 364 MS_U16 u16FixVtt; 365 MS_BOOL bRet; 366 } stMVOP_SET_FIXVTT, *pstMVOP_SET_FIXVTT; 367 368 typedef struct DLL_PACKED 369 { 370 MS_BOOL bRet; 371 } stMVOP_SET_MMIO_MAPBASE, *pstMVOP_SET_MMIO_MAPBASE; 372 373 typedef struct DLL_PACKED 374 { 375 MS_U8 u8Miu; 376 MVOP_Result eRet; 377 } stMVOP_MIU_SWITCH, *pstMVOP_MIU_SWITCH; 378 379 typedef struct DLL_PACKED 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 DLL_PACKED 389 { 390 MS_BOOL bEnable; 391 } stMVOP_SEL_OP_FIELD, *pstMVOP_SEL_OP_FIELD; 392 393 typedef struct DLL_PACKED 394 { 395 MS_BOOL bEnable; 396 } stMVOP_SET_REGSIZE_FROM_MVD, *pstMVOP_SET_REGSIZE_FROM_MVD; 397 398 typedef struct DLL_PACKED 399 { 400 MS_U16 u16Xpos; 401 MS_U16 u16Ypos; 402 } stMVOP_SET_START_POS, *pstMVOP_SET_START_POS; 403 404 typedef struct DLL_PACKED 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 DLL_PACKED 412 { 413 MS_BOOL bEnable; 414 MVOP_DrvMirror eMirrorMode; 415 } stMVOP_SET_VOP_MIRROR_MODE, *pstMVOP_SET_VOP_MIRROR_MODE; 416 417 typedef struct DLL_PACKED 418 { 419 MS_BOOL bEnable; 420 } stMVOP_INV_OP_VS, *pstMVOP_INV_OP_VS; 421 422 typedef struct DLL_PACKED 423 { 424 MS_BOOL bEnable; 425 } stMVOP_FORCE_TOP, *pstMVOP_FORCE_TOP; 426 427 typedef struct DLL_PACKED 428 { 429 MS_BOOL bEnable; 430 MS_BOOL bRet; 431 } stMVOP_ENABLE_FREERUN_MODE, *pstMVOP_ENABLE_FREERUN_MODE; 432 433 typedef struct DLL_PACKED 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 DLL_PACKED 441 { 442 MS_BOOL bEnable; 443 } stMVOP_SUB_ENABLE,*pstMVOP_SUB_ENABLE; 444 445 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 460 { 461 MS_BOOL bEnable; 462 } stMVOP_SUB_ENABLE_UV_SHIFT,*pstMVOP_SUB_ENABLE_UV_SHIFT; 463 464 typedef struct DLL_PACKED 465 { 466 MS_BOOL bEnable; 467 } stMVOP_SUB_SET_MONO_MODE,*pstMVOP_SUB_SET_MONO_MODE; 468 469 typedef struct DLL_PACKED 470 { 471 MVOP_DrvStatus *pMVOPStat; 472 MS_BOOL bRet; 473 } stMVOP_SUB_GET_STATUS, *pstMVOP_SUB_GET_STATUS; 474 475 typedef struct DLL_PACKED 476 { 477 MS_U16 u16Ret; 478 } stMVOP_SUB_GET_HSIZE,*pstMVOP_SUB_GET_HSIZE; 479 480 typedef struct DLL_PACKED 481 { 482 MS_U16 u16Ret; 483 } stMVOP_SUB_GET_VSIZE,*pstMVOP_SUB_GET_VSIZE; 484 485 typedef struct DLL_PACKED 486 { 487 MS_U16 u16Ret; 488 } stMVOP_SUB_GET_HSTART,*pstMVOP_SUB_GET_HSTART; 489 490 typedef struct DLL_PACKED 491 { 492 MS_U16 u16Ret; 493 } stMVOP_SUB_GET_VSTART,*pstMVOP_SUB_GET_VSTART; 494 495 typedef struct DLL_PACKED 496 { 497 MS_BOOL bRet; 498 } stMVOP_SUB_GET_IS_INTERLACE, *pstMVOP_SUB_GET_IS_INTERLACE; 499 500 typedef struct DLL_PACKED 501 { 502 MS_BOOL bRet; 503 } stMVOP_SUB_GET_IS_HDUPLICATE, *pstMVOP_SUB_GET_IS_HDUPLICATE; 504 505 typedef struct DLL_PACKED 506 { 507 MS_BOOL* pbEnable; 508 MVOP_Result eRet; 509 } stMVOP_SUB_GET_IS_ENABLE, *pstMVOP_SUB_GET_IS_ENABLE; 510 511 typedef struct DLL_PACKED 512 { 513 MVOP_Timing* pMVOPTiming; 514 MVOP_Result eRet; 515 } stMVOP_SUB_GET_OUTPUT_TIMING, *pstMVOP_SUB_GET_OUTPUT_TIMING; 516 517 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 542 { 543 MS_BOOL bEnable; 544 } stMVOP_SUB_SET_CLK, *pstMVOP_SUB_SET_CLK; 545 546 typedef struct DLL_PACKED 547 { 548 MVOP_Pattern enMVOPPattern; 549 } stMVOP_SUB_SET_PATTERN, *pstMVOP_SUB_SET_PATTERN; 550 551 typedef struct DLL_PACKED 552 { 553 MVOP_TileFormat eTileFmt; 554 MS_BOOL bRet; 555 } stMVOP_SUB_SET_TILE_FORMAT, *pstMVOP_SUB_SET_TILE_FORMAT; 556 557 typedef struct DLL_PACKED 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 DLL_PACKED 565 { 566 MS_U16 u16FixVtt; 567 MS_BOOL bRet; 568 } stMVOP_SUB_SET_FIXVTT, *pstMVOP_SUB_SET_FIXVTT; 569 570 typedef struct DLL_PACKED 571 { 572 MS_BOOL bRet; 573 } stMVOP_SUB_SET_MMIO_MAPBASE, *pstMVOP_SUB_SET_MMIO_MAPBASE; 574 575 typedef struct DLL_PACKED 576 { 577 MS_U8 u8Miu; 578 MVOP_Result eRet; 579 } stMVOP_SUB_MIU_SWITCH, *pstMVOP_SUB_MIU_SWITCH; 580 581 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 597 { 598 MS_BOOL bEnable; 599 MS_BOOL bRet; 600 } stMVOP_SUB_ENABLE_FREERUN_MODE, *pstMVOP_SUB_ENABLE_FREERUN_MODE; 601 602 typedef struct DLL_PACKED 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 DLL_PACKED 610 { 611 MVOP_DevID eID; 612 MS_U32 u32InitParam; 613 MVOP_Result eRet; 614 } stMVOP_EX_INIT,*pstMVOP_EX_INIT; 615 616 typedef struct DLL_PACKED 617 { 618 MVOP_DevID eID; 619 MS_U32 u32ExitParam; 620 MVOP_Result eRet; 621 } stMVOP_EX_EXIT,*pstMVOP_EX_EXIT; 622 623 typedef struct DLL_PACKED 624 { 625 MVOP_DevID eID; 626 MS_BOOL bEnable; 627 MVOP_Result eRet; 628 } stMVOP_EX_ENABLE,*pstMVOP_EX_ENABLE; 629 630 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 647 { 648 MVOP_DevID eID; 649 MS_BOOL bEnable; 650 } stMVOP_EX_SET_CLK, *pstMVOP_EX_SET_CLK; 651 652 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 674 { 675 MVOP_DevID eID; 676 MVOP_Result eRet; 677 } stMVOP_EX_ENABLE_BLACK_BG,*pstMVOP_EX_ENABLE_BLACK_BG; 678 679 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 730 { 731 MVOP_DevID eID; 732 MS_U16 u16Ret; 733 } stMVOP_EX_GET_HSIZE,*pstMVOP_EX_GET_HSIZE; 734 735 typedef struct DLL_PACKED 736 { 737 MVOP_DevID eID; 738 MS_U16 u16Ret; 739 } stMVOP_EX_GET_VSIZE,*pstMVOP_EX_GET_VSIZE; 740 741 typedef struct DLL_PACKED 742 { 743 MVOP_DevID eID; 744 MS_U16 u16Ret; 745 } stMVOP_EX_GET_HSTART,*pstMVOP_EX_GET_HSTART; 746 747 typedef struct DLL_PACKED 748 { 749 MVOP_DevID eID; 750 MS_U16 u16Ret; 751 } stMVOP_EX_GET_VSTART,*pstMVOP_EX_GET_VSTART; 752 753 typedef struct DLL_PACKED 754 { 755 MVOP_DevID eID; 756 MS_BOOL bRet; 757 } stMVOP_EX_GET_IS_INTERLACE, *pstMVOP_EX_GET_IS_INTERLACE; 758 759 typedef struct DLL_PACKED 760 { 761 MVOP_DevID eID; 762 MS_BOOL bRet; 763 } stMVOP_EX_GET_IS_HDUPLICATE, *pstMVOP_EX_GET_IS_HDUPLICATE; 764 765 typedef struct DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 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 DLL_PACKED 795 { 796 MVOP_Command eCmd; 797 MVOP_Result eRet; 798 MVOP_Handle* stHd; 799 void* pPara; 800 } stMVOP_SET_COMMAND, *pstMVOP_SET_COMMAND; 801 802 typedef struct DLL_PACKED 803 { 804 MVOP_Command eCmd; 805 MS_U32 u32ParaSize; 806 MVOP_Result eRet; 807 MVOP_Handle* stHd; 808 void* pPara; 809 } stMVOP_GET_COMMAND, *pstMVOP_GET_COMMAND; 810 811 typedef struct DLL_PACKED 812 { 813 MVOP_FREQUENCY eFreq; 814 } stMVOP_SET_FREQUENCY, *pstMVOP_SET_FREQUENCY; 815 816 typedef struct DLL_PACKED 817 { 818 MS_U8 eIntType; 819 MS_BOOL bRet; 820 } stMVOP_ENABLE_INTERRUPT, *pstMVOP_ENABLE_INTERRUPT; 821 822 typedef struct DLL_PACKED 823 { 824 MS_U8 u8Ret; 825 } stMVOP_GET_INT_STATUS, *pstMVOP_GET_INT_STATUS; 826 827 typedef struct DLL_PACKED 828 { 829 MS_U8 eIntType; 830 MS_BOOL bRet; 831 } stMVOP_SUB_ENABLE_INTERRUPT, *pstMVOP_SUB_ENABLE_INTERRUPT; 832 833 typedef struct DLL_PACKED 834 { 835 MS_U8 u8Ret; 836 } stMVOP_SUB_GET_INT_STATUS, *pstMVOP_SUB_GET_INT_STATUS; 837 838 typedef struct DLL_PACKED 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 DLL_PACKED 846 { 847 MVOP_DevID eID; 848 MS_U8 u8Ret; 849 } stMVOP_EX_GET_INT_STATUS, *pstMVOP_EX_GET_INT_STATUS; 850 851 #if 1 852 typedef struct DLL_PACKED 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 MS_U32 MVOPStr(MS_U32 u32PowerState, void* pModule); 866 867 #ifdef __cplusplus 868 } 869 #endif 870 871 #undef _MVOP_H_ 872 #endif //_mvop_H_ 873