drv_vip_external.h 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760
  1. #ifndef _DRV_VIP_EXTERNAL_H
  2. #define _DRV_VIP_EXTERNAL_H
  3. #include "drv_types.h"
  4. #include <project.h>
  5. #include <drv_devices.h>
  6. //patch for wrong mechanism design, shift the output window to fit wrong mechanism design size
  7. #define Panel_H_Start_Offset 0
  8. #define Panel_H_End_Offset 0
  9. #define Panel_V_Start_Offset 0
  10. #define Panel_V_End_Offset 0
  11. #ifdef CONFIG_SUPPORT_VIPAP
  12. #define VIPAP_TEST 1 //for code reduced option
  13. #else
  14. #define VIPAP_TEST 0 //for code reduced option
  15. #endif
  16. #define VIP_UFRC3D_ENABLE 0
  17. #ifdef CONFIG_SUPPORT_3D_EN
  18. #define VIP_SCALER_3D
  19. #define VIP_G3D_ENABLE 0
  20. #else
  21. #define VIP_G3D_ENABLE 0
  22. #endif
  23. #define VIP_INIT_VFORMAT 1
  24. #if VIP_INIT_VFORMAT
  25. enum{
  26. Status_OFF,
  27. Status_Ready,
  28. Status_Init,
  29. };
  30. #endif
  31. #define SUPPORT_SATURATION_PROTECT
  32. #define CHIP_ID_330 1
  33. #define CHIP_ID_531 2
  34. #define CHIP_ID_331 3
  35. #define CHIP_ID_533 4
  36. #define CHIP_ID_131 5
  37. #define CHIP_ID_8506 6
  38. #define CHIP_ID_6710 7
  39. #if (CONFIG_CHIPID == 0x330)
  40. #define CHIP_ID_INDEX CHIP_ID_330
  41. #elif (CONFIG_CHIPID == 0x531)
  42. #define CHIP_ID_INDEX CHIP_ID_531
  43. #elif (CONFIG_CHIPID == 0x331)
  44. #define CHIP_ID_INDEX CHIP_ID_331
  45. #elif (CONFIG_CHIPID == 0x533)
  46. #define CHIP_ID_INDEX CHIP_ID_533
  47. #elif (CONFIG_CHIPID == 0x131)
  48. #define CHIP_ID_INDEX CHIP_ID_131
  49. #elif (CONFIG_CHIPID == 0x8506)
  50. #define CHIP_ID_INDEX CHIP_ID_8506
  51. #elif (CONFIG_CHIPID == 0x6710)
  52. #define CHIP_ID_INDEX CHIP_ID_6710
  53. #else
  54. #define CHIP_ID_INDEX CHIP_ID_331
  55. #endif
  56. //input input source define
  57. #define SOURCE_EXTS 0
  58. #define SOURCE_CVD2 1
  59. #define SOURCE_MPEG 2
  60. #define SOURCE_V656 4 //removed from 338
  61. #define SOURCE_HDMI 5
  62. #define SOURCE_JPEG 6
  63. #define SOURCE_PATTERN 7
  64. #define SOURCE_PVR 0x10
  65. #define SOURCE_NON 0xff
  66. #define VIP_IOCTL_GetResource _IOWR(VIP_MAGIC,80,VIP_DisplayResource)
  67. #define VIP_IOCTL_Jpeg_ResetDisplay _IOWR(VIP_MAGIC,81,PARA_VIP_ResetDisplay)
  68. #define VIP_IOCTL_Jpeg_GetZoomRatio _IOWR(VIP_MAGIC,82,PARA_VIP_GetZoomRatio)
  69. #define VIP_IOCTL_Jpeg_PicsDisplay _IOWR(VIP_MAGIC,83,PARA_VIP_PicsDisplay)
  70. #define VIP_IOCTL_Jpeg_SetPostScaleMode _IOWR(VIP_MAGIC,84,PARA_VIP_SetPostScaleMode)
  71. #define VIP_IOCTL_Jpeg_SetPan _IOWR(VIP_MAGIC,85,PARA_VIP_SetPan)
  72. #define VIP_IOCTL_Jpeg_GetPanPixel _IOWR(VIP_MAGIC,86,PARA_VIP_GetPanPixel)
  73. #define VIP_IOCTL_Jpeg_ThumbNailResetDisplay _IOWR(VIP_MAGIC,87,PARA_VIP_ResetDisplay)
  74. #define VIP_IOCTL_Jpeg_SetZoomOutRatio _IOWR(VIP_MAGIC,88,PARA_VIP_SetZoomOutRatio)
  75. #define VIP_IOCTL_Jpeg_SetDataFormat _IOWR(VIP_MAGIC,99,INT8)
  76. #define VIP_IOCTL_Jpeg_SetDisplayMode _IOWR(VIP_MAGIC,120, UINT8)
  77. #define JPEG_MaxPage 6
  78. #define CDEV_VIP_MAJOR VIP_DEV_MAJOR
  79. #define VIP_MAGIC 'k'
  80. #if VIPAP_TEST
  81. #define VIP_IOCTL_CHANGE_SOURCE _IOWR(VIP_MAGIC,0,INT32)
  82. #define VIP_IOCTL_CHANGE_ASPECT _IOWR(VIP_MAGIC,1,INT32)
  83. #define VIP_IOCTL_CHANGE_SIZE _IOWR(VIP_MAGIC,4,UINT32)
  84. #define VIP_IOCTL_PRINT_HW_DATA _IOWR(VIP_MAGIC,5,UINT32)
  85. #define VIP_IOCTL_OSD_TEST _IOWR(VIP_MAGIC,6,UINT32)
  86. #define VIP_IOCTL_ENABLE_VSYNC_INT _IOWR(VIP_MAGIC,7,UINT32)
  87. #define VIP_IOCTL_ENABLE_SYNCDET_INT _IOWR(VIP_MAGIC,8,UINT32)
  88. #define VIP_IOCTL_MISC_TEST _IOWR(VIP_MAGIC,10,UINT32)
  89. #define VIP_IOCTL_3D_SETTING _IOWR(VIP_MAGIC,14,VIP_3D_Info)
  90. #define VIP_IOCTL_UFRC3D_INPUTMODE _IOWR(VIP_MAGIC,17,VIP_UFRC3DMode)
  91. #define VIP_IOCTL_OB_MHEG5_ONOFF _IOWR(VIP_MAGIC,32,UINT8)
  92. #define VIP_IOCTL_CHANGE_DATAFORMAT _IOWR(VIP_MAGIC,12,UINT8)
  93. #define VIP_IOCTL_OUTPUTWIN _IOWR(VIP_MAGIC,11,VIP_SetWin)
  94. #define VIP_IOCTL_INPUT_SIZE _IOWR(VIP_MAGIC,15,VIP_InputSize)
  95. #define VIP_IOCTL_InputFreeze _IO(VIP_MAGIC,91)
  96. #define VIP_IOCTL_Jpeg_ScreenColor _IOWR(VIP_MAGIC,94,PARA_VIP_ScreenColor)
  97. #define VIP_IOCTL_Jpeg_ScreenColor_c6a0 _IOWR(VIP_MAGIC,95,PARA_JPG_ScreenColor)
  98. #define VIP_IOCTL_Jpeg_DpyAndOsdDisable _IOWR(VIP_MAGIC,96,PARA_JPG_ScreenColor)
  99. #define VIP_IOCTL_FlipQ_Display _IOWR(VIP_MAGIC,98,PARA_VIP_Display)
  100. #define VIP_IOCTL_DEBUG_capture _IOWR(VIP_MAGIC,109,VIP_MemoryGetInfo)
  101. #define VIP_IOCTL_DEBUG_capture_pos _IOWR(VIP_MAGIC,110,VIPAP_CAPTURE_POS)
  102. #define VIP_IOCTL_DEBUG_getadi _IOWR(VIP_MAGIC,111,VIPAP_CAPTURE_POS)
  103. #define VIP_IOCTL_DEBUG_FRAMERATE _IO(VIP_MAGIC,100)
  104. #define VIP_IOCTL_DEBUG_QUEUE_REQUEST _IO(VIP_MAGIC,101)
  105. #define VIP_IOCTL_DEBUG_show_info _IO(VIP_MAGIC,105)
  106. #define VIP_IOCTL_DEBUG_read_coeff _IO(VIP_MAGIC,104)
  107. #define VIP_IOCTL_DEBUG_Read_DATA _IOWR(VIP_MAGIC, 118, VIP_Position_Info)
  108. #define VIP_IOCTL_Read_DpyData _IOWR(VIP_MAGIC, 119, VIP_DPY_YUVColor)
  109. #endif
  110. enum
  111. {
  112. ASPECT_FULL,
  113. ASPECT_16X9,
  114. ASPECT_14X9,
  115. ASPECT_4X3,
  116. ASPECT_NATIVE,
  117. ASPECT_NATIVE_ENLARGE,
  118. ASPECT_PANORAMA,
  119. ASPECT_ZOOM1,
  120. ASPECT_ZOOM2,
  121. ASPECT_ZOOM3,
  122. ASPECT_ZOOM4,
  123. ASPECT_ZOOM5,
  124. ASPECT_ZOOM6,
  125. ASPECT_ZOOM7,
  126. ASPECT_ZOOM8,
  127. ASPECT_WIDE,
  128. ASPECT_CINEMA,
  129. ASPECT_AUTO,
  130. ASPECT_DIVX,
  131. ASPECT_20X9,
  132. ASPECT_FULL_NATIVE_ENLARGE,
  133. ASPECT_221X1,
  134. ASPECT_NON=0xff
  135. };
  136. enum
  137. {
  138. AFD_0_Reserved = 0,
  139. AFD_1_Reserved = 1,
  140. AFD_16_9_TOP =2,
  141. AFD_14_9_TOP =3,
  142. AFD_BT_16_9_CENTRE=4,
  143. AFD_AS_CODED_FRAME=8,
  144. AFD_4_3_CENTRE=9,
  145. AFD_16_9_CENTRE=10,
  146. AFD_14_9_CENTRE=11,
  147. AFD_12_Reserved=12,
  148. AFD_4_3_SHOOT_PROTECT_14_9_CENTRE=13,
  149. AFD_16_9_SHOOT_PROTECT_14_9_CENTRE=14,
  150. AFD_16_9_SHOOT_PROTECT_4_3_CENTRE=15
  151. };
  152. typedef enum
  153. {
  154. VIP_WSS_TYPE_625_00 = 0,
  155. VIP_WSS_TYPE_625_01 = 1,
  156. VIP_WSS_TYPE_625_02 = 2,
  157. VIP_WSS_TYPE_625_03 = 3,
  158. VIP_WSS_TYPE_625_04 = 4,
  159. VIP_WSS_TYPE_625_05 = 5,
  160. VIP_WSS_TYPE_625_06 = 6,
  161. VIP_WSS_TYPE_625_07 = 7,
  162. }VIP_WSS_TYPE;
  163. typedef enum
  164. {
  165. VIP_MHEG5_SCENE_AR_16X9,
  166. VIP_MHEG5_SCENE_AR_4X3,
  167. VIP_MHEG5_SCENE_AR_UNSEPCIFIED,
  168. }VIP_MHEG5_SceneAspectRatio;
  169. typedef enum
  170. {
  171. VIP_MHEG5_ALIGNMENT_CENTRE_CUT_OUT,
  172. VIP_MHEG5_ALIGNMENT_LETTERBOX
  173. }VIP_MHEG5_WideAignment;
  174. typedef enum
  175. {
  176. VIP_MHEG5_DECFC_UNKNOWN = 0,
  177. VIP_MHEG5_DECFC_IGNORE = 1,
  178. VIP_MHEG5_DECFC_PANSCAN = 2,
  179. VIP_MHEG5_DECFC_LETTERBOX = 3,
  180. VIP_MHEG5_DECFC_LETTERBOX_14_9 = 4,
  181. VIP_MHEG5_DECFC_PILLAR_BOX = 5,
  182. VIP_MHEG5_DECFC_ZOOM_4_3 = 6,
  183. VIP_MHEG5_DECFC_ZOOM_14_9 = 7,
  184. }VIP_MHEG5_DecFC;
  185. typedef enum {
  186. VIP_ISR_MUTE_MASK,
  187. VIP_ISR_MUTE_ON_USER_DEFINED_COLOR ,
  188. VIP_ISR_AUTOMUTE_ON_BLACK,
  189. VIP_ISR_UNMUTE,
  190. VIP_ISR_MUTE_NOCHANGE,
  191. } VIP_VideoMuteStatus_e;
  192. typedef enum{
  193. ////////////////// KMF INTERFACE START //////////////////////////////////////
  194. VIP_HPOS, // 18
  195. VIP_VPOS,
  196. VIP_ASPECT_RATIO, //24
  197. VIP_SWAP,
  198. VIP_OVERSCAN_ENABLE,
  199. VIP_CLOCK,
  200. VIP_FACTORY,
  201. VIP_RECALL,
  202. VIP_BURN_IN,
  203. VIP_HV_POSITION,
  204. VIP_SRC_ASPECT_RATIO,
  205. VIP_AMPLIFY,
  206. VIP_RGB_RANGE,
  207. VIP_TT_PAT_MODE,
  208. VIP_LOCATION_MODE, //65
  209. VIP_LVDS,
  210. VIP_3D_INPUT_Mode,
  211. VIP_3D_OUTPUT_Mode,
  212. VIP_3D_LR_Exchange,
  213. VIP_2D_TO_3D_StereoParallax, //100
  214. VIP_GRAY_PATTERN,
  215. VIP_ColorBar_PATTERN,
  216. VIP_SINGLE_COLOR_PATTERN,
  217. VIP_SINGLE_COLOR_PATTERN_FROM_DPY,
  218. VIP_SINGLE_STRIPE_PATTERN,
  219. VIP_PANEL_FLIP,
  220. VIP_VDI_BYPASS,
  221. VIP_LVDS_CLOCK,
  222. VIP_OVERSCAN_FORCESET,
  223. VIP_MENU_IS_OPEN,
  224. VIP_CUSTOMER_HVRATIO,
  225. VIP_SET_LVDS_CLK,
  226. VIP_ASP_WINDOW_PERCENT,
  227. VIP_ADI_Y_LIMIT,
  228. //Must add new vip kic interface for KFM before VIP_KMF_CMD_END
  229. VIP_KIC_CMD_END,
  230. ////////////////// KMF INTERFACE END //////////////////////////////////////
  231. }VIP_ADJCMD_t;
  232. typedef enum{
  233. VIP_APP_MUTE_SET,
  234. VIP_MUTE_COLOR_SET,
  235. #ifdef CONFIG_QSD
  236. VIP_MT_MUTE_SET,
  237. #endif
  238. }VIP_MUTECMD_t;
  239. typedef enum{
  240. TVOUT_720x480i,
  241. TVOUT_720x576i,
  242. }VIP_TVOut_Timing_t;
  243. typedef enum {
  244. INPUT_3D_None=0,
  245. #ifdef VIP_SCALER_3D
  246. INPUT_3D_INTERLEAVING,
  247. INPUT_3D_FRAMEPACKING, //split by ADI, DISP_3D_INPUT_FP,
  248. INPUT_3D_SIDE_BY_SIDE, //DISP_3D_INPUT_SBS_H,
  249. INPUT_3D_TOP_AND_BOTTOM, //DISP_3D_INPUT_TB,
  250. INPUT_3D_LINE_ALTERNATIVE, //DISP_3D_INPUT_LA,
  251. INPUT_3D_FRAME_SEQUENTIAL,
  252. INPUT_2Dto3D=0x10, //DISP_3D_INPUT_2D3D,
  253. INPUT_3D_AUTO=0xff,
  254. #endif
  255. }VIP_InputStruct_3D_t;
  256. typedef enum {
  257. OUTPUT_3D_None=0,
  258. #ifdef VIP_SCALER_3D
  259. OUTPUT_3D_H_SUBSAMPLING,
  260. OUTPUT_3D_CHECKERBOARD,
  261. OUTPUT_3D_LINE_BY_LINE, //DISP_3D_OUTPUT_MICRO_RETARDER
  262. OUTPUT_3D_SHUTTER,
  263. OUTPUT_3D_FRAMEPACKING,
  264. OUTPUT_3D_TOP_AND_BOTTOM, // DISP_3D_OUTPUT_TOP_AND_BOTTOM
  265. OUTPUT_3D_SIDE_BY_SIDE, //DISP_3D_OUTPUT_SIDE_BY_SIDE_HALF
  266. #endif
  267. }VIP_OutputStruct_3D_t;
  268. typedef enum {
  269. SCART_SV=0,
  270. SCART_CVBS,
  271. SCART_RGB,
  272. NONE_SCART,
  273. } SCART_MODE_t;
  274. //for screen mode, set by menu option
  275. typedef enum {
  276. AUTO_SCREEN_MODE = 0,
  277. HDMI_SCREEN_MODE,
  278. PC_SCREEN_MODE,
  279. }VIP_HDMI_ScreenMode;
  280. typedef enum
  281. {
  282. MEDIA_PLAYBACK_INIT = 0,
  283. MEDIA_PLAYBACK_STOP,
  284. MEDIA_PLAYBACK_PLAY,
  285. MEDIA_PLAYBACK_PAUSE,
  286. MEDIA_PLAYBACK_FF,
  287. MEDIA_PLAYBACK_FB,
  288. MEDIA_PLAYBACK_SF,
  289. MEDIA_PLAYBACK_SB,
  290. } VIP_MEDIA_Playback_State_t;
  291. typedef struct _VIP_InputInfo {
  292. UINT32 uiHactive; // input horizontal resouluton
  293. UINT32 uiVactive; // input vertical resolution
  294. UINT32 uiVfreq; // V sync frequency
  295. UINT32 uiHfreq; // H sync frequency
  296. UINT32 uiHRes; //EXTS after Centering resolution
  297. UINT32 uiVRes; //EXTS after Centering resolution
  298. UINT8 ucModeType; // PAL / NTSC / SECAM or DVI /HDMI
  299. BOOL bInterlace; // 1=interlaced, 0=progressive
  300. UINT8 ucNotSupport; // 1:Not Support, 0:Support
  301. UINT8 ucColorFormat;
  302. VIP_InputStruct_3D_t uc3DStructure;
  303. UINT8 ucRGBRange;
  304. UINT8 ucHPol;
  305. UINT8 ucVPol;
  306. BOOL bSourceDVIMode;//for menu determine showing HDMI screen mode item
  307. UINT8 bInputScartMode;
  308. UINT32 uiTimingIndex;
  309. UINT8 bCodedFrame;
  310. UINT16 usTimingTableHStart; //For Factory menu used only
  311. UINT16 usTimingTableVStart; //For Factory menu used only
  312. UINT8 bITC;
  313. }VIP_InputInfo,*PVIP_InputInfo;
  314. typedef struct
  315. {
  316. VIP_VideoMuteStatus_e fISRMuteStatus;
  317. VIP_VideoMuteStatus_e fGoingToMuteStatus;
  318. BOOL fTVFEMuteFlag;
  319. BOOL fVIPMuteFlag;
  320. BOOL fAppMuteFlag;
  321. BOOL fVideoResetFlag;
  322. #ifdef CONFIG_QSD
  323. BOOL fMTMuteFlag;
  324. #endif
  325. } VIP_Mute_Flag_st, *PVIP_Mute_Flag_st;
  326. //for overscan table start
  327. #include "plf_timing_id.h"
  328. typedef enum {
  329. ASPECT_INTERNAL_FULL_INPUT_HD,
  330. ASPECT_INTERNAL_FULL_INPUT_SD,
  331. ASPECT_INTERNAL_16X9_INPUT_HD,
  332. ASPECT_INTERNAL_16X9_INPUT_SD,
  333. ASPECT_INTERNAL_4X3_INPUT_HD,
  334. ASPECT_INTERNAL_4X3_INPUT_SD,
  335. ASPECT_INTERNAL_14X9_INPUT_HD,
  336. ASPECT_INTERNAL_14X9_INPUT_SD,
  337. ASPECT_INTERNAL_NATIVE_INPUT_HD,
  338. ASPECT_INTERNAL_NATIVE_INPUT_SD,
  339. ASPECT_INTERNAL_NATIVE_ENLARGE_INPUT_HD,
  340. ASPECT_INTERNAL_NATIVE_ENLARGE_INPUT_SD,
  341. ASPECT_INTERNAL_PANORAMA_INPUT_HD,
  342. ASPECT_INTERNAL_PANORAMA_INPUT_SD,
  343. ASPECT_INTERNAL_ZOOM1_INPUT_HD,
  344. ASPECT_INTERNAL_ZOOM1_INPUT_SD,
  345. ASPECT_INTERNAL_ZOOM2_INPUT_HD,
  346. ASPECT_INTERNAL_ZOOM2_INPUT_SD,
  347. ASPECT_INTERNAL_ZOOM3_INPUT_HD,
  348. ASPECT_INTERNAL_ZOOM3_INPUT_SD,
  349. ASPECT_INTERNAL_ZOOM4_INPUT_HD,
  350. ASPECT_INTERNAL_ZOOM4_INPUT_SD,
  351. ASPECT_INTERNAL_ZOOM5_INPUT_HD,
  352. ASPECT_INTERNAL_ZOOM5_INPUT_SD,
  353. ASPECT_INTERNAL_ZOOM6_INPUT_HD,
  354. ASPECT_INTERNAL_ZOOM6_INPUT_SD,
  355. ASPECT_INTERNAL_ZOOM7_INPUT_HD,
  356. ASPECT_INTERNAL_ZOOM7_INPUT_SD,
  357. ASPECT_INTERNAL_ZOOM8_INPUT_HD,
  358. ASPECT_INTERNAL_ZOOM8_INPUT_SD,
  359. ASPECT_INTERNAL_WIDE_INPUT_HD,
  360. ASPECT_INTERNAL_WIDE_INPUT_SD,
  361. ASPECT_INTERNAL_CINEMA_INPUT_HD,
  362. ASPECT_INTERNAL_CINEMA_INPUT_SD,
  363. VIP_AFD_TYPE_BOX_16_9_TOP_HD, //0010
  364. VIP_AFD_TYPE_BOX_16_9_TOP_SD,
  365. VIP_AFD_TYPE_BOX_14_9_TOP_HD, //0011
  366. VIP_AFD_TYPE_BOX_14_9_TOP_SD,
  367. VIP_AFD_TYPE_BOX_16_9_CENTER_HD, //0100
  368. VIP_AFD_TYPE_BOX_16_9_CENTER_SD,
  369. VIP_AFD_TYPE_AS_CODED_FRAME_HD, //1000
  370. VIP_AFD_TYPE_AS_CODED_FRAME_SD,
  371. VIP_AFD_TYPE_4_3_CENTER_HD, //1001
  372. VIP_AFD_TYPE_4_3_CENTER_SD,
  373. VIP_AFD_TYPE_16_9_CENTER_HD, //1010
  374. VIP_AFD_TYPE_16_9_CENTER_SD,
  375. VIP_AFD_TYPE_14_9_CENTER_HD, //1011
  376. VIP_AFD_TYPE_14_9_CENTER_SD,
  377. VIP_AFD_TYPE_RESERVED_HD, //1100
  378. VIP_AFD_TYPE_RESERVED_SD,
  379. VIP_AFD_TYPE_4_3_SP_14_9_HD, //1101
  380. VIP_AFD_TYPE_4_3_SP_14_9_SD,
  381. VIP_AFD_TYPE_16_9_SP_14_9_HD, //1110
  382. VIP_AFD_TYPE_16_9_SP_14_9_SD,
  383. VIP_AFD_TYPE_16_9_SP_4_3_HD, //1111
  384. VIP_AFD_TYPE_16_9_SP_4_3_SD,
  385. }AspectRatio_Internal_t;
  386. typedef struct _PANEL_WINDOW_ {
  387. UINT32 PanelHorizontalEnd;
  388. UINT32 PanelVerticalEnd;
  389. UINT8 PanelHorizontalSyncStart;
  390. UINT8 PanelHorizontalSyncEnd;
  391. UINT8 PanelVerticalSyncStart;
  392. UINT8 PanelVerticalSyncEnd;
  393. UINT32 PanelVerticalMaxEnd;
  394. UINT32 PanelHorizontalDisplayStart;
  395. UINT32 PanelVerticalDisplayStart;
  396. UINT32 PanelHorizontalDisplayEnd;
  397. UINT32 PanelVerticalDisplayEnd;
  398. }PANEL_WINDOW,*PPANEL_WINDOW;
  399. typedef struct _LVDSPLL_PARAMETER_ {
  400. UINT8 RefDiv;
  401. UINT8 NDiv;
  402. UINT8 TxDiv;
  403. UINT8 FdDiv;
  404. }LVDSPLL_PARAMETER,*PLVDSPLL_PARAMETER;
  405. typedef struct _PANEL_PARAMETER_ {
  406. PANEL_WINDOW PanelWin_60;
  407. LVDSPLL_PARAMETER LvdsParam_60;
  408. PANEL_WINDOW PanelWin_50;
  409. LVDSPLL_PARAMETER LvdsParam_50;
  410. PANEL_WINDOW PanelWin_48;
  411. LVDSPLL_PARAMETER LvdsParam_48;
  412. UINT8 PanelBlueOverScan;
  413. UINT8 PanelGreenOverScan;
  414. UINT8 PanelRedOverScan;
  415. UINT8 Reserve02;
  416. }PANEL_PARAMETER,*PPANEL_PARAMETER;
  417. typedef struct _BRVIP_FLASH_ {
  418. PANEL_PARAMETER PanelParameter;
  419. UINT8 PanelInterface;
  420. UINT8 SingleDual;
  421. UINT8 LvdsSwap;
  422. UINT8 LvdsType;
  423. UINT8 PanelBit;
  424. UINT8 PanelHVSyncEn;
  425. UINT8 PanelHSyncPolarity;
  426. UINT8 PanelVSyncPolarity;
  427. UINT32 Before_MMIOAddress;
  428. UINT32 After_MMIOAddress;
  429. UINT32 LCDBackLight_PWMSrc;
  430. UINT32 LCDBackLight_PWMFrq;
  431. UINT32 LCDBackLight_DutyMin;
  432. UINT32 LCDBackLight_DutyMax;
  433. UINT8 LCDBackLight_Order;
  434. UINT8 LCDBackLight_RefVSync;
  435. UINT32 PanelBackLight_OffdelayTime;
  436. UINT32 PanelBackPower_OffdelayTime;
  437. UINT8 LvdsTxClkSwing;
  438. UINT8 LvdsTxSwing;
  439. UINT8 LvdsTxSwingOffset;
  440. UINT8 LvdsChMappingEvenCh0;
  441. UINT8 LvdsChMappingEvenCh1;
  442. UINT8 LvdsChMappingEvenCh2;
  443. UINT8 LvdsChMappingEvenCh3;
  444. UINT8 LvdsChMappingEvenCh4;
  445. UINT8 LvdsChMappingEvenCh5;
  446. UINT8 LvdsChMappingEvenCh6;
  447. UINT8 LvdsChMappingOddCh0;
  448. UINT8 LvdsChMappingOddCh1;
  449. UINT8 LvdsChMappingOddCh2;
  450. UINT8 LvdsChMappingOddCh3;
  451. UINT8 LvdsChMappingOddCh4;
  452. UINT8 LvdsChMappingOddCh5;
  453. UINT8 LvdsChMappingOddCh6;
  454. UINT8 PanelInvert;
  455. UINT8 BoardLvdsSwap;
  456. UINT8 BoardLvdsPairASwap;
  457. UINT8 BoardLvdsPairBSwap;
  458. UINT8 DynamicBacklightOSDMin;
  459. UINT8 DynamicBacklightOSDMax;
  460. UINT8 DynamicBacklightOSDNormal;
  461. UINT8 BoardLvdsPairAPorality;
  462. UINT8 BoardLvdsPairBPorality;
  463. }BRVIP_FLASH,*PBRVIP_FLASH;
  464. typedef struct
  465. {
  466. UINT16 uiSize;
  467. UINT8 uiName[40];
  468. } BRVIP_HEADER;
  469. typedef struct
  470. {
  471. UINT16 uiVTop; //! Specify how many lines of source can be dropped from top line.
  472. UINT16 uiVBottom; //! Specify how many lines of source can be dropped from bottom line.
  473. UINT16 uiHLeft; //! Specify how many pixels of source can be dropped from left pixel.
  474. UINT16 uiHRight; //! Specify how many pixels of source can be dropped from right pixel.
  475. } Overscan_t;
  476. typedef struct
  477. {
  478. AspectRatio_Internal_t eAspect;
  479. UINT16 uiVTopRatio;
  480. UINT16 uiVBottomRatio;
  481. UINT16 uiHLeftRatio;
  482. UINT16 uiHRightRatio;
  483. }Cust_OverscanTable;
  484. typedef struct
  485. {
  486. AspectRatio_Internal_t eAspect;
  487. UINT16 uiTopCropRatio;
  488. UINT16 uiBottomCropRatio;
  489. UINT16 uiLeftCropRatio;
  490. UINT16 uiRightCropRatio;
  491. UINT16 uiOutWidthRatio;
  492. UINT16 uiOutHeightRatio;
  493. }Cust_AspectRatioTable;
  494. typedef struct
  495. {
  496. PLF_VideoID_t eTimingID;
  497. Overscan_t AR_FULL;
  498. Overscan_t AR_16x9;
  499. Overscan_t AR_4x3;
  500. Overscan_t AR_14x9;
  501. Overscan_t AR_NATIVE;
  502. Overscan_t AR_DIRECT;
  503. Overscan_t AR_PANORAMA;
  504. Overscan_t AR_ZOOM1;
  505. Overscan_t AR_ZOOM2;
  506. Overscan_t AR_ZOOM3;
  507. Overscan_t AR_ZOOM4;
  508. Overscan_t AR_ZOOM5;
  509. Overscan_t AR_ZOOM6;
  510. Overscan_t AR_ZOOM7;
  511. Overscan_t AR_ZOOM8;
  512. Overscan_t AR_CINEMA;
  513. Overscan_t AR_WIDE;
  514. void *customer_data;
  515. }Cust_OverscanFineTuneTable;
  516. typedef struct {
  517. PLF_VideoID_t eVideoID;
  518. UINT16 wHActive;
  519. UINT16 wVActive; //one field
  520. UINT8 wVFreq;
  521. INT8 fInterlace;
  522. }MPEG_TIMING_PARAM_t;
  523. typedef struct
  524. {
  525. UINT8 bActiveInfo;
  526. UINT16 uiVTop; //! Specify how many percentage of source can be dropped from top line.
  527. UINT16 uiVBottom; //! Specify how many percentage of source can be dropped from bottom line.
  528. UINT16 uiHLeft; //! Specify how many percentage of source can be dropped from left pixel.
  529. UINT16 uiHRight; //! Specify how many percentage of source can be dropped from right pixel.
  530. UINT8 ucAspectRatio;
  531. }Cust_AcativeRegionTable;
  532. typedef enum
  533. {
  534. VIP_AFD_TYPE_BOX_16_9_TOP = 2, //0010
  535. VIP_AFD_TYPE_BOX_14_9_TOP = 3, //0011
  536. VIP_AFD_TYPE_BOX_16_9_CENTER = 4, //0100
  537. VIP_AFD_TYPE_AS_CODED_FRAME = 8, //1000
  538. VIP_AFD_TYPE_4_3_CENTER = 9, //1001
  539. VIP_AFD_TYPE_16_9_CENTER = 10, //1010
  540. VIP_AFD_TYPE_14_9_CENTER = 11, //1011
  541. VIP_AFD_TYPE_RESERVED = 12, //1100
  542. VIP_AFD_TYPE_4_3_SP_14_9 = 13, //1101
  543. VIP_AFD_TYPE_16_9_SP_14_9 = 14, //1110
  544. VIP_AFD_TYPE_16_9_SP_4_3 = 15, //1111
  545. }VIP_AFD_TYPE;
  546. //for overscan table end
  547. typedef struct _VIP_DisplayResource {
  548. UINT32 uiPanelMaxHres;
  549. UINT32 uiPanelMaxVres;
  550. UINT32 uiPanelMaxLineOffsetBytes;
  551. UINT32 uiVIPBaseAddress;
  552. UINT32 uiVIPMemSize;
  553. UINT32 uiOSDWindowsWidth;
  554. UINT32 uiOSDWindowsHigh;
  555. UINT32 uiOSDWindowsType;
  556. UINT32 uiJpegDecodeAddress;
  557. UINT32 uiBaseAddrPage[JPEG_MaxPage];
  558. UINT16 uiHStartOffset;
  559. UINT16 uiHEndOffset;
  560. UINT16 uiVStartOffset;
  561. UINT16 uiVEndOffset;
  562. }VIP_DisplayResource,*PVIP_DisplayResource;
  563. typedef struct _VIP_ResetDisplay {
  564. UINT32 uiAddr;
  565. INT8 cValue;
  566. UINT32 uiWidth;
  567. UINT32 uiHigh;
  568. }PARA_VIP_ResetDisplay;
  569. typedef struct _VIP_GetZoomRatio {
  570. UINT32 uiZoomRatio;
  571. }PARA_VIP_GetZoomRatio;
  572. typedef struct _VIP_PicsDisplay {
  573. UINT32 uiAddr;
  574. INT8 cShow;
  575. INT8 cMode;
  576. UINT32 uiHAddrValid;
  577. UINT32 uiVAddrValid;
  578. UINT32 uiWidth;
  579. UINT32 uiHigh;
  580. UINT32 uiLineOffset;
  581. UINT32 uiDisplaymode;
  582. UINT32 uiJpegOriginWidth;
  583. UINT32 uiJpegOriginHeight;
  584. }PARA_VIP_PicsDisplay;
  585. typedef struct _VIP_SetPostScaleMode {
  586. INT8 cZoomRatio;
  587. }PARA_VIP_SetPostScaleMode;
  588. typedef struct _VIP_SetZoomOutRatio {
  589. INT8 cZoomOutRatio;
  590. }PARA_VIP_SetZoomOutRatio;
  591. typedef struct _VIP_SetPan {
  592. INT8 cMode;
  593. UINT32 uiMovePixel;
  594. }PARA_VIP_SetPan;
  595. typedef struct _VIP_GetPanPixel {
  596. UINT32 uiUp;
  597. UINT32 uiDown;
  598. UINT32 uiLeft;
  599. UINT32 uiRight;
  600. }PARA_VIP_GetPanPixel, *PPARA_VIP_GetPanPixel;;
  601. typedef struct _Vip_ZoomWindow
  602. {
  603. BOOL bSrc;
  604. BOOL enable;
  605. UINT16 ulHStart;
  606. UINT16 ulHSize;
  607. UINT16 ulVStart;
  608. UINT16 ulVSize;
  609. } Vip_ZoomWindow;
  610. #if VIPAP_TEST
  611. typedef struct _VIPAP_CAPTURE_POS {
  612. INT32 h_start;
  613. INT32 v_start;
  614. INT32 h_end;
  615. INT32 v_end;
  616. }VIPAP_CAPTURE_POS;
  617. typedef struct _PARA_VIP_ScreenColor {
  618. UINT32 uiR;
  619. UINT32 uiG;
  620. UINT32 uiB;
  621. }PARA_VIP_ScreenColor;
  622. typedef struct _VIP_DPY_YUVColor {
  623. UINT32 PosX;
  624. UINT32 PosY;
  625. UINT32 uiY;
  626. UINT32 uiU;
  627. UINT32 uiV;
  628. }VIP_DPY_YUVColor;
  629. typedef struct _PARA_JPG_ScreenColor {
  630. INT8 ucEnable;
  631. UINT8 bRGBColorBase;
  632. UINT8 uiR;
  633. UINT8 uiG;
  634. UINT8 uiB;
  635. }PARA_JPG_ScreenColor;
  636. typedef struct _VIP_InputSize {
  637. unsigned int uiWidth;
  638. unsigned int uiHeight;
  639. char cInterlace;
  640. }VIP_InputSize,*PVIP_InputSize;
  641. typedef struct _VIP_SetWin
  642. {
  643. UINT32 ulVideoHStart,ulVideoHSize;
  644. UINT32 ulVideoVStart,ulVideoVSize;
  645. UINT32 ulInputWidth,ulInputHeight;
  646. }VIP_SetWin,*PVIP_SetWin;
  647. typedef struct _VIP_MemoryGetInfo
  648. {
  649. UINT32 Y_StartAddr, UV_StartAddr;
  650. UINT32 Y_Size, UV_size;
  651. UINT32 CatchNun;
  652. UINT8 Stage;
  653. UINT8 ucFrameNum;
  654. UINT32 JpegLineOffset;
  655. }VIP_MemoryGetInfo,*PVIP_MemoryGetInfo;
  656. typedef struct _VIP_Display {
  657. UINT32 uiAddr;
  658. INT8 cFrameNum; //0~4
  659. INT8 cDataFormat; //2:ARGB888 3:RGB565
  660. //INT8 cShow;
  661. INT8 cMode;
  662. UINT32 uiWidth;
  663. UINT32 uiHeight;
  664. UINT32 uiLineOffset;
  665. }PARA_VIP_Display;
  666. typedef struct _VIP_3D_Info {
  667. UINT8 ucInput3dType;
  668. UINT8 ucOutput3dType;
  669. UINT8 ulFPackingVStart;
  670. UINT8 ucVActiveSpace;
  671. UINT8 ucBypass3d;
  672. }VIP_3D_Info;
  673. typedef struct _VIP_Position {
  674. UINT32 row;
  675. UINT32 col;
  676. }VIP_Position_Info;
  677. typedef struct _VIP_UFRC3DMode{
  678. UINT8 uc3DMode;
  679. UINT8 ucOnlyControl169;
  680. }VIP_UFRC3DMode;
  681. #endif //end #if VIPAP_TEST
  682. #endif