| [2] | 1 | /**************************************************************************** |
|---|
| 2 | *_Copyright (c) 2004 DST Technologies Inc. All Rights Reserved. |
|---|
| 3 | * |
|---|
| 4 | * Module: dsthhalcap.h |
|---|
| 5 | * |
|---|
| 6 | * Description: DST HAL AUDIO/VIDEO Capture Interface function definition |
|---|
| 7 | * |
|---|
| 8 | * |
|---|
| 9 | * |
|---|
| 10 | * notes: JFET0615 |
|---|
| 11 | * |
|---|
| 12 | ***************************************************************************/ |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | #if !defined (_DSTHAL_CAP_H_) |
|---|
| 16 | #define _DSTHAL_CAP_H_ |
|---|
| 17 | |
|---|
| 18 | #include "dsthallocal.h" |
|---|
| 19 | #include "dsthaldisp.h" |
|---|
| 20 | |
|---|
| 21 | typedef enum |
|---|
| 22 | { |
|---|
| 23 | DHL_CAP_SRC_ASPECT_NO_DATA, |
|---|
| 24 | DHL_CAP_SRC_ASPECT_SQUARE, |
|---|
| 25 | DHL_CAP_SRC_ASPECT_4_3, |
|---|
| 26 | DHL_CAP_SRC_ASPECT_16_9, |
|---|
| 27 | DHL_CAP_SRC_ASPECT_UNKNOWN, |
|---|
| 28 | } DHL_CAP_SRCASPECTRATIO; |
|---|
| 29 | |
|---|
| 30 | typedef enum |
|---|
| 31 | { |
|---|
| 32 | DHL_PIPMODE_NONE, |
|---|
| 33 | DHL_PIPMODE_PIPSMALL, |
|---|
| 34 | DHL_PIPMODE_PIPSMALL_NO_CROP, |
|---|
| 35 | DHL_PIPMODE_PIPLARGE, |
|---|
| 36 | DHL_PIPMODE_PIPLARGE_NO_CROP, |
|---|
| 37 | DHL_PIPMODE_DW_NORMAL, |
|---|
| 38 | DHL_PIPMODE_DW_NORMAL_NO_CROP, |
|---|
| 39 | DHL_PIPMODE_DW_FULL, |
|---|
| 40 | DHL_PIPMODE_DW_FULL_NO_CROP |
|---|
| 41 | } DHL_PIPMode_t; |
|---|
| 42 | |
|---|
| 43 | typedef enum |
|---|
| 44 | { |
|---|
| 45 | // |
|---|
| 46 | // PIP Definitions |
|---|
| 47 | // |
|---|
| 48 | DHL_PIP_NO_PIP = 0, |
|---|
| 49 | DHL_PIP_TOP_LEFT, |
|---|
| 50 | DHL_PIP_TOP_RIGHT, |
|---|
| 51 | DHL_PIP_BTM_RIGHT, |
|---|
| 52 | DHL_PIP_BTM_LEFT, |
|---|
| 53 | |
|---|
| 54 | // |
|---|
| 55 | // POP Definitions |
|---|
| 56 | // |
|---|
| 57 | DHL_POP_NO_POP = 0, |
|---|
| 58 | DHL_POP_MAIN_LEFT = 1, |
|---|
| 59 | DHL_POP_MAIN_RIGHT = 2, |
|---|
| 60 | DHL_POP_SUB_LEFT = 3, //DHL_POP_MAIN_RIGHT |
|---|
| 61 | DHL_POP_SUB_RIGHT = 4, //DHL_POP_MAIN_LEFT |
|---|
| 62 | |
|---|
| 63 | DHL_PIP_TOP_CENTER, |
|---|
| 64 | DHL_PIP_MID_LEFT, |
|---|
| 65 | DHL_PIP_MID_CENTER, |
|---|
| 66 | DHL_PIP_MID_RIGHT, |
|---|
| 67 | DHL_PIP_BTM_CENTER, |
|---|
| 68 | } DHL_PIP_t; |
|---|
| 69 | |
|---|
| 70 | |
|---|
| 71 | typedef enum { |
|---|
| 72 | DHL_FOCUS_MAIN=0, |
|---|
| 73 | DHL_FOCUS_SUB=1 |
|---|
| 74 | }DHL_FOCUS_t; |
|---|
| 75 | |
|---|
| 76 | /*Debug level Type*/ |
|---|
| 77 | typedef enum { |
|---|
| 78 | DHL_CAPDBG_DHLCAP, //DHL_SYS |
|---|
| 79 | DHL_CAPDBG_DDCAP, //DD_SYS |
|---|
| 80 | DHL_CAPDBG_ALL, //ALL |
|---|
| 81 | DHL_CAPDBG_END |
|---|
| 82 | }DHL_CAP_DBGTYPE; |
|---|
| 83 | |
|---|
| 84 | /* +----------------------------------------------+ |
|---|
| 85 | ** DHL_AVDC_STREAM_FORMAT |
|---|
| 86 | ** +----------------------------------------------+ */ |
|---|
| 87 | typedef enum tag_DHL_AVDC_STREAM_FORMAT |
|---|
| 88 | { |
|---|
| 89 | DHL_AVDC_SF_DISABLE, |
|---|
| 90 | DHL_AVDC_SF_CCIR656_8_BIT, |
|---|
| 91 | DHL_AVDC_SF_CCIR656_10_BIT |
|---|
| 92 | } DHL_AVDC_STREAM_FORMAT; |
|---|
| 93 | |
|---|
| 94 | /* +----------------------------------------------+ |
|---|
| 95 | ** DHL_AVDC_CONNECTOR |
|---|
| 96 | ** +----------------------------------------------+ */ |
|---|
| 97 | typedef enum tag_DHL_AVDC_CONNECTOR |
|---|
| 98 | { |
|---|
| 99 | DHL_AVDC_CON_UNDEFINED = 0, |
|---|
| 100 | DHL_AVDC_CON_CVBS_0 = 0x00000001, |
|---|
| 101 | DHL_AVDC_CON_Y_PR_PB = 0x00000008, |
|---|
| 102 | } DHL_AVDC_CONNECTOR; |
|---|
| 103 | |
|---|
| 104 | /* +----------------------------------------------+ |
|---|
| 105 | ** DHL_VC_FRAME_TYPE |
|---|
| 106 | ** +----------------------------------------------+ */ |
|---|
| 107 | typedef enum |
|---|
| 108 | { |
|---|
| 109 | DHL_VC_FRAME_PROGRESSIVE, /* capture two progressive fields into one buffer */ |
|---|
| 110 | DHL_VC_FRAME_END |
|---|
| 111 | }DHL_VC_FRAME_TYPE; |
|---|
| 112 | /* +----------------------------------------------+ |
|---|
| 113 | ** DHL_VC_DATA_FORMAT |
|---|
| 114 | ** +----------------------------------------------+ */ |
|---|
| 115 | typedef enum |
|---|
| 116 | { |
|---|
| 117 | DHL_VC_DF_YVYU422, |
|---|
| 118 | DHL_VC_DF_VBID_RAW, |
|---|
| 119 | DHL_VC_DF_END |
|---|
| 120 | } DHL_VC_DATA_FORMAT; |
|---|
| 121 | /* +----------------------------------------------+ |
|---|
| 122 | ** DHL_VC_STREAM_FORMAT |
|---|
| 123 | ** +----------------------------------------------+ */ |
|---|
| 124 | typedef enum |
|---|
| 125 | { |
|---|
| 126 | DHL_VC_SF_CCIR656, /* CCIR656 format */ |
|---|
| 127 | DHL_VC_SF_END |
|---|
| 128 | } DHL_VC_STREAM_FORMAT; |
|---|
| 129 | |
|---|
| 130 | /* +----------------------------------------------+ |
|---|
| 131 | ** DHL_CAP_AUDIO_INPUT |
|---|
| 132 | ** +----------------------------------------------+ */ |
|---|
| 133 | typedef enum |
|---|
| 134 | { |
|---|
| 135 | DHL_CAP_AUDIO_START, |
|---|
| 136 | |
|---|
| 137 | DHL_CAP_DTV_AUDIO_START, |
|---|
| 138 | DHL_CAP_DTV0_AUDIO= DHL_CAP_DTV_AUDIO_START, |
|---|
| 139 | DHL_CAP_DTV1_AUDIO, |
|---|
| 140 | |
|---|
| 141 | DHL_CAP_ATV_AUDIO_START, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 142 | DHL_CAP_ATV0_AUDIO = DHL_CAP_ATV_AUDIO_START, |
|---|
| 143 | DHL_CAP_ATV1_AUDIO, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 144 | |
|---|
| 145 | DHL_CAP_RADIO_AUDIO_START, |
|---|
| 146 | DHL_CAP_RADIO0_AUDIO = DHL_CAP_RADIO_AUDIO_START, |
|---|
| 147 | DHL_CAP_RADIO1_AUDIO, |
|---|
| 148 | |
|---|
| 149 | DHL_CAP_CVBS_AUDIO_START, |
|---|
| 150 | DHL_CAP_CVBS0_AUDIO = DHL_CAP_CVBS_AUDIO_START, |
|---|
| 151 | DHL_CAP_CVBS1_AUDIO, |
|---|
| 152 | DHL_CAP_CVBS2_AUDIO, |
|---|
| 153 | DHL_CAP_CVBS3_AUDIO, |
|---|
| 154 | |
|---|
| 155 | DHL_CAP_SVIDEO_AUDIO_START, |
|---|
| 156 | DHL_CAP_SVIDEO0_AUDIO = DHL_CAP_SVIDEO_AUDIO_START, |
|---|
| 157 | DHL_CAP_SVIDEO1_AUDIO, |
|---|
| 158 | DHL_CAP_SVIDEO2_AUDIO, |
|---|
| 159 | DHL_CAP_SVIDEO3_AUDIO, |
|---|
| 160 | |
|---|
| 161 | DHL_CAP_YPBPR_AUDIO_START, // From external YPbPr |
|---|
| 162 | DHL_CAP_YPBPR0_AUDIO = DHL_CAP_YPBPR_AUDIO_START, // From external YPbPr_0 |
|---|
| 163 | DHL_CAP_YPBPR1_AUDIO, // From external YPbPr_1 |
|---|
| 164 | DHL_CAP_YPBPR2_AUDIO, // From external YPbPr_2 |
|---|
| 165 | DHL_CAP_YPBPR3_AUDIO, // From external YPbPr_3 |
|---|
| 166 | |
|---|
| 167 | DHL_CAP_HDMI_AUDIO_START, // From HDMI port 0 |
|---|
| 168 | DHL_CAP_HDMI0_AUDIO = DHL_CAP_HDMI_AUDIO_START , // From HDMI port 0 |
|---|
| 169 | DHL_CAP_HDMI1_AUDIO, // From HDMI port 1 |
|---|
| 170 | DHL_CAP_HDMI2_AUDIO, // From HDMI port 2 |
|---|
| 171 | DHL_CAP_HDMI3_AUDIO, // From HDMI port 3 |
|---|
| 172 | |
|---|
| 173 | DHL_CAP_VGA0_AUDIO, |
|---|
| 174 | DHL_CAP_VGA1_AUDIO, |
|---|
| 175 | |
|---|
| 176 | DHL_CAP_1394_DV_AUDIO, // |
|---|
| 177 | DHL_CAP_1394_TS_AUDIO, // |
|---|
| 178 | |
|---|
| 179 | DHL_CAP_DTV_TS0_AUDIO, // |
|---|
| 180 | DHL_CAP_DTV_TS1_AUDIO, // |
|---|
| 181 | |
|---|
| 182 | DHL_CAP_AUDIO_END, |
|---|
| 183 | DHL_CAP_AUDIO_NONE = DHL_CAP_AUDIO_END |
|---|
| 184 | } DHL_CAP_AUDIO_INPUT; |
|---|
| 185 | |
|---|
| 186 | |
|---|
| 187 | typedef enum |
|---|
| 188 | { |
|---|
| 189 | DHL_CAP_VIDEO_START, |
|---|
| 190 | |
|---|
| 191 | DHL_CAP_DTV_VIDEO_START, |
|---|
| 192 | DHL_CAP_DTV0_VIDEO = DHL_CAP_DTV_VIDEO_START, |
|---|
| 193 | DHL_CAP_DTV1_VIDEO, |
|---|
| 194 | |
|---|
| 195 | DHL_CAP_ATV_VIDEO_START, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 196 | DHL_CAP_ATV0_VIDEO = DHL_CAP_ATV_VIDEO_START, |
|---|
| 197 | DHL_CAP_ATV1_VIDEO, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 198 | DHL_CAP_ATV_VIDEO_STOP = DHL_CAP_ATV1_VIDEO, |
|---|
| 199 | |
|---|
| 200 | DHL_CAP_RADIO_VIDEO_START, |
|---|
| 201 | DHL_CAP_RADIO0_VIDEO = DHL_CAP_RADIO_VIDEO_START, |
|---|
| 202 | DHL_CAP_RADIO1_VIDEO, |
|---|
| 203 | DHL_CAP_RADIO_VIDEO_STOP = DHL_CAP_RADIO1_VIDEO, |
|---|
| 204 | |
|---|
| 205 | DHL_CAP_CVBS_VIDEO_START, |
|---|
| 206 | DHL_CAP_CVBS0_VIDEO = DHL_CAP_CVBS_VIDEO_START, |
|---|
| 207 | DHL_CAP_CVBS1_VIDEO, |
|---|
| 208 | DHL_CAP_CVBS2_VIDEO, |
|---|
| 209 | DHL_CAP_CVBS3_VIDEO, |
|---|
| 210 | DHL_CAP_CVBS_VIDEO_STOP = DHL_CAP_CVBS3_VIDEO, |
|---|
| 211 | |
|---|
| 212 | DHL_CAP_SVIDEO_VIDEO_START, |
|---|
| 213 | DHL_CAP_SVIDEO0_VIDEO = DHL_CAP_SVIDEO_VIDEO_START, |
|---|
| 214 | DHL_CAP_SVIDEO1_VIDEO, |
|---|
| 215 | DHL_CAP_SVIDEO2_VIDEO, |
|---|
| 216 | DHL_CAP_SVIDEO3_VIDEO, |
|---|
| 217 | DHL_CAP_SVIDEO_VIDEO_STOP = DHL_CAP_SVIDEO3_VIDEO, |
|---|
| 218 | |
|---|
| 219 | DHL_CAP_YPBPR_VIDEO_START, // From external YPbPr |
|---|
| 220 | DHL_CAP_YPBPR0_VIDEO = DHL_CAP_YPBPR_VIDEO_START, // From external YPbPr_0 |
|---|
| 221 | DHL_CAP_YPBPR1_VIDEO, // From external YPbPr_1 |
|---|
| 222 | DHL_CAP_YPBPR2_VIDEO, // From external YPbPr_2 |
|---|
| 223 | DHL_CAP_YPBPR3_VIDEO, // From external YPbPr_3 |
|---|
| 224 | DHL_CAP_YPBPR_VIDEO_STOP = DHL_CAP_YPBPR3_VIDEO, // From external YPbPr |
|---|
| 225 | |
|---|
| 226 | DHL_CAP_HDMI_VIDEO_START, // From HDMI port 0 |
|---|
| 227 | DHL_CAP_HDMI0_VIDEO = DHL_CAP_HDMI_VIDEO_START , // From HDMI port 0 |
|---|
| 228 | DHL_CAP_HDMI1_VIDEO, // From HDMI port 1 |
|---|
| 229 | DHL_CAP_HDMI2_VIDEO, // From HDMI port 2 |
|---|
| 230 | DHL_CAP_HDMI3_VIDEO, // From HDMI port 3 |
|---|
| 231 | DHL_CAP_HDMI_VIDEO_STOP = DHL_CAP_HDMI3_VIDEO, // From HDMI port 0 |
|---|
| 232 | |
|---|
| 233 | DHL_CAP_VGA_VIDEO_START, |
|---|
| 234 | DHL_CAP_VGA0_VIDEO = DHL_CAP_VGA_VIDEO_START, |
|---|
| 235 | DHL_CAP_VGA1_VIDEO, |
|---|
| 236 | DHL_CAP_VGA_VIDEO_STOP = DHL_CAP_VGA1_VIDEO, |
|---|
| 237 | |
|---|
| 238 | DHL_CAP_1394_DV_VIDEO, // |
|---|
| 239 | DHL_CAP_1394_TS_VIDEO, // |
|---|
| 240 | |
|---|
| 241 | DHL_CAP_DTV_TS0_VIDEO, // |
|---|
| 242 | DHL_CAP_DTV_TS1_VIDEO, // |
|---|
| 243 | |
|---|
| 244 | DHL_CAP_PHOTOVIEW, |
|---|
| 245 | |
|---|
| 246 | DHL_CAP_VIDEO_END, |
|---|
| 247 | DHL_CAP_VIDEO_NONE = DHL_CAP_VIDEO_END |
|---|
| 248 | } DHL_CAP_VIDEO_INPUT; |
|---|
| 249 | |
|---|
| 250 | /* +----------------------------------------------+ |
|---|
| 251 | ** DHL_AVDC_CONFIG (Analog Video Decoder) |
|---|
| 252 | ** +----------------------------------------------+ */ |
|---|
| 253 | typedef struct tag_DHL_CAP_AVDC |
|---|
| 254 | { |
|---|
| 255 | DHL_AVDC_STREAM_FORMAT AvdcStreamFormat; //input stream format |
|---|
| 256 | DHL_VIDEO_FORMAT AvdcVideoFormat; //input video format |
|---|
| 257 | DHL_AVDC_CONNECTOR AvdcConnector; //input connector |
|---|
| 258 | } DHL_AVDC_CONFIG, *P_DHL_AVDC_CONFIG; |
|---|
| 259 | |
|---|
| 260 | /* +----------------------------------------------+ |
|---|
| 261 | ** DHL_VC_CONFIG (Video Capture) |
|---|
| 262 | ** +----------------------------------------------+ */ |
|---|
| 263 | typedef struct tag_DHL_CAP_VC |
|---|
| 264 | { |
|---|
| 265 | DHL_VC_FRAME_TYPE VcFrameType; |
|---|
| 266 | DHL_VC_DATA_FORMAT VcVideoFormat; |
|---|
| 267 | DHL_VC_DATA_FORMAT VcVbiFormat; |
|---|
| 268 | DHL_VC_STREAM_FORMAT VcStreamFormat; |
|---|
| 269 | |
|---|
| 270 | } DHL_VC_CONFIG, *P_DHL_VC_CONFIG; |
|---|
| 271 | /* +----------------------------------------------+ |
|---|
| 272 | ** DHL_SAMPLING_RATE (input audio sampling rate) |
|---|
| 273 | ** +----------------------------------------------+ */ |
|---|
| 274 | typedef enum tag_DHL_SAMPLING_RATE |
|---|
| 275 | { |
|---|
| 276 | DHL_SAMPLING_RATE_22_05_KHZ = 1, |
|---|
| 277 | DHL_SAMPLING_RATE_32_00_KHZ, |
|---|
| 278 | DHL_SAMPLING_RATE_44_10_KHZ, |
|---|
| 279 | DHL_SAMPLING_RATE_48_00_KHZ, |
|---|
| 280 | DHL_SAMPLING_RATE_96_00_KHZ, |
|---|
| 281 | DHL_SAMPLING_RATE_END |
|---|
| 282 | } DHL_SAMPLING_RATE, *P_DHL_SAMPLING_RATE; |
|---|
| 283 | |
|---|
| 284 | typedef struct tag_DHL_CAP_VideoTiming_t |
|---|
| 285 | { |
|---|
| 286 | DHL_CAP_VIDEO_INPUT vi; |
|---|
| 287 | DS_U16 hRes, vRes; |
|---|
| 288 | DS_U16 RefreshRate; |
|---|
| 289 | DS_BOOL bInterlaced; |
|---|
| 290 | DHL_CAP_SRCASPECTRATIO Aspect; |
|---|
| 291 | } DHL_CAP_VideoTiming_t; |
|---|
| 292 | |
|---|
| 293 | typedef struct tag_VGA_CAPTURE { |
|---|
| 294 | DS_U16 wX, wY, wWidth, wHeight; |
|---|
| 295 | DS_U16 wDispX, wDispY, wDispWidth, wDispHeight; |
|---|
| 296 | DS_U16 wDispKX, wDispKY, wDispKWidth, wDispKHeight; |
|---|
| 297 | } VGA_CAPTURE_t, *P_VGA_CAPTURE_t; |
|---|
| 298 | |
|---|
| 299 | typedef struct tag_VGA_ADC_t { |
|---|
| 300 | DS_U8 Gain_R, Gain_G, Gain_B; |
|---|
| 301 | DS_U8 Off_R, Off_G, Off_B; |
|---|
| 302 | } VGA_ADC_t, *P_VGA_ADC_t; |
|---|
| 303 | |
|---|
| 304 | |
|---|
| 305 | typedef void (*DHL_CAP_CBFUNC_t)(DS_BOOL bFocus, DHL_CAP_VIDEO_INPUT vi, DS_U16 hRes, DS_U16 vRes, DS_U16 RefreshRate, DS_BOOL bInterlaced); |
|---|
| 306 | typedef void (*DHL_CAP_CBFUNC2_t)(DS_BOOL bFocus, DHL_CAP_VIDEO_INPUT vi, DS_U16 hRes, DS_U16 vRes, DS_U16 RefreshRate, DS_BOOL bInterlaced,DHL_CAP_SRCASPECTRATIO Aspect); |
|---|
| 307 | |
|---|
| 308 | /* +----------------------------------------------+ |
|---|
| 309 | ** DHL_CAP_CONFIG |
|---|
| 310 | ** - It has the dhl total configuration information |
|---|
| 311 | ** +----------------------------------------------+ */ |
|---|
| 312 | typedef struct tag_DHL_CAP_CONFIGURATION |
|---|
| 313 | { |
|---|
| 314 | DS_S32 iAudDelay; // capture audio delay |
|---|
| 315 | DHL_VIDEO_FORMAT CapInMainFmt; // Main input video format |
|---|
| 316 | DHL_VIDEO_FORMAT CapInSubFmt; // Sub input video format |
|---|
| 317 | DHL_CAP_VIDEO_INPUT CapInMainVideoSrc; // Main Video Source |
|---|
| 318 | DHL_CAP_VIDEO_INPUT CapInSubVideoSrc; // Sub Video Source |
|---|
| 319 | DHL_CAP_AUDIO_INPUT CapInAudioSrc; //input audio source |
|---|
| 320 | DHL_SAMPLING_RATE CapFs; //input audio sampling frequence |
|---|
| 321 | int isCapMainVideoStarted; |
|---|
| 322 | int isCapSubVideoStarted; |
|---|
| 323 | int isCapAudioStarted; |
|---|
| 324 | |
|---|
| 325 | DHL_PIPMode_t pipMode; |
|---|
| 326 | DHL_PIP_t pipPosition; |
|---|
| 327 | |
|---|
| 328 | DS_U32 uMutex; //for the video synchronization |
|---|
| 329 | |
|---|
| 330 | int SyncLockEnable; |
|---|
| 331 | int SyncLockOnMute; |
|---|
| 332 | } DHL_CAP_CONFIG, *P_DHL_CAP_CONFIG; |
|---|
| 333 | |
|---|
| 334 | #define DHL_IsVideoSourceDTV(src) (((src) == DHL_CAP_DTV0_VIDEO) || ((src) == DHL_CAP_DTV1_VIDEO)) |
|---|
| 335 | #define DHL_IsAudioSourceDTV(src) (((src) == DHL_CAP_DTV0_AUDIO) || ((src) == DHL_CAP_DTV1_AUDIO)) |
|---|
| 336 | #define DHL_IsVideoSourceATV(src) (((src) == DHL_CAP_ATV0_VIDEO) || ((src) == DHL_CAP_ATV1_VIDEO)) |
|---|
| 337 | #define DHL_IsAudioSourceATV(src) (((src) == DHL_CAP_ATV0_AUDIO) || ((src) == DHL_CAP_ATV1_AUDIO)) |
|---|
| 338 | #define DHL_IsVideoSourceCVBS(src) (((src) >= DHL_CAP_CVBS0_VIDEO) && ((src) <= DHL_CAP_CVBS3_VIDEO)) |
|---|
| 339 | #define DHL_IsAudioSourceCVBS(src) (((src) >= DHL_CAP_CVBS0_AUDIO) && ((src) <= DHL_CAP_CVBS3_AUDIO)) |
|---|
| 340 | #define DHL_IsVideoSourceYPbPr(src) (((src) >= DHL_CAP_YPBPR0_VIDEO) && ((src) <= DHL_CAP_YPBPR3_VIDEO)) |
|---|
| 341 | #define DHL_IsAudioSourceYPbPr(src) (((src) >= DHL_CAP_YPBPR0_AUDIO) && ((src) <= DHL_CAP_YPBPR3_AUDIO)) |
|---|
| 342 | #define DHL_IsVideoSourceVGA(src) (((src) >= DHL_CAP_VGA0_VIDEO) && ((src) <= DHL_CAP_VGA1_VIDEO)) |
|---|
| 343 | #define DHL_IsAudioSourceVGA(src) (((src) >= DHL_CAP_VGA0_AUDIO) && ((src) <= DHL_CAP_VGA1_AUDIO)) |
|---|
| 344 | #define DHL_IsVideoSourceHDMI(src) (((src) >= DHL_CAP_HDMI0_VIDEO) && ((src) <= DHL_CAP_HDMI3_AUDIO)) |
|---|
| 345 | #define DHL_IsAudioSourceHDMI(src) (((src) >= DHL_CAP_HDMI0_AUDIO) && ((src) <= DHL_CAP_HDMI3_AUDIO)) |
|---|
| 346 | |
|---|
| 347 | #if defined __cplusplus |
|---|
| 348 | extern "C" { |
|---|
| 349 | #endif |
|---|
| 350 | DHL_RESULT DHL_CAP_Open(void); |
|---|
| 351 | DHL_RESULT DHL_CAP_Init(void); |
|---|
| 352 | DHL_RESULT DHL_CAP_Start(DS_BOOL bMain, DS_BOOL bSub); |
|---|
| 353 | DHL_RESULT DHL_CAP_Stop(DS_BOOL bMain, DS_BOOL bSub); |
|---|
| 354 | DHL_RESULT DHL_CAP_Close(void); |
|---|
| 355 | DHL_RESULT DHL_CAP_Pause(DS_BOOL Focus); |
|---|
| 356 | DHL_RESULT DHL_CAP_Resume(DS_BOOL Focus); |
|---|
| 357 | DHL_RESULT DHL_CAP_PresetVideoFormat(DHL_VIDEO_FORMAT vf, DS_BOOL Focus); |
|---|
| 358 | DHL_RESULT DHL_CAP_ChangeAudioInput(DHL_CAP_AUDIO_INPUT AudioInputSrc); |
|---|
| 359 | DHL_RESULT DHL_CAP_ChangeAudioFs(DHL_SAMPLING_RATE UserFs, DS_BOOL Update); |
|---|
| 360 | DHL_RESULT DHL_CAP_ChangeLBOption(DS_BOOL bLBEnable); |
|---|
| 361 | DHL_RESULT DHL_CAP_PresetAVDC(P_DHL_AVDC_CONFIG pAvdcConfig); |
|---|
| 362 | DHL_RESULT DHL_CAP_MuteVideo(DS_BOOL bMute, DS_BOOL Focus); |
|---|
| 363 | |
|---|
| 364 | DHL_RESULT DHL_CAP_PresetVideoFormat(DHL_VIDEO_FORMAT vf, DS_BOOL Focus); |
|---|
| 365 | DHL_RESULT DHL_CAP_PresetAudioInput(DHL_CAP_AUDIO_INPUT ai); |
|---|
| 366 | |
|---|
| 367 | void DHL_CAP_SetDbgLvl(DS_U32 uDbgLvl, DHL_CAP_DBGTYPE DbgType); |
|---|
| 368 | DS_BOOL DHL_CAP_IsStartedVideo(void); |
|---|
| 369 | DS_BOOL DHL_CAP_IsStartedVideoPIP(void); |
|---|
| 370 | DS_BOOL DHL_CAP_IsStartedAudio(void); |
|---|
| 371 | DHL_RESULT DHL_CAP_SetAudioDelay(DS_U32 offset); |
|---|
| 372 | DHL_VIDEO_FORMAT DHL_CAP_GetVideoInputFmt(DS_BOOL Focus); |
|---|
| 373 | DHL_CAP_AUDIO_INPUT DHL_CAP_GetAudioSrc(void); |
|---|
| 374 | |
|---|
| 375 | DHL_RESULT DHL_CAP_PresetVideoInput(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 376 | DHL_RESULT DHL_CAP_PresetVideoSource(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 377 | DHL_RESULT DHL_CAP_PresetVideoInputPIP(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 378 | DHL_RESULT DHL_CAP_PresetVideoSourcePIP(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 379 | DHL_RESULT DHL_CAP_ChangeVideoSource(DHL_CAP_VIDEO_INPUT VideoInputSrc); |
|---|
| 380 | DHL_RESULT DHL_CAP_ChangeVideoSourcePIP(DHL_CAP_VIDEO_INPUT VideoInputSrc); |
|---|
| 381 | DHL_CAP_VIDEO_INPUT DHL_CAP_GetVideoSrc(DS_BOOL Focus); |
|---|
| 382 | void DHL_CAP_SetSyncLock(int En); |
|---|
| 383 | |
|---|
| 384 | // |
|---|
| 385 | // External-Input A/V |
|---|
| 386 | // |
|---|
| 387 | DHL_RESULT DHL_CAP_StartVideo(void); |
|---|
| 388 | DHL_RESULT DHL_CAP_StartVideoPIP(void); |
|---|
| 389 | DHL_RESULT DHL_CAP_StartAudio(void); |
|---|
| 390 | DHL_RESULT DHL_CAP_StopVideo(void); |
|---|
| 391 | DHL_RESULT DHL_CAP_StopVideoPIP(void); |
|---|
| 392 | DHL_RESULT DHL_CAP_StopAudio(void); |
|---|
| 393 | |
|---|
| 394 | DHL_RESULT DHL_CAP_StartVideoEx(DHL_CAP_VIDEO_INPUT MainSrc, DHL_CAP_VIDEO_INPUT SubSrc, DHL_PIPMode_t PIPMode, DHL_PIP_t pipPos ); |
|---|
| 395 | DHL_RESULT DHL_CAP_StopVideoEx(void); |
|---|
| 396 | DHL_RESULT DHL_CAP_SetPIPMode( DHL_PIPMode_t PipMode , DHL_PIP_t pipPos ); |
|---|
| 397 | DHL_RESULT DHL_CAP_SetPIPPosition( DHL_PIP_t pipPos ); |
|---|
| 398 | |
|---|
| 399 | DHL_RESULT DHL_CAP_RestartAudio(void); |
|---|
| 400 | |
|---|
| 401 | DS_BOOL DHL_CAP_IsCVBSInput(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 402 | DHL_RESULT DHL_CAP_IsHDMIInput(DS_BOOL *bHDMI); |
|---|
| 403 | void DHL_CAP_GetHDMIFmt(DS_U32 *phActive, DS_U32 *phTotal, DS_U32 *pvActive, DS_U32 *pvTotal); |
|---|
| 404 | void DHL_CAP_GetRGBFmt(DS_U16 *pwHR, DS_U16 *pwVR, DS_U16 *pwHW, DS_U16 *pwVW, DS_U16 *pwPol); |
|---|
| 405 | |
|---|
| 406 | void DHL_CAP_SetHPDEnable(int En); |
|---|
| 407 | int DHL_CAP_GetHPDEnable(void); |
|---|
| 408 | |
|---|
| 409 | // |
|---|
| 410 | // Just for backward compatability. |
|---|
| 411 | // |
|---|
| 412 | DHL_RESULT DHL_CAP_PresetVC(DHL_VIDEO_FORMAT vf, DS_BOOL Focus); |
|---|
| 413 | DHL_RESULT DHL_CAP_ChangeAudioSource(DHL_CAP_AUDIO_INPUT AudioInputSrc); |
|---|
| 414 | DHL_RESULT DHL_CAP_PresetVideoSource(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 415 | DHL_RESULT DHL_CAP_PresetVideoSourcePIP(DHL_CAP_VIDEO_INPUT vi); |
|---|
| 416 | DHL_RESULT DHL_CAP_PresetCallback(DHL_CAP_CBFUNC_t cbFunc); |
|---|
| 417 | DHL_RESULT DHL_CAP_PresetCallback2(DHL_CAP_CBFUNC2_t cbFunc); |
|---|
| 418 | |
|---|
| 419 | |
|---|
| 420 | int DHL_CAP_GetAudioInFrequency(void); |
|---|
| 421 | DHL_RESULT DHL_CAP_SetAudioInFrequency(int audInFreq); |
|---|
| 422 | |
|---|
| 423 | |
|---|
| 424 | // |
|---|
| 425 | // NTSC adaptive noise reduction |
|---|
| 426 | // |
|---|
| 427 | void DHL_CAP_SetAdaptiveNR(void); |
|---|
| 428 | DS_U16 DHL_CAP_GetSignalNoise(void); |
|---|
| 429 | void DHL_CAP_ClearSyncLockOnMute(int En); |
|---|
| 430 | void DHL_CAP_SetSyncLockEnable(int En); |
|---|
| 431 | int DHL_CAP_GetSyncLockEnable(void); |
|---|
| 432 | |
|---|
| 433 | // |
|---|
| 434 | // VGA Functions |
|---|
| 435 | // |
|---|
| 436 | DHL_RESULT DHL_CAP_SetVGADefault(void); |
|---|
| 437 | DHL_RESULT DHL_CAP_SetVGAPhase(int Param); |
|---|
| 438 | DHL_RESULT DHL_CAP_SetVGAClock(int Param); |
|---|
| 439 | DHL_RESULT DHL_CAP_SetVGAHSize(int Param); |
|---|
| 440 | DHL_RESULT DHL_CAP_SetVGAHPosition(int Param); |
|---|
| 441 | DHL_RESULT DHL_CAP_SetVGAVSize(int Param); |
|---|
| 442 | DHL_RESULT DHL_CAP_SetVGAVPosition(int Param); |
|---|
| 443 | DHL_RESULT DHL_CAP_SetVGAAutoAdjustment(int Param); |
|---|
| 444 | DHL_RESULT DHL_CAP_SetVGAAutoPhase(int Param); |
|---|
| 445 | DS_BOOL DHL_CAP_IsVGAAutoAdjustmentCompleted(void); |
|---|
| 446 | DHL_RESULT DHL_CAP_SetAutoMovieMode( DS_BOOL enable ); |
|---|
| 447 | |
|---|
| 448 | DHL_RESULT DHL_CAP_GetVGAPhase(int *pParam); |
|---|
| 449 | DHL_RESULT DHL_CAP_GetVGAClock(int *pParam); |
|---|
| 450 | DHL_RESULT DHL_CAP_GetVGAHSize(int *pParam); |
|---|
| 451 | DHL_RESULT DHL_CAP_GetVGAHPosition(int *pParam); |
|---|
| 452 | DHL_RESULT DHL_CAP_GetVGAVSize(int *pParam); |
|---|
| 453 | DHL_RESULT DHL_CAP_GetVGAVPosition(int *pParam); |
|---|
| 454 | |
|---|
| 455 | DHL_RESULT DHL_CAP_SetVGACapture(VGA_CAPTURE_t *vc); |
|---|
| 456 | DHL_RESULT DHL_CAP_GetVGACapture(VGA_CAPTURE_t *vc); |
|---|
| 457 | DHL_RESULT DHL_CAP_DoVGAAutoColor(VGA_ADC_t *va); |
|---|
| 458 | DHL_RESULT DHL_CAP_SetVGAAutoColor(VGA_ADC_t *va); |
|---|
| 459 | |
|---|
| 460 | |
|---|
| 461 | #if defined __cplusplus |
|---|
| 462 | } |
|---|
| 463 | #endif |
|---|
| 464 | |
|---|
| 465 | #endif /* _DSTHAL_CAP_H_ */ |
|---|