| 1 | /****************************************************************************** |
|---|
| 2 | *_Copyright (c) 2009 Digital Stream Technology Inc. All Rights Reserved. |
|---|
| 3 | * |
|---|
| 4 | * Module: dsthaldisp.h |
|---|
| 5 | * |
|---|
| 6 | * Description |
|---|
| 7 | * Display / Video output interface functions |
|---|
| 8 | * |
|---|
| 9 | * @author |
|---|
| 10 | * @version $Revision: 1.1 $ |
|---|
| 11 | * |
|---|
| 12 | ******************************************************************************/ |
|---|
| 13 | |
|---|
| 14 | #if !defined (_DSTHAL_DISP_H_) |
|---|
| 15 | #define _DSTHAL_DISP_H_ |
|---|
| 16 | |
|---|
| 17 | #include "dsthallocal.h" |
|---|
| 18 | #include "dstoslayer.h" |
|---|
| 19 | |
|---|
| 20 | /****************************************************************************** |
|---|
| 21 | * DHL VIDEO Output Format |
|---|
| 22 | ******************************************************************************/ |
|---|
| 23 | typedef enum |
|---|
| 24 | { |
|---|
| 25 | DHL_VIDEO_480i, /*720x480 interlaced */ |
|---|
| 26 | DHL_VIDEO_480p, /*720x480 progressive */ |
|---|
| 27 | DHL_VIDEO_540p, /*960X540*/ |
|---|
| 28 | DHL_VIDEO_720p, /*1280x720 progressive */ |
|---|
| 29 | DHL_VIDEO_1080i, /*1920x1080 interlaced */ |
|---|
| 30 | DHL_VIDEO_1080p, /*1920x1080 progressive */ |
|---|
| 31 | DHL_VIDEO_VGA, /*640x480 progressive */ |
|---|
| 32 | DHL_VIDEO_NTSC_M, /*NTSC w/ 7.5 IRE */ |
|---|
| 33 | DHL_VIDEO_WXGA, /*1366x768 progressive */ |
|---|
| 34 | |
|---|
| 35 | DHL_VIDEO_START = DHL_VIDEO_480i, |
|---|
| 36 | DHL_VIDEO_END=DHL_VIDEO_NTSC_M |
|---|
| 37 | } DHL_VIDEO_FORMAT; |
|---|
| 38 | |
|---|
| 39 | /****************************************************************************** |
|---|
| 40 | * DHL DISPLAY Output Port |
|---|
| 41 | ******************************************************************************/ |
|---|
| 42 | typedef enum |
|---|
| 43 | { |
|---|
| 44 | DHL_DISP_OUTPUT_UNKNOWN, |
|---|
| 45 | DHL_DISP_OUTPUT_PS2, /* PS/2 ("VGA") */ |
|---|
| 46 | DHL_DISP_OUTPUT_DVI, /* DVI */ |
|---|
| 47 | DHL_DISP_OUTPUT_656, /* ITU-R BT.656, 8-bit output */ |
|---|
| 48 | DHL_DISP_OUTPUT_YPRPB, /* YPrPb (HDTV), tri-sync */ |
|---|
| 49 | DHL_DISP_OUTPUT_COMPOSITE, /* SDTV composite */ |
|---|
| 50 | DHL_DISP_OUTPUT_SVIDEO, /* SDTV S-Video */ |
|---|
| 51 | DHL_DISP_OUTPUT_YPRPB_YSYNC, /* YPrPb (HDTV), sync on Y only */ |
|---|
| 52 | DHL_DISP_OUTPUT_RGB, /* RGB component, tri-sync */ |
|---|
| 53 | DHL_DISP_OUTPUT_RGB_GSYNC, /* RGB component, sync on green */ |
|---|
| 54 | DHL_DISP_OUTPUT_PS2_YPRPB, /* PS/2 ("VGA") YPrPb output */ |
|---|
| 55 | DHL_DISP_OUTPUT_LVDS |
|---|
| 56 | } DHL_DISP_OUTPUT; |
|---|
| 57 | |
|---|
| 58 | /****************************************************************************** |
|---|
| 59 | * DHL Display Aspect Ratio |
|---|
| 60 | ******************************************************************************/ |
|---|
| 61 | typedef enum |
|---|
| 62 | { |
|---|
| 63 | DHL_DISP_ASPECT_1_1, /* Display aspect ratio is 1:1 */ |
|---|
| 64 | DHL_DISP_ASPECT_16_9, /* Display aspect ratio is 16:9 */ |
|---|
| 65 | DHL_DISP_ASPECT_4_3, /* Display aspect ratio is 4:3 */ |
|---|
| 66 | DHL_DISP_ASPECT_4_3_FULL, |
|---|
| 67 | DHL_DISP_ASPECT_ZOOM1, /* Display aspect ratio is ZOOM1 (13%) */ |
|---|
| 68 | DHL_DISP_ASPECT_ZOOM2, /* Display aspect ratio is ZOOM1 (13%) */ |
|---|
| 69 | DHL_DISP_ASPECT_ZOOM3, /* Display aspect ratio is ZOOM3 (1.85 : 1 Crop) */ |
|---|
| 70 | DHL_DISP_ASPECT_ZOOM4, /* Display aspect ratio is ZOOM4 (2.35 : 1 Crop) */ |
|---|
| 71 | DHL_DISP_ASPECT_PANO, /* 4:3 Panorama */ |
|---|
| 72 | DHL_DISP_ASPECT_PANO2, /* 16:9 Panorama */ |
|---|
| 73 | DHL_DISP_EPG, |
|---|
| 74 | |
|---|
| 75 | DHL_DISP_ASPECT_ORIGIN, |
|---|
| 76 | DHL_DISP_ASPECT_16_9_BOX_TOP, |
|---|
| 77 | DHL_DISP_ASPECT_14_9_BOX_TOP, |
|---|
| 78 | DHL_DISP_ASPECT_16_9_AFD_CENTRE, |
|---|
| 79 | DHL_DISP_ASPECT_14_9_CENTRE, |
|---|
| 80 | |
|---|
| 81 | DHL_DISP_ASPECT_169_43_16x9 = 16, // 16:9 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 16:9 ¸ðµå (À§¾Æ·¡ ÀÚ¸§ : AFD 4,10,14,15) |
|---|
| 82 | DHL_DISP_ASPECT_169_43_4x3, // (*)16:9 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 4:3 ¸ðµå (ÁÂ¿ì ¿©¹é : AFD 8,9) |
|---|
| 83 | DHL_DISP_ASPECT_169_43_14x9, // 16:9 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 14:9 ¸ðµå (AFD 11,13) |
|---|
| 84 | DHL_DISP_ASPECT_169_43_16x9_2, // 16:9 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 16:9 ¸ðµå (4:3 ȸéÀ» 16:9 ȸ鿡 ²Ëä¿ò) ? AFD¿¡ Á¤ÀÇ ¾ÈµÈ ¸ðµå |
|---|
| 85 | |
|---|
| 86 | DHL_DISP_ASPECT_169_169_16x9 = 20, // (*)16:9 ÆÐ³Î 16:9 ¼Ò½ºÀÇ 16:9 ¸ðµå (¿øº» : AFD 4,8,9,10,11,14,15) |
|---|
| 87 | DHL_DISP_ASPECT_169_169_4x3, // 16:9 ÆÐ³Î 16:9 ¼Ò½ºÀÇ 4:3 ¸ðµå (Á¿쿡 ¿©¹é) - AFD¿¡ Á¤ÀÇ ¾ÈµÈ ¸ðµå |
|---|
| 88 | DHL_DISP_ASPECT_169_169_14x9, // 16:9 ÆÐ³Î 16:9 ¼Ò½ºÀÇ 14:9 ¸ðµå (AFD 13) |
|---|
| 89 | DHL_DISP_ASPECT_169_169_ZOOM2, // 16:9 ÆÐ³Î 16:9 ¼Ò½ºÀÇ »óÇÏÁ¿ì 12.5$ ¸ðµå ~ AFD¿¡ Á¤ÀÇ ¾ÈµÈ ¸ðµå |
|---|
| 90 | |
|---|
| 91 | DHL_DISP_ASPECT_43_43_16x9 = 24, // 4:3 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 16:9 ¸ðµå (À§¾Æ·¡ ¹Ù³ÖÀ½) - AFD¿¡ Á¤ÀÇ ¾È µÈ ¸ðµå |
|---|
| 92 | DHL_DISP_ASPECT_43_43_4x3, // (*)4:3 ÆÐ³Î 4:3 ¼Ò½ºÀÇ 4:3 ¸ðµå (¿øº» : AFD 4,8,9,10,11,13) |
|---|
| 93 | DHL_DISP_ASPECT_43_43_ZOOM1, // 4:3 ÆÐ³Î 4:3 ¼Ò½ºÀÇ Zoom1 ¸ðµå (µ¿±×¶ó¹Ì Çϳª » : AFD 14) |
|---|
| 94 | DHL_DISP_ASPECT_43_43_ZOOM2, // 4:3 ÆÐ³Î 4:3 ¼Ò½ºÀÇ Zoom2 ¸ðµå (µ¿±×¶ó¹Ì µÑ » : AFD 15) |
|---|
| 95 | |
|---|
| 96 | DHL_DISP_ASPECT_43_169_16x9 = 28, // (*)4:3 ÆÐ³Î 16:9 ¼Ò½ºÀÇ 16:9 ¸ðµå (À§¾Æ·¡ ¹Ù³ÖÀ½ : AFD 4,8,10) |
|---|
| 97 | DHL_DISP_ASPECT_43_169_4x3, // 4:3 ÆÐ³Î 16:9 ¼Ò½ºÀÇ 4:3 ¸ðµå (µ¿±×¶ó¹Ì µÎ°³ Àß¶ó³¿ : AFD 9,13,15) |
|---|
| 98 | DHL_DISP_ASPECT_43_169_ZOOM1 // 4:3 ÆÐ³Î 16:9 ¼Ò½ºÀÇ ZOOM1 ¸ðµå (µ¿±×¶ó¹Ì ÇѰ³ Àß¶ó³¿ : AFD 11,14) |
|---|
| 99 | |
|---|
| 100 | } DHL_DISP_ASPECTRATIO; |
|---|
| 101 | |
|---|
| 102 | /****************************************************************************** |
|---|
| 103 | * DHL DISPLAY Configuration |
|---|
| 104 | ******************************************************************************/ |
|---|
| 105 | typedef struct tag_DHL_DISP_CONFIG |
|---|
| 106 | { |
|---|
| 107 | DHL_DISP_ASPECTRATIO AspectRatio; //display aspect ration |
|---|
| 108 | DHL_VIDEO_FORMAT VidOutFormat; //video output format |
|---|
| 109 | DHL_DISP_OUTPUT VideoOutput; //video output |
|---|
| 110 | |
|---|
| 111 | DS_BOOL bVideoMute[2]; |
|---|
| 112 | DS_BOOL bVideoMuteCVBS; |
|---|
| 113 | |
|---|
| 114 | DS_U16 PanelId; |
|---|
| 115 | DS_U8 bPanelInit; |
|---|
| 116 | DS_U16 bDimm; |
|---|
| 117 | |
|---|
| 118 | } DHL_DISP_CONFIG, *P_DHL_DISP_CONFIG; |
|---|
| 119 | |
|---|
| 120 | typedef enum |
|---|
| 121 | { |
|---|
| 122 | DHL_DISP_SRC_ASPECT_NO_DATA, |
|---|
| 123 | DHL_DISP_SRC_ASPECT_SQUARE, |
|---|
| 124 | DHL_DISP_SRC_ASPECT_4_3, |
|---|
| 125 | DHL_DISP_SRC_ASPECT_16_9, |
|---|
| 126 | DHL_DISP_SRC_ASPECT_UNKNOWN, |
|---|
| 127 | } DHL_DISP_SRCASPECTRATIO; |
|---|
| 128 | |
|---|
| 129 | #if defined __cplusplus |
|---|
| 130 | extern "C" { |
|---|
| 131 | #endif |
|---|
| 132 | |
|---|
| 133 | /****************************************************************************** |
|---|
| 134 | * DHL DISPLAY Common APIs |
|---|
| 135 | ******************************************************************************/ |
|---|
| 136 | DHL_RESULT DHL_DISP_Init(void); |
|---|
| 137 | DHL_RESULT DHL_DISP_PresetDispConfig( DHL_DISP_ASPECTRATIO AspectRatio, |
|---|
| 138 | DHL_DISP_OUTPUT DispOutPort, DHL_VIDEO_FORMAT DispFmt ); |
|---|
| 139 | void DHL_DISP_PresetVideoOutputFormat(DHL_VIDEO_FORMAT vidFmt); |
|---|
| 140 | DHL_RESULT DHL_DISP_ChangeDispOutput(DHL_DISP_OUTPUT UserDispOut); |
|---|
| 141 | DHL_RESULT DHL_DISP_ChangeVideoOutputFormat(DHL_VIDEO_FORMAT UserVidFormat); |
|---|
| 142 | DHL_VIDEO_FORMAT DHL_DISP_GetVideoOutputFormat(void); |
|---|
| 143 | DHL_RESULT DHL_DISP_ChangeDispAspect(DHL_DISP_ASPECTRATIO UserAspectRatio); |
|---|
| 144 | DHL_DISP_ASPECTRATIO DHL_DISP_GetDispAspect(void); |
|---|
| 145 | |
|---|
| 146 | /****************************************************************************** |
|---|
| 147 | * DHL DISPLAY Video-Mute APIs |
|---|
| 148 | ******************************************************************************/ |
|---|
| 149 | void DHL_DISP_SetVideoMuteColor(DS_U8 Red, DS_U8 Green, DS_U8 Blue); |
|---|
| 150 | DHL_RESULT DHL_DISP_MuteMain(DS_BOOL uMute); |
|---|
| 151 | DHL_RESULT DHL_DISP_MutePIP(DS_BOOL uMute); |
|---|
| 152 | DHL_RESULT DHL_DISP_MuteCVBS(DS_BOOL uMute); |
|---|
| 153 | DS_BOOL DHL_DISP_IsVideoMuted(void); |
|---|
| 154 | DS_BOOL DHL_DISP_IsVideoMutedPIP(void); |
|---|
| 155 | |
|---|
| 156 | /****************************************************************************** |
|---|
| 157 | * DHL DISPLAY Panel/LVDS output APIs |
|---|
| 158 | ******************************************************************************/ |
|---|
| 159 | DHL_RESULT DHL_DISP_SetLCDBacklight(DS_U16 uiDeg); |
|---|
| 160 | DHL_RESULT DHL_DISP_SetPanelPower( DS_BOOL OnOff ); |
|---|
| 161 | DHL_RESULT DHL_DISP_GetPanelPowerStatus(void); |
|---|
| 162 | DHL_RESULT DHL_DISP_GetBacklightOnOffStatus(void); |
|---|
| 163 | DHL_RESULT DHL_DISP_GetDimmingDelay( DS_BOOL onoff, DS_S32 *Delay, DS_S32 *Delay2); |
|---|
| 164 | DHL_RESULT DHL_DISP_PresetPanel(DS_U16 PanelData); |
|---|
| 165 | void DHL_DISP_SetLVDSClockFreq(int Offset); |
|---|
| 166 | void DHL_DISP_SetLVDSClockPhase(int Offset); |
|---|
| 167 | int DHL_DISP_GetLVDSClockFreq(void); |
|---|
| 168 | int DHL_DISP_GetLVDSClockPhase(void); |
|---|
| 169 | |
|---|
| 170 | /****************************************************************************** |
|---|
| 171 | * DHL DISPLAY Side Color APIs |
|---|
| 172 | ******************************************************************************/ |
|---|
| 173 | DHL_RESULT DHL_DISP_SetSideColorEnable(int En); |
|---|
| 174 | DHL_RESULT DHL_DISP_GetSideColorEnable(int *pEn); |
|---|
| 175 | DHL_RESULT DHL_DISP_SetSideColor(DS_U8 R, DS_U8 G, DS_U8 B); |
|---|
| 176 | DHL_RESULT DHL_DISP_GetSideColor(DS_U8 *pR, DS_U8 *pG, DS_U8 *pB); |
|---|
| 177 | |
|---|
| 178 | /****************************************************************************** |
|---|
| 179 | * DHL CVBS Output CC Embedding APIs |
|---|
| 180 | ******************************************************************************/ |
|---|
| 181 | DHL_RESULT DHL_DISP_EmbedCC(DS_U16 *pBuffer, DS_U32 uCount); |
|---|
| 182 | DHL_RESULT DHL_DISP_EmbedXDS(DS_U16 *pBuffer, DS_U32 uCount); |
|---|
| 183 | |
|---|
| 184 | #if defined __cplusplus |
|---|
| 185 | } |
|---|
| 186 | #endif |
|---|
| 187 | |
|---|
| 188 | #endif /* _DSTHAL_DISP_H_ */ |
|---|