| 1 | /** |
|---|
| 2 | @file |
|---|
| 3 | DHL_AVCAP.h |
|---|
| 4 | |
|---|
| 5 | @brief |
|---|
| 6 | DHL AVCAP (Audio/Video decoding and Capture) API |
|---|
| 7 | |
|---|
| 8 | AudioVideo decoding/capture/output API Header |
|---|
| 9 | |
|---|
| 10 | Copyright 2006~2010 Digital STREAM Technology, Inc. |
|---|
| 11 | All Rights Reserved |
|---|
| 12 | */ |
|---|
| 13 | |
|---|
| 14 | |
|---|
| 15 | #ifndef __DHL_AVCAP_H__ |
|---|
| 16 | #define __DHL_AVCAP_H__ |
|---|
| 17 | |
|---|
| 18 | |
|---|
| 19 | #include "DHL_OSAL.h" |
|---|
| 20 | |
|---|
| 21 | #include "DHL_MPEGTypes.h" |
|---|
| 22 | |
|---|
| 23 | |
|---|
| 24 | #ifdef __cplusplus |
|---|
| 25 | extern "C" { |
|---|
| 26 | #endif |
|---|
| 27 | |
|---|
| 28 | |
|---|
| 29 | |
|---|
| 30 | #if COMMENT |
|---|
| 31 | ____Overview____(){} |
|---|
| 32 | #endif |
|---|
| 33 | |
|---|
| 34 | /** |
|---|
| 35 | @file DHL_AVCAP.h |
|---|
| 36 | |
|---|
| 37 | |
|---|
| 38 | |
|---|
| 39 | HAL Interface Design Philosophy |
|---|
| 40 | |
|---|
| 41 | Target: |
|---|
| 42 | Audio Video µðÄÚµù ¹× Ãâ·Â°ú °ü·ÃµÈ ±â´É. |
|---|
| 43 | |
|---|
| 44 | °¢ ¼ºñ½º º° ÀÔ·Â µ¥ÀÌÅÍ Æ÷Æ® |
|---|
| 45 | |
|---|
| 46 | ¾Æ³¯·Î±× ÀÔ·Â |
|---|
| 47 | NTSC ¹æ¼Û |
|---|
| 48 | ¾Æ³¯·Î±× ¿ÜºÎ ÀÔ·Â (ÄÄÆ÷³ÍÆ®, ÄÄÆ÷ÁöÆ®) |
|---|
| 49 | ==> BT.601/656 ÀÔ·Â Æ÷Æ® ÇÚµé·Î Ãß»óÈ ÇÔ. |
|---|
| 50 | |
|---|
| 51 | µðÁöÅÐ Compressed ÀÔ·Â |
|---|
| 52 | Terrestrial ¹× Cable RF ¹æ¼Û |
|---|
| 53 | IEEE1 1394 |
|---|
| 54 | ==> ¸ðµÎ DHL DemuxÀÇ DHL_TSD ÇÚµé·Î Ãß»óÈ ÇÔ. |
|---|
| 55 | |
|---|
| 56 | µðÁöÅÐ Uncompressed ÀÔ·Â |
|---|
| 57 | HDMI ÀÔ·Â |
|---|
| 58 | ==> TBD.. |
|---|
| 59 | |
|---|
| 60 | |
|---|
| 61 | |
|---|
| 62 | |
|---|
| 63 | module overview |
|---|
| 64 | - |
|---|
| 65 | - |
|---|
| 66 | |
|---|
| 67 | APIs |
|---|
| 68 | |
|---|
| 69 | implementations |
|---|
| 70 | |
|---|
| 71 | dependencies |
|---|
| 72 | |
|---|
| 73 | nv parameters |
|---|
| 74 | |
|---|
| 75 | */ |
|---|
| 76 | |
|---|
| 77 | |
|---|
| 78 | #if COMMENT |
|---|
| 79 | ____Config____(){} |
|---|
| 80 | #endif |
|---|
| 81 | |
|---|
| 82 | /* |
|---|
| 83 | ÀÌ ºÎºÐÀº º°µµÀÇ DHL_XXX_Config configuration file À» |
|---|
| 84 | Ȱ¿ëÇÏ´Â °ÍÀÌ ÁÁÀ» °Í °°À½. |
|---|
| 85 | */ |
|---|
| 86 | #include "DHL_Config.h" |
|---|
| 87 | |
|---|
| 88 | |
|---|
| 89 | #if COMMENT |
|---|
| 90 | ____Types____(){} |
|---|
| 91 | #endif |
|---|
| 92 | |
|---|
| 93 | typedef enum { |
|---|
| 94 | eDHL_UD_TYPE_SEQ, |
|---|
| 95 | eDHL_UD_TYPE_GOP, |
|---|
| 96 | eDHL_UD_TYPE_PICTURE, |
|---|
| 97 | eDHL_UD_TYPE_SEI, /*H.264*/ |
|---|
| 98 | eDHL_UD_TYPE_ENTRYPOINT, |
|---|
| 99 | eDHL_UD_TYPE_FIELD, |
|---|
| 100 | eDHL_UD_TYPE_FRAME, |
|---|
| 101 | eDHL_UD_TYPE_SLICE |
|---|
| 102 | } tDHL_UserDataType; |
|---|
| 103 | |
|---|
| 104 | typedef enum |
|---|
| 105 | { |
|---|
| 106 | eDHL_PIC_POLARITY_TOP_FIELD, |
|---|
| 107 | eDHL_PIC_POLARITY_TOP_BOTTOM, |
|---|
| 108 | eDHL_PIC_POLARITY_TOP_FRAME |
|---|
| 109 | } tDHL_PicPolarity; |
|---|
| 110 | |
|---|
| 111 | typedef enum { |
|---|
| 112 | eDHL_PIC_CODING_UNKNOWN=0, |
|---|
| 113 | eDHL_PIC_CODING_I, |
|---|
| 114 | eDHL_PIC_CODING_P, |
|---|
| 115 | eDHL_PIC_CODING_B |
|---|
| 116 | } tDHL_PicCoding; |
|---|
| 117 | |
|---|
| 118 | typedef struct |
|---|
| 119 | { |
|---|
| 120 | UINT32 block_size; |
|---|
| 121 | tDHL_PicPolarity polarity; |
|---|
| 122 | tDHL_UserDataType ud_type; |
|---|
| 123 | BOOL top_field_first; |
|---|
| 124 | BOOL repeat_first_field; |
|---|
| 125 | tDHL_PicCoding pic_coding; |
|---|
| 126 | BOOL pts_valid; |
|---|
| 127 | UINT32 pts; |
|---|
| 128 | |
|---|
| 129 | UINT32 pic_coding_ext[2]; |
|---|
| 130 | |
|---|
| 131 | UINT32 payload_size; |
|---|
| 132 | } tDHL_UserDataHeader; |
|---|
| 133 | |
|---|
| 134 | |
|---|
| 135 | typedef struct |
|---|
| 136 | { |
|---|
| 137 | tDHL_UserDataHeader hdr; |
|---|
| 138 | UINT8 *pdata; |
|---|
| 139 | } tDHL_UserData; |
|---|
| 140 | |
|---|
| 141 | |
|---|
| 142 | /** @brief video Ãâ·Â ´ÜÀÚ (Æ÷Æ®) |
|---|
| 143 | |
|---|
| 144 | ¿Ü°ü »óÀ¸·Î º¸ÀÌ´Â ºñµð¿À ´ÜÀÚ (Å͹̳Î)´Â |
|---|
| 145 | ¸ðµÎ ÀÌ ÁßÀÇ Çϳª¿¡ ÇØ´çµÈ´Ù. |
|---|
| 146 | */ |
|---|
| 147 | typedef enum |
|---|
| 148 | { |
|---|
| 149 | eDHL_DISP_PORT_UNKNOWN = 0x0, |
|---|
| 150 | eDHL_DISP_PORT_COMPONENT = 0x1, |
|---|
| 151 | eDHL_DISP_PORT_COMPOSITE = 0x2, |
|---|
| 152 | eDHL_DISP_PORT_SVIDEO = 0x4, |
|---|
| 153 | eDHL_DISP_PORT_DVI = 0x8, |
|---|
| 154 | eDHL_DISP_PORT_HDMI = 0x10 |
|---|
| 155 | |
|---|
| 156 | } tDHL_DispPort; |
|---|
| 157 | |
|---|
| 158 | |
|---|
| 159 | #if 0 // ´çÀå »ç¿ëµÇ´Â °÷ÀÌ ¾øÀ½. |
|---|
| 160 | /** @brief video display Ãâ·Â ŸÀÔ. |
|---|
| 161 | |
|---|
| 162 | DHL_AV_ChangeVideoFormat() API ¿¡¼ ÀÎÀÚ·Î »ç¿ë. |
|---|
| 163 | |
|---|
| 164 | °¢ ŸÀÔµéÀº µ¶¸³ÀûÀÎ Ãâ·Â Æ÷Æ® (Ä¿³ØÅÍ)°¡ µÇ¾î¾ß ÇÒÅÙµ¥, |
|---|
| 165 | ÀÌ »ó¼öµéÀº bit flag·Î Á¤ÀÇ µÇ¾î ÀÖÀ¸¹Ç·Î, bit OR¸¦ ÇÏ¿© °Ç³×¸é µÈ´Ù. |
|---|
| 166 | |
|---|
| 167 | ¹®Á¦Á¡ |
|---|
| 168 | - HDMIÀÇ °æ¿ì YCbCr 4:4:4, YCbCr 4:2:2 µî°ú °°ÀÌ |
|---|
| 169 | ¼¼ºÎ »çÇ×À» ÁöÁ¤ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾øÀ½. |
|---|
| 170 | |
|---|
| 171 | */ |
|---|
| 172 | typedef enum { |
|---|
| 173 | eDHL_DISP_OUTPUT_UNKNOWN=0x0, |
|---|
| 174 | eDHL_DISP_OUTPUT_PS2=0x1, /* 1 PS/2 ("VGA") */ |
|---|
| 175 | eDHL_DISP_OUTPUT_DVI=0x2, /* 2 DVI */ |
|---|
| 176 | eDHL_DISP_OUTPUT_656=0x4, /* 3 ITU-R BT.656, 8-bit output */ |
|---|
| 177 | eDHL_DISP_OUTPUT_YPRPB=0x8, /* 4 YPrPb (HDTV), tri-sync */ |
|---|
| 178 | eDHL_DISP_OUTPUT_COMPOSITE=0x10, /* 5 SDTV composite */ |
|---|
| 179 | eDHL_DISP_OUTPUT_SVIDEO=0x20, /* 6 SDTV S-Video */ |
|---|
| 180 | eDHL_DISP_OUTPUT_YPRPB_YSYNC=0x40, /* 7 YPrPb (HDTV), sync on Y only */ |
|---|
| 181 | eDHL_DISP_OUTPUT_RGB=0x80, /* 8 RGB component, tri-sync */ |
|---|
| 182 | eDHL_DISP_OUTPUT_RGB_GSYNC=0x100, /* 9 RGB component, sync on green */ |
|---|
| 183 | eDHL_DISP_OUTPUT_PS2_YPRPB=0x200 /* 10 PS/2 ("VGA") YPrPb output */ |
|---|
| 184 | } tDHL_DispOutput; |
|---|
| 185 | #endif |
|---|
| 186 | |
|---|
| 187 | |
|---|
| 188 | /** @brief display output timing °ª |
|---|
| 189 | |
|---|
| 190 | À̸§Àº VideoFormat ÀÌÁö¸¸, |
|---|
| 191 | STB ÀÔÀå¿¡¼´Â »ç½Ç DisplayTiming ÀÌ ´õ Á¤È®ÇÑ Ç¥ÇöÀÌ´Ù. |
|---|
| 192 | |
|---|
| 193 | DHL_AV_DispSetFormat() APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 194 | |
|---|
| 195 | ¿©±â¿¡´Â Ãâ·Â frequency¸¦ ±¸ºÐÇÏ´Â Á¤º¸´Â ¾ø´Ù. |
|---|
| 196 | 50Hz, 60Hz¸¦ µÑ ´Ù Áö¿øÇÏ¸é¼ ¼³Á¤¿¡ µû¶ó ¹Ù²î´Â ±×·± Á¦Ç°Àº ¾øÀ½. |
|---|
| 197 | µû¶ó¼ °¢ Á¦Ç° »ç¾ç¿¡ µû¶ó ƯÁ¤ Á֯ļö·Î °íÁ¤ÇÑ´Ù. |
|---|
| 198 | |
|---|
| 199 | 60Hz ¿Í 59.94Hz ¿Í °°Àº Â÷ÀÌ´Â HAL ³»ºÎ¿¡¼ ¾Ë¾Æ¼ °áÁ¤. |
|---|
| 200 | |
|---|
| 201 | VGA ȣȯ Ãâ·ÂÀÇ °æ¿ì ¾Æ·¡¿¡ ÀÖ´Â Á¤º¸¸¸À¸·Î´Â ÅξøÀÌ ºÎÁ·Çϰí, |
|---|
| 202 | ¹º°¡ ´Ù¸¥ ¹æ¹ýÀ¸·Î ÁöÁ¤ÇØ¾ß ÇÑ´Ù. (TODO) |
|---|
| 203 | ÀÏ´Ü VGA´Â Áö¿øÇÏÁö ¾Ê´Â °ÍÀ¸·Î °£ÁÖ. |
|---|
| 204 | |
|---|
| 205 | HDMI ºñÇ¥ÁØ ÇØ»óµµÀÇ °æ¿ìµµ ¿ª½Ã ´Ù¸¥ ¹æ¹ýÀÌ ÇÊ¿äÇÏ´Ù. (TODO) |
|---|
| 206 | |
|---|
| 207 | ÀϹÝÀûÀ¸·Î Ç¥ÁØ ÇØ»óµµ¸¦ ÁÖ·Î »ç¿ëÇÑ´Ù. |
|---|
| 208 | |
|---|
| 209 | ÀÌ Å¸ÀÔÀº DHL_AV_VideoGetStatus() api ¿¡¼µµ »ç¿ëÇϴµ¥, |
|---|
| 210 | ±× °æ¿ì ÇöÀç Ãâ·Â formatÀÌ ¾Æ·¡ ¸®½ºÆ®¿¡ ¾ø´Â °æ¿ì eDHL_DISP_UNKNOWN À» µÇµ¹·ÁÁØ´Ù. |
|---|
| 211 | ÀÌ eDHL_DISP_UNKNOWN ´Â DHL_AV_DispSetFormat() api ¿¡¼´Â »ç¿ëµÇ¾î¼´Â ¾ÈµÈ´Ù. |
|---|
| 212 | */ |
|---|
| 213 | |
|---|
| 214 | typedef enum |
|---|
| 215 | { |
|---|
| 216 | eDHL_DISP_NO_OUTPUT, |
|---|
| 217 | eDHL_DISP_720x480i, /*720x480 interlaced */ |
|---|
| 218 | eDHL_DISP_720x480p, /*720x480 progressive */ |
|---|
| 219 | eDHL_DISP_960x540p, /*960x540*/ |
|---|
| 220 | eDHL_DISP_1280x720p, /*1280x720 progressive */ |
|---|
| 221 | eDHL_DISP_1920x1080i, /*1920x1080 interlaced */ |
|---|
| 222 | eDHL_DISP_1366x768, /*1366x768P 59.94Hz : 32" WXGA LG LCD */ |
|---|
| 223 | |
|---|
| 224 | eDHL_DISP_UNKNOWN = 0xF0, /* Unknown format */ |
|---|
| 225 | |
|---|
| 226 | } tDHL_DispFormat; |
|---|
| 227 | |
|---|
| 228 | |
|---|
| 229 | #if 0 // ´çÀå »ç¿ëµÇ´Â °÷ÀÌ ¾øÀ½. |
|---|
| 230 | /** @brief TV displayÀÇ aspect ratio. |
|---|
| 231 | |
|---|
| 232 | HDMI ÀåÄ¡ÀÇ °æ¿ì EDID·Î ºÎÅÍ ÀÐÀ» ¼öµµ Àִµ¥, ÀÏ´Ü applicationÀÌ |
|---|
| 233 | ÁöÁ¤ÇÏ´Â °ÍÀ¸·Î ÇÔ. |
|---|
| 234 | |
|---|
| 235 | ÀÚµ¿ ARC ±â´É¿¡¼ ÀÌ Á¤º¸¸¦ Ȱ¿ëÇÏ´Â °æ¿ì°¡ ÀÖ´Ù. |
|---|
| 236 | |
|---|
| 237 | ±× ¿Ü¿¡´Â ÀÌ Á¤º¸´Â informational À̸ç, AFDÀÇ °æ¿ì application¿¡¼´Â |
|---|
| 238 | ÀÌ¹Ì ÀÌ Á¤º¸¸¦ ¾Ë°í ÀÖÀ¸¹Ç·Î ±×³É ÂüÁ¶¿ëÀ¸·Î¸¸ Ȱ¿ëµÈ´Ù. |
|---|
| 239 | |
|---|
| 240 | ÇöÀç´Â 4:3°ú 16:9 ¸¸ Àǹ̰¡ ÀÖÀ½. |
|---|
| 241 | */ |
|---|
| 242 | typedef enum |
|---|
| 243 | { |
|---|
| 244 | eDHL_DISP_ASPECT_1_1 = 1, /* Display aspect ratio is 1:1 */ |
|---|
| 245 | eDHL_DISP_ASPECT_4_3, /* Display aspect ratio is 4:3 */ |
|---|
| 246 | eDHL_DISP_ASPECT_16_9, /* Display aspect ratio is 16:9 */ |
|---|
| 247 | eDHL_DISP_ASPECT_5_4 /* Display aspect ratio is 5:4 */ |
|---|
| 248 | } tDHL_DispAspectRatio; |
|---|
| 249 | #endif |
|---|
| 250 | |
|---|
| 251 | |
|---|
| 252 | /** @brief display color space |
|---|
| 253 | ÄÄÆ÷³ÍÆ® ´ÜÀÚ ¹× HDMI/DVI °æ¿ì¿¡¸¸ ¼³Á¤ÀÌ °¡´ÉÇÏ´Ù. |
|---|
| 254 | */ |
|---|
| 255 | typedef enum |
|---|
| 256 | { |
|---|
| 257 | eDHL_DISP_CS_DEFAULT, |
|---|
| 258 | eDHL_DISP_CS_YCBCR, |
|---|
| 259 | eDHL_DISP_CS_RGB, |
|---|
| 260 | } tDHL_DispColorSpace; |
|---|
| 261 | |
|---|
| 262 | |
|---|
| 263 | /** @brief ºñµð¿À µðÄÚ´õ ID |
|---|
| 264 | ºñµð¿À µðÄÚ´õ ID. 0ºÎÅÍ ½ÃÀÛÇÏ´Â Á¤¼ö. |
|---|
| 265 | single decoder¸¸ Áö¿øÇÏ´Â ½Ã½ºÅÛ¿¡¼´Â 0À» »ç¿ëÇÑ´Ù. |
|---|
| 266 | */ |
|---|
| 267 | typedef UINT8 tDHL_VDID; |
|---|
| 268 | |
|---|
| 269 | |
|---|
| 270 | /** @brief ºñµð¿À ĸÃÄ ÀåÄ¡ ID |
|---|
| 271 | ºñµð¿À ĸÃÄ ÀåÄ¡ ID. |
|---|
| 272 | */ |
|---|
| 273 | typedef UINT8 tDHL_VCAPID; |
|---|
| 274 | |
|---|
| 275 | |
|---|
| 276 | /** @brief ºñµð¿À ÄÚµ¦ ŸÀÔ. |
|---|
| 277 | |
|---|
| 278 | DHL_AV_VideoStart API ¿¡¼ »ç¿ëµÈ´Ù. |
|---|
| 279 | ¹Ýµå½Ã Á¤È®ÇÑ typeÀ» ÁöÁ¤ÇØ¾ß Á¤»óÀûÀÎ µ¿ÀÛÀÌ º¸ÀåµÈ´Ù. |
|---|
| 280 | */ |
|---|
| 281 | |
|---|
| 282 | typedef enum |
|---|
| 283 | { |
|---|
| 284 | eDHL_VIDEO_TYPE_UNKNOWN =0, |
|---|
| 285 | eDHL_VIDEO_TYPE_MPEG1= 1, /* MPEG-1 Video (ISO/IEC 11172-2) */ |
|---|
| 286 | eDHL_VIDEO_TYPE_MPEG2= 2, /* MPEG-2 Video (ISO/IEC 13818-2) */ |
|---|
| 287 | eDHL_VIDEO_TYPE_MPEG4P2= 0x10, /* MPEG-4 Part 2 Video */ |
|---|
| 288 | eDHL_VIDEO_TYPE_H263 = 0x1A, /* H.263 Video. The value of the enum is not based on PSI standards. */ |
|---|
| 289 | eDHL_VIDEO_TYPE_H264= 5, /* H.264 (ITU-T) or ISO/IEC 14496-10/MPEG-4 AVC */ |
|---|
| 290 | eDHL_VIDEO_TYPE_VC1 = 0xEA, /* VC-1 Advanced Profile */ |
|---|
| 291 | eDHL_VIDEO_TYPE_VC1SM = 0xEB, /* VC-1 Simple&Main Profile */ |
|---|
| 292 | eDHL_VIDEO_TYPE_DIVX311= 0x311, /* DivX 3.11 coded video */ |
|---|
| 293 | eDHL_VIDEO_TYPE_AVS = 0x42, /* AVS video */ |
|---|
| 294 | eDHL_VIDEO_TYPE_DC2 |
|---|
| 295 | |
|---|
| 296 | } tDHL_VideoCodingType; |
|---|
| 297 | |
|---|
| 298 | |
|---|
| 299 | |
|---|
| 300 | |
|---|
| 301 | |
|---|
| 302 | /** @brief MPEG-2 Video ES sequence_header Á¤º¸ |
|---|
| 303 | |
|---|
| 304 | ƯÁ¤ application¿¡¼´Â ÀÌ Á¤º¸¸¦ ÇÊ¿ä·Î ÇϹǷΠÁ¦°øÇÔ. |
|---|
| 305 | MPEG-4 ³ª AVCÀÇ °æ¿ì¿¡´Â ȣȯÀÌ µÇÁö ¾ÊÀ» ¼ö ÀÖÀ½. |
|---|
| 306 | */ |
|---|
| 307 | typedef struct |
|---|
| 308 | { |
|---|
| 309 | UINT32 generationNumber; /* Increments each time it changes */ |
|---|
| 310 | UINT16 horizontal_size; /* incorporates horizontal_size_value and extension */ |
|---|
| 311 | UINT16 vertical_size; /* incorporates vettical_size_value and extension */ |
|---|
| 312 | MPEG_ASPECT_RATIO aspect_ratio_information; |
|---|
| 313 | MPEG_FRAME_RATE frame_rate_code; |
|---|
| 314 | float frame_rate; /* incorporates frame_rate_code, extension_n,_d */ |
|---|
| 315 | UINT32 bit_rate; /* bit_rate_extension is added */ |
|---|
| 316 | UINT32 vbv_buffer_size; /* Specified in bytes. (vbv_buffer_size_extension,value * 16/8 * 1024 */ |
|---|
| 317 | BOOL constrained_parameter_flag; |
|---|
| 318 | BOOL MPEG2; /* True if sequece_extension is present */ |
|---|
| 319 | UINT8 profile_and_level_indication; |
|---|
| 320 | BOOL progressive_sequence; |
|---|
| 321 | MPEG_CHROMA_FORMAT chroma_format; |
|---|
| 322 | BOOL low_delay; |
|---|
| 323 | |
|---|
| 324 | } tDHL_VideoSeqHdr; |
|---|
| 325 | |
|---|
| 326 | |
|---|
| 327 | /** @brief ºñµð¿À µðÄÚµù »óÅ Á¤º¸ |
|---|
| 328 | |
|---|
| 329 | ¿¹¿Ü ó¸® üũ¸¦ À§ÇØ µ¿ÀÛ ¸ð´ÏÅ͸µÀ» Çϱâ À§ÇØ »ç¿ëµÈ´Ù. |
|---|
| 330 | ¶Ç´Â info banner µî¿¡ »ç¿ëÀÚ¸¦ À§ÇÑ °¢Á¾ Á¤º¸ Ç¥½Ã¸¦ À§ÇØ »ç¿ëµÈ´Ù. |
|---|
| 331 | */ |
|---|
| 332 | typedef struct |
|---|
| 333 | { |
|---|
| 334 | /** @brief µðÄÚµùÀÌ ÁøÇàÁßÀ̸é TRUE. |
|---|
| 335 | |
|---|
| 336 | API´Â start µÇ¾úÁö¸¸ ³»ºÎÀûÀ¸·Î halt µÈ °æ¿ì¶ó¸é? |
|---|
| 337 | ÀÌ °ªÀº Ç×»ó DHL_AV_VideoStart/Stop API È£Ãâ »óŸ¦ ¹Ý¿µÇØ¾ß ÇÑ´Ù. |
|---|
| 338 | video decoderÀÇ ³»ºÎ µ¿ÀÛ ¿À·ùÀÇ º¹±¸¿¡ ´ëÇÑ Ã¥ÀÓÀº HAL¿¡ ÀÖ´Ù. |
|---|
| 339 | */ |
|---|
| 340 | BOOL bDecoding; |
|---|
| 341 | |
|---|
| 342 | /** @brief ÇöÀç decoding ÁßÀÎ ºñµð¿À ŸÀÔ. |
|---|
| 343 | |
|---|
| 344 | ´ëºÎºÐÀÇ °æ¿ì, DHL_AV_VideoStart ¿¡¼ ÁöÁ¤Çß´ø °ªÀÌ µÉ °ÍÀÌÁö¸¸, |
|---|
| 345 | stream type auto detection ±â´ÉÀÌ ÀÖ´Ù¸é ´õ Á¤È®ÇÑ Á¤º¸°¡ µÉ ¼ö ÀÖ´Ù. |
|---|
| 346 | */ |
|---|
| 347 | tDHL_VideoCodingType type; |
|---|
| 348 | |
|---|
| 349 | /** @brief ºñµð¿À µ¥ÀÌÅͰ¡ Ãâ·Â ÁßÀ̸é TRUE. |
|---|
| 350 | |
|---|
| 351 | µðÄÚµùÀ» ½ÃÀÛ Çß´õ¶óµµ pid µîÀÌ À߸ø ÁöÁ¤µÇ¾ú´Ù¸é |
|---|
| 352 | ½ÇÁ¦·Î´Â ¾Æ¹«·± µðÄÚµùÀÌ ¼öÇàµÇÁö ¾Ê´Â´Ù. À̶§ ÀÌ °ªÀº FALSE°¡ µÇ¾î¾ß ÇÑ´Ù. |
|---|
| 353 | |
|---|
| 354 | DHL_AV_VideoGetStatus API¸¦ È£Ãâ ÇÒ ½ÃÁ¡ÀÇ »óÅÂÀ̾î¾ß ÇÑ´Ù. |
|---|
| 355 | */ |
|---|
| 356 | BOOL bOutputExist; |
|---|
| 357 | |
|---|
| 358 | /** @brief scrambled ºñµð¿ÀÀÎ °æ¿ì TRUE. |
|---|
| 359 | |
|---|
| 360 | DHL_AV_VideoGetStatus API¸¦ È£Ãâ ÇÒ ½ÃÁ¡ÀÇ »óÅÂÀ̾î¾ß ÇÑ´Ù. |
|---|
| 361 | */ |
|---|
| 362 | BOOL bScrambleDetected; |
|---|
| 363 | |
|---|
| 364 | /** @brief ÇöÀç hdmi°¡ ¿¬°á ÁßÀ̸é TRUE. |
|---|
| 365 | |
|---|
| 366 | ÇöÀç´Â HDMI ¿¬°á Á¤º¸¸¦ ¾Ë·ÁÁÖ´Â callbackÀº ¾ø°í, |
|---|
| 367 | app¿¡¼´Â ÁÖ±âÀûÀ¸·Î polling üũ ÇØ¾ß ÇÑ´Ù. |
|---|
| 368 | */ |
|---|
| 369 | BOOL bHdmiConnected; |
|---|
| 370 | |
|---|
| 371 | /** @brief ÇöÀç Ãâ·ÂÁßÀÎ hdmi (¶Ç´Â component) display formatÀ» ¾Ë·ÁÁØ´Ù. |
|---|
| 372 | |
|---|
| 373 | platform ÀÌ hdmi ¿Í component ÇØ»óµµ¸¦ º°µµ·Î ÁöÁ¤ÀÌ ºÒ°¡´ÉÇÒ °æ¿ì |
|---|
| 374 | hdmi ¿¬°á »óÅ¿¡ µû¶ó hd Ãâ·Â ÇØ»óµµ°¡ ´Þ¶óÁö°Ô µÈ´Ù. |
|---|
| 375 | À̶§ ÀÌ api·Î ½ÇÁ¦ Ãâ·Â ½ÅÈ£ formatÀ» ¾Ë ¼ö ÀÖ´Ù. |
|---|
| 376 | |
|---|
| 377 | hdmi°¡ ¿¬°áÀÌ ¾ÈµÈ »óŶó¸é ÀÌ °ªÀº component Ãâ·Â ÇØ»óµµ¸¦ ¸»ÇÑ´Ù. |
|---|
| 378 | |
|---|
| 379 | ¸¸¾à hdmi ¿Í component ÇØ»óµµ¸¦ ´Ù¸£°Ô ¼³Á¤ÇÒ ¼ö ÀÖ´Â platform ÀÎ °æ¿ì, |
|---|
| 380 | ÀÌ °ªÀº hdmi Æ÷Æ®ÀÇ Ãâ·Â ÇØ»óµµÀÌ´Ù. (component ÇØ»óµµ´Â ¾Æ´Ô) |
|---|
| 381 | component Ãâ·Â ÇØ»óµµ´Â Ç×»ó ¸¶Áö¸· DHL_AV_DispSetFormat() api¿¡¼ ÁöÁ¤ÇÑ °ªÀ̹ǷΠ|
|---|
| 382 | ±»ÀÌ queryÇÏÁö ¾Ê¾Æµµ ¾Ë ¼ö ÀÖ´Ù. |
|---|
| 383 | |
|---|
| 384 | */ |
|---|
| 385 | tDHL_DispFormat curDisplayFormat; |
|---|
| 386 | |
|---|
| 387 | } tDHL_VideoStatus; |
|---|
| 388 | |
|---|
| 389 | |
|---|
| 390 | |
|---|
| 391 | /** @brief HDMI »óÅ Á¤º¸. |
|---|
| 392 | |
|---|
| 393 | eDHL_CB_HdmiStatusChanged ÄݹéÀÇ ÆÄ¶ó¹ÌÅÍ·Î »ç¿ëµÈ´Ù. |
|---|
| 394 | ÇöÀç ÀÌ Á¤º¸¸¦ queryÇÏ´Â API´Â ¾ÆÁ÷ ÁغñÇÏÁö ¾Ê¾ÒÀ½. |
|---|
| 395 | ÀϺΠ³»¿ëÀº DHL_AV_VideoGetStatus() ·Î ¾Ë ¼ö´Â ÀÖ´Ù. |
|---|
| 396 | */ |
|---|
| 397 | typedef struct |
|---|
| 398 | { |
|---|
| 399 | /** @brief ÇöÀç hdmi/dvi°¡ ¿¬°á ÁßÀ̸é TRUE. |
|---|
| 400 | |
|---|
| 401 | ´Ü¼øÈ÷ ¹°¸®ÀûÀÎ ¿¬°áÀÌ ¾Æ´Ï°í, hdmi/dvi ¿¬°á ÈÄ RX sense ÈÄ¿¡ |
|---|
| 402 | edid Á¤º¸±îÁö ÇØ¼®µÇ°í ³ª¼ "connected"°¡ µÈ´Ù. |
|---|
| 403 | */ |
|---|
| 404 | BOOL bConnected; |
|---|
| 405 | |
|---|
| 406 | /** @brief ÇöÀç ¿¬°áµÈ hdmi display¿¡¼ Áö¿øÇÏ´Â ÇØ»óµµ Á¤º¸ bitmap. |
|---|
| 407 | |
|---|
| 408 | °¢ bit°¡ tDHL_DispFormat ŸÀ̹ÖÀ» Áö¿øÇÒ °æ¿ì 1ÀÌ µÇ¸ç, |
|---|
| 409 | LSB bit 0 ºÎÅÍ »ç¿ë. |
|---|
| 410 | ¿¹¸¦ µé¾î 480p, 1080i ¸¦ Áö¿øÇÏ´Â TV¶ó¸é ´ÙÀ½ °ªÀ» °®´Â´Ù. |
|---|
| 411 | (1 << eDHL_DISP_720x480p) | (1 << eDHL_DISP_1920x1080i) |
|---|
| 412 | |
|---|
| 413 | eDHL_DISP_UNKNOWN °ªÀº Ç¥½ÃÇÏÁö ¾Ê´Â´Ù. |
|---|
| 414 | "connected" »óŰ¡ ¾Æ´Ñ °æ¿ì ÀÌ °ªÀº 0ÀÌ µÇ¾î¾ß ÇÑ´Ù. |
|---|
| 415 | */ |
|---|
| 416 | UINT32 supportedFormat; |
|---|
| 417 | |
|---|
| 418 | /** @brief TV°¡ ¼±È£ÇÏ´Â format. |
|---|
| 419 | |
|---|
| 420 | TVÀÇ ¼±È£ formatÀÌ DHL¿¡¼ Áö¿øÇÏÁö ¸øÇÏ´Â Çü½ÄÀÏ °æ¿ì |
|---|
| 421 | eDHL_DISP_UNKNOWN À¸·Î ¾Ë·ÁÁØ´Ù. |
|---|
| 422 | */ |
|---|
| 423 | tDHL_DispFormat preferedFormat; |
|---|
| 424 | |
|---|
| 425 | } tDHL_VideoHdmiStatus; |
|---|
| 426 | |
|---|
| 427 | |
|---|
| 428 | |
|---|
| 429 | /** @brief ºñµð¿À Ãâ·ÂÀÇ Aspect Ratio Adjustment. |
|---|
| 430 | |
|---|
| 431 | ARC ¶ó°íµµ ÇÑ´Ù. (Aspect Ratio Correction) |
|---|
| 432 | DHL_AV_VideoSetARC APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 433 | |
|---|
| 434 | eDHL_ARC_USER ¸ðµåÀÇ °æ¿ì ¾î¶² ½ÄÀ¸·Î »ç¿ëÀÚ°¡ ¼³Á¤ÇÒ °ÍÀÎÁö¿¡ ´ëÇØ¼´Â |
|---|
| 435 | ¹æ¹ýÀº È®Á¤µÇÁö ¾Ê¾Ò´Ù. |
|---|
| 436 | */ |
|---|
| 437 | typedef enum |
|---|
| 438 | { |
|---|
| 439 | /*! Ưº°ÇÑ Àǹ̷Π»ç¿ë. APIÀÇ ÀÎÀڷδ »ç¿ëµÇ¸é ¾ÈµÊ. */ |
|---|
| 440 | eDHL_ARC_UNKNOWN = 0, |
|---|
| 441 | |
|---|
| 442 | /*! Àüü ȸé: Ãâ·ÂÇØ»óµµ ÀüºÎ¸¦ ä¿ò */ |
|---|
| 443 | eDHL_ARC_FULLSCREEN = 1, |
|---|
| 444 | |
|---|
| 445 | /*! ·¹Å͹ڽº ¸ðµå: »óÇÏ ¿©¹é(»ó12.5% ÇÏ12.5%), no crop, Àüü video */ |
|---|
| 446 | eDHL_ARC_LETTERBOX = 2, |
|---|
| 447 | |
|---|
| 448 | /*! »çÀ̵å¹Ù ¸ðµå: ÁÂ¿ì ¿©¹é(ÁÂ12.5% ¿ì12.5%), no crop, Àüü video */ |
|---|
| 449 | eDHL_ARC_SIDEBAR = 3, |
|---|
| 450 | |
|---|
| 451 | /*! ÆÒ½ºÄµ ¸ðµå: Á¿ì 25% crop(ÁÂ12.5% ¿ì12.5%), Àüü ½ºÅ©¸° */ |
|---|
| 452 | eDHL_ARC_PAN_AND_SCAN = 4, |
|---|
| 453 | |
|---|
| 454 | /*! ƿƮ½ºÄµ ¸ðµå: »óÇÏ 25% crop(»ó12.5% ÇÏ12.5%), Àüü ½ºÅ©¸° */ |
|---|
| 455 | eDHL_ARC_TILT_AND_SCAN = 5, |
|---|
| 456 | |
|---|
| 457 | /*! ºÎºÐ ·¹Å͹ڽº ¸ðµå: »óÇÏ ¿©¹é(»ó6.25% ÇÏ6.25%), |
|---|
| 458 | Á¿ì 12.5% crop(ÁÂ6.25% ¿ì6.25%), |
|---|
| 459 | ·¹Å͹ڽº ¸ðµå¿Í ÆÒ½ºÄµ ¸ðµåÀÇ Áß°£. */ |
|---|
| 460 | eDHL_ARC_PARTIAL_LETTERBOX = 6, |
|---|
| 461 | |
|---|
| 462 | /*! ºÎºÐ »çÀ̵å¹Ù ¸ðµå: ÁÂ¿ì ¿©¹é(ÁÂ6.25% ¿ì6.25%), |
|---|
| 463 | »óÇÏ 12.5% crop(»ó6.25% ÇÏ6.25%), |
|---|
| 464 | »çÀ̵å¹Ù ¸ðµå¿Í ƿƮ½ºÄµ ¸ðµåÀÇ Áß°£. */ |
|---|
| 465 | eDHL_ARC_PARTIAL_SIDEBAR = 7, |
|---|
| 466 | |
|---|
| 467 | /*! »óÇÏÁ¿ì 12.5% crop(»ó6.25% ÇÏ6.25% ÁÂ6.25% ¿ì6.25%). Àüü ½ºÅ©¸° */ |
|---|
| 468 | eDHL_ARC_ZOOM1 = 8, |
|---|
| 469 | |
|---|
| 470 | /*! »óÇÏÁ¿ì 25% crop(»ó12.5% ÇÏ12.5% ÁÂ12.5% ¿ì12.5%). Àüü ½ºÅ©¸° */ |
|---|
| 471 | eDHL_ARC_ZOOM2 = 9, |
|---|
| 472 | |
|---|
| 473 | /*! callback¿¡ ÀÇÇØ »ç¿ëÀÚ°¡ Á÷Á¢ ÁöÁ¤/ |
|---|
| 474 | ¾ÆÁ÷ ¾î¶°ÇÑ API, ¸ÞÄ¿´ÏÁò¿¡ ÀÇÇØ¼ 󸮸¦ ÇÒÁö È®Á¤ µÇÁö ¾Ê¾ÒÀ½. |
|---|
| 475 | À§ÀÇ ARC ¸ðµå À̿ܿ¡ ´õ ¸¹Àº ¸ðµå¸¦ ¿øÇÏ´Â customer°¡ ÀÖ´Ù¸é |
|---|
| 476 | ±× ¶§ °í·ÁÇϵµ·Ï ÇÔ. |
|---|
| 477 | */ |
|---|
| 478 | eDHL_ARC_USER = 100, |
|---|
| 479 | |
|---|
| 480 | } tDHL_DispARC; |
|---|
| 481 | |
|---|
| 482 | |
|---|
| 483 | typedef struct |
|---|
| 484 | { |
|---|
| 485 | INT16 x; |
|---|
| 486 | INT16 y; |
|---|
| 487 | INT16 w; |
|---|
| 488 | INT16 h; |
|---|
| 489 | |
|---|
| 490 | } DHL_WINRECT; |
|---|
| 491 | |
|---|
| 492 | |
|---|
| 493 | #if COMMENT |
|---|
| 494 | ____Types2____(){} |
|---|
| 495 | #endif |
|---|
| 496 | |
|---|
| 497 | /** @brief Audio Coding type. |
|---|
| 498 | |
|---|
| 499 | DHL_AV_AudioStart() API ¿¡¼ »ç¿ëµÊ. |
|---|
| 500 | º¸ÅëÀº PMTÀÇ stream type Á¤º¸¿¡¼ audio coding typeÀ» ¾Ë¾Æ³½´Ù. |
|---|
| 501 | |
|---|
| 502 | Á¤È®ÇÏ°Ô ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é audio decodingÀÌ Á¦´ë·Î µ¿ÀÛÇÏÁö ¾Ê´Â´Ù. |
|---|
| 503 | */ |
|---|
| 504 | typedef enum |
|---|
| 505 | { |
|---|
| 506 | eDHL_AUDIO_TYPE_UNKNOWN=0, |
|---|
| 507 | eDHL_AUDIO_TYPE_PCM, |
|---|
| 508 | eDHL_AUDIO_TYPE_AC3, ///< Dolby AC3 (A/52) |
|---|
| 509 | eDHL_AUDIO_TYPE_AAC_ADTS, ///< MPEG-2 part 7 AAC with ADTS syntax |
|---|
| 510 | eDHL_AUDIO_TYPE_AAC_LATM, ///< MPEG-4 part 3 AAC with LATM syntax |
|---|
| 511 | eDHL_AUDIO_TYPE_DTS, |
|---|
| 512 | |
|---|
| 513 | /** @todo |
|---|
| 514 | ¾Æ·¡ Ç׸ñµéÀÌ ¾î¶»°Ô ±¸ºÐµÇ´ÂÁö üũ ÇÊ¿äÇÔ. |
|---|
| 515 | */ |
|---|
| 516 | eDHL_AUDIO_TYPE_MPEG_1, |
|---|
| 517 | eDHL_AUDIO_TYPE_MPEG_2, |
|---|
| 518 | eDHL_AUDIO_TYPE_MPEG_4, |
|---|
| 519 | eDHL_AUDIO_TYPE_MPEG_L1, |
|---|
| 520 | eDHL_AUDIO_TYPE_MPEG_L2, |
|---|
| 521 | eDHL_AUDIO_TYPE_MPEG_L3, |
|---|
| 522 | eDHL_AUDIO_TYPE_AIFF, |
|---|
| 523 | eDHL_AUDIO_TYPE_SINEWAVE |
|---|
| 524 | |
|---|
| 525 | } tDHL_AudioCodingType; |
|---|
| 526 | |
|---|
| 527 | |
|---|
| 528 | /** @brief ¿Àµð¿À µðÄÚµù »óÅ Á¤º¸ |
|---|
| 529 | |
|---|
| 530 | ¿¹¿Ü ó¸® üũ¸¦ À§ÇØ µ¿ÀÛ ¸ð´ÏÅ͸µÀ» Çϱâ À§ÇØ »ç¿ëµÈ´Ù. |
|---|
| 531 | ¶Ç´Â info banner µî¿¡ »ç¿ëÀÚ¸¦ À§ÇÑ °¢Á¾ Á¤º¸ Ç¥½Ã¸¦ À§ÇØ »ç¿ëµÈ´Ù. |
|---|
| 532 | */ |
|---|
| 533 | typedef struct |
|---|
| 534 | { |
|---|
| 535 | BOOL bDecoding; ///< µðÄÚµùÀÌ ÁøÇàÁßÀ̸é TRUE¸¦ ¸®ÅÏÇÑ´Ù. |
|---|
| 536 | |
|---|
| 537 | tDHL_AudioCodingType type; |
|---|
| 538 | |
|---|
| 539 | /** µðÄÚµùÀÌ ÁøÇà ÁßÀÌ´õ¶óµµ pid µîÀÌ À߸ø ÁöÁ¤µÇ¾ú´Ù¸é |
|---|
| 540 | ½ÇÁ¦·Î´Â ¾Æ¹«·± ¼Ò¸®µµ ³ª¿ÀÁö ¾Ê´Â´Ù. À̶§ ÀÌ °ªÀº FALSE°¡ µÇ¾î¾ß ÇÑ´Ù. |
|---|
| 541 | ½ÇÁ¦·Î ±Í¿¡ ¼Ò¸®°¡ µé¸®´ÂÁö ¿©ºÎ¿Í´Â »ó°ü ¾ø´Ù. |
|---|
| 542 | (¹«À½ Á¤º¸°¡ encoding µÈ ½ºÆ®¸²ÀÌ play µÇ´Â °æ¿ì ÀÌ °ªÀº TRUE°¡ µÇ¾î¾ß ÇÔ) |
|---|
| 543 | */ |
|---|
| 544 | BOOL bOutputExist; ///< audio µ¥ÀÌÅͰ¡ Ãâ·Â ÁßÀ̸é TRUE¸¦ ¸®ÅÏ. |
|---|
| 545 | |
|---|
| 546 | BOOL bSurround; ///< 2ä³Î Ãʰú ÀÎ °æ¿ì TRUE. 2.1~5.1 ä³Î |
|---|
| 547 | BOOL bStereo; ///< stereo 2ch ¿Àµð¿À¶ó¸é TRUE |
|---|
| 548 | |
|---|
| 549 | } tDHL_AudioStatus; |
|---|
| 550 | |
|---|
| 551 | |
|---|
| 552 | /** @brief µðÁöÅÐ ¿Àµð¿À Ãâ·Â ÇüÅ ¼³Á¤. |
|---|
| 553 | |
|---|
| 554 | S/PDIF Ãâ·Â Æ÷Æ® ¶Ç´Â HDMIÀÇ ¿Àµð¿À Ãâ·Â ºÎºÐ¿¡ ¼³Á¤ °¡´ÉÇÏ´Ù. |
|---|
| 555 | |
|---|
| 556 | DISABLEÀ» »ç¿ëÇÏ¸é ½ÅÈ£ Ãâ·Â ÀÚü°¡ ³ª°¡Áö ¾Ê´Â °ÍÀ̸ç, |
|---|
| 557 | ÇØ´ç Æ÷Æ®ÀÇ audio mute¿Í´Â ¾à°£ÀÇ Â÷À̰¡ ÀÖÀ» ¼ö ÀÖ´Ù. |
|---|
| 558 | */ |
|---|
| 559 | typedef enum |
|---|
| 560 | { |
|---|
| 561 | eDHL_AUDIO_OUT_DISABLE, |
|---|
| 562 | eDHL_AUDIO_OUT_PCM, ///< IEC 958 PCM uncompressed Ãâ·Â |
|---|
| 563 | eDHL_AUDIO_OUT_COMPRESSED, ///< IEC 61937 compressed Ãâ·Â |
|---|
| 564 | eDHL_AUDIO_OUT_END |
|---|
| 565 | |
|---|
| 566 | } tDHL_AudioIecOutFormat; |
|---|
| 567 | |
|---|
| 568 | |
|---|
| 569 | |
|---|
| 570 | /** @brief ¿Àµð¿À Ãâ·Â mute ¼³Á¤ Æ÷ÀÎÆ® |
|---|
| 571 | |
|---|
| 572 | API¸¦ ÀÌ¿ëÇÏ¿© SWÀûÀ¸·Î mute Á¦¾î ÇÒ ¼ö ÀÖ´Â À§Ä¡µéÀÌ´Ù. |
|---|
| 573 | |
|---|
| 574 | ¿Àµð¿À mute Á¦¾î´Â ´ÙÀ½°ú °°Àº ¿©·¯ Á¶°Ç¿¡¼ ÇÊ¿äÇÏ´Ù. |
|---|
| 575 | - »ç¿ëÀÚ°¡ ¸®¸ðÄÁÀÇ MUTE ۸¦ ´©¸¥ °æ¿ì |
|---|
| 576 | - °¢Á¾ block »óÅ (ch block, rating block µî..) |
|---|
| 577 | - ¿Àµð¿À º¼·ý 0 »óÅ |
|---|
| 578 | - ºÎÆÃ ÃʱâÈ ´Ü°èÀÇ pop noise Á¦°Å¸¦ À§ÇØ |
|---|
| 579 | - standby ÁøÀÔ Á÷Àü pop noise Á¦°Å¸¦ À§ÇØ |
|---|
| 580 | |
|---|
| 581 | ÇÏÁö¸¸ application °èÃþ¿¡¼ ÀÌ·¯ÇÑ ±¸ºÐ 󸮸¦ ÇϹǷÎ, |
|---|
| 582 | DHL ·¹º§¿¡¼´Â ÇÑ Á¾·ùÀÇ mute¸¸ Á¦°øÇصµ ¹«¹æÇÏ´Ù. |
|---|
| 583 | */ |
|---|
| 584 | |
|---|
| 585 | typedef enum { |
|---|
| 586 | eDHL_AUDIO_MUTE_DECODER, |
|---|
| 587 | ///< ¿Àµð¿À µðÄÚ´õ¿¡¼ mute¸¦ ¼öÇà. ¸ðµç ¿Àµð¿À Ãâ·Â Æ÷Æ®¿¡ ´Ù Àû¿ëµÈ´Ù. |
|---|
| 588 | ///< µû¶ó¼ app level ¿¡¼ ±âº»ÀûÀ¸·Î »ç¿ëÇÏ´Â mute ¹æ½ÄÀÌ´Ù. |
|---|
| 589 | |
|---|
| 590 | eDHL_AUDIO_MUTE_GPIO, |
|---|
| 591 | ///< GPIO·Î Á÷Á¢ ±¸ÇöÇÑ mute ȸ·Î |
|---|
| 592 | ///< ÀÌ ¿É¼ÇÀº Àü¿ø on/off ½ÃÀÇ pop-up noise Á¦°Å¸¦ À§ÇØ ÁÖ·Î »ç¿ëµÈ´Ù. |
|---|
| 593 | |
|---|
| 594 | eDHL_AUDIO_MUTE_AMP, |
|---|
| 595 | ///< DAC ¶Ç´Â AmpÀÇ RST/MUTE µîÀ» ÀÌ¿ëÇÑ ¹æ½Ä. |
|---|
| 596 | ///< DACÀÌ ³»ÀåµÇ¾î SoC¿¡¼ Á÷Á¢ LR ½ÅÈ£°¡ ³ª¿À´Â °æ¿ì¶óµç°¡, |
|---|
| 597 | ///< DDX·Î Ãâ·ÂÀÌ µÇ´Â °æ¿ì¿¡µµ, ´«¿¡ º¸ÀÌ´Â ¾ÚÇÁ´Â ¾øÁö¸¸ |
|---|
| 598 | ///< ÀûÀýÇÑ mute ±â´É ±¸Çö ÇÊ¿ä. |
|---|
| 599 | |
|---|
| 600 | eDHL_AUDIO_MUTE_SPDIF, |
|---|
| 601 | ///< S/PDIF Ãâ·Â ¿Àµð¿ÀÀÇ mute. |
|---|
| 602 | ///< ½ÅÈ£ Ãâ·Â ÀÚü°¡ disable µÈ °Í°ú´Â ±¸ºÐµÈ´Ù. |
|---|
| 603 | |
|---|
| 604 | eDHL_AUDIO_MUTE_HDMI, ///< HDMI Ãâ·Â ¿Àµð¿ÀÀÇ mute. |
|---|
| 605 | |
|---|
| 606 | eDHL_AUDIO_MUTE_HEADPHONE, ///< ÇìµåÆù Ãâ·Â ´ÜÀÚ°¡ ÀÖÀ» °æ¿ì mute. |
|---|
| 607 | |
|---|
| 608 | } tDHL_AudioMutePlace; |
|---|
| 609 | |
|---|
| 610 | |
|---|
| 611 | /** @brief ¿Àµð¿À ´Ù¿î¹Í½º ŸÀÔ |
|---|
| 612 | |
|---|
| 613 | */ |
|---|
| 614 | typedef enum |
|---|
| 615 | { |
|---|
| 616 | eDHL_AUDIO_MIX_TYPE_LTRT = 0, ///< Line out mode. |
|---|
| 617 | eDHL_AUDIO_MIX_TYPE_LORO = 1, ///< RF mode. |
|---|
| 618 | |
|---|
| 619 | } tDHL_AudioDownmixType; |
|---|
| 620 | |
|---|
| 621 | |
|---|
| 622 | |
|---|
| 623 | |
|---|
| 624 | |
|---|
| 625 | #if COMMENT |
|---|
| 626 | ____Types3____(){} |
|---|
| 627 | #endif |
|---|
| 628 | |
|---|
| 629 | |
|---|
| 630 | |
|---|
| 631 | |
|---|
| 632 | |
|---|
| 633 | |
|---|
| 634 | /** @brief ÀÏ¹Ý Á¶È¸ ÇÔ¼öÀÇ Á¶È¸ÇÒ ³»¿ë. |
|---|
| 635 | |
|---|
| 636 | DHL_AV_Query APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 637 | °¢ °ª º°·Î DHL_AV_Query ¸®ÅÏ °á°ú °ª (pValue)ÀÇ Àǹ̰¡ Á¤ÇØÁ® ÀÖ´Ù. |
|---|
| 638 | */ |
|---|
| 639 | typedef enum |
|---|
| 640 | { |
|---|
| 641 | eDHL_AV_QUERY_UNKNOWN, |
|---|
| 642 | |
|---|
| 643 | /** Video decoder capability data. |
|---|
| 644 | |
|---|
| 645 | °á°ú: ºñµð¿À µðÄÚ´õ cap data. |
|---|
| 646 | tDHL_VideoCodingType ¿°Å ŸÀÔÀÇ bit Ç¥ÇöÀÌ´Ù. |
|---|
| 647 | |
|---|
| 648 | ex) MPEG1°ú MPEG2¸¸ Áö¿øÇÑ´Ù°í Çϸé, ¾Æ·¡ cap °ªÀÌ ¸®ÅϵȴÙ. |
|---|
| 649 | cap = (1<<eDHL_VIDEO_TYPE_MPEG1) | (1<<eDHL_VIDEO_TYPE_MPEG2); |
|---|
| 650 | *pValue = cap; |
|---|
| 651 | */ |
|---|
| 652 | eDHL_AV_QUERY_VIDEO_CAP, |
|---|
| 653 | |
|---|
| 654 | /** Audio decoder capability data. |
|---|
| 655 | |
|---|
| 656 | °á°ú: ¿Àµð¿À µðÄÚ´õ cap data. |
|---|
| 657 | tDHL_AudioCodingType ¿°Å ŸÀÔÀÇ bit Ç¥ÇöÀÌ´Ù. |
|---|
| 658 | */ |
|---|
| 659 | eDHL_AV_QUERY_AUDIO_CAP, |
|---|
| 660 | |
|---|
| 661 | eDHL_AV_QUERY_VIDEO_FMT, |
|---|
| 662 | /** video format return |
|---|
| 663 | |
|---|
| 664 | ÇöÀç Àç»ýÁßÀÎ ½ºÆ®¸²ÀÇ video formatÀ» ¸®ÅÏÇÔ(tDHL_VideoCodingType ŸÀÔ) |
|---|
| 665 | */ |
|---|
| 666 | |
|---|
| 667 | eDHL_AV_QUERY_AUDIO_FMT, |
|---|
| 668 | /** audio format return |
|---|
| 669 | ÇöÀç Àç»ýÁßÀÎ ½ºÆ®¸²ÀÇ audio formatÀ» ¸®ÅÏÇÔ(tDHL_AudioCodingType ŸÀÔ) |
|---|
| 670 | */ |
|---|
| 671 | |
|---|
| 672 | eDHL_AV_QUERY_MAX, |
|---|
| 673 | |
|---|
| 674 | } tDHL_AVQueryType; |
|---|
| 675 | |
|---|
| 676 | |
|---|
| 677 | |
|---|
| 678 | /** @brief ¹ü¿ë Á¦¾î ÇÔ¼öÀÇ Á¦¾î ŸÀÔ. |
|---|
| 679 | |
|---|
| 680 | DHL_AV_Control APIÀÇ ÀÎÀÚ·Î »ç¿ëµÈ´Ù. |
|---|
| 681 | °¢ °ª º°·Î DHL_AV_Control µÎ¹øÂ° ÀÎÀÚÀÇ Àǹ̰¡ Á¤ÇØÁ® ÀÖ´Ù. |
|---|
| 682 | */ |
|---|
| 683 | typedef enum |
|---|
| 684 | { |
|---|
| 685 | eDHL_AV_CTL_UKNOWN, |
|---|
| 686 | |
|---|
| 687 | /** ºñµð¿À ¹è°æ »ö. VideoStop µÈ »óÅ¿¡¼ º¸¿©Áö´Â »ö±ò. |
|---|
| 688 | value type: RGB888 »ö»ó °ª. |
|---|
| 689 | |
|---|
| 690 | R[23:16], G[15:8], B[7:0] |
|---|
| 691 | */ |
|---|
| 692 | eDHL_AV_CTL_VIDEO_BG_COLOR, |
|---|
| 693 | |
|---|
| 694 | /** ºñµð¿À ¹è°æ »ö. LetterBox µîÀÇ ARC Àû¿ë½Ã ºñµð¿À ¾ø´Â °ø°£¿¡ º¸¿©Áö´Â »ö±ò. |
|---|
| 695 | value type: RGB888 »ö»ó °ª. |
|---|
| 696 | |
|---|
| 697 | R[23:16], G[15:8], B[7:0] |
|---|
| 698 | */ |
|---|
| 699 | eDHL_AV_CTL_VIDEO_LETTERBOX_COLOR, |
|---|
| 700 | |
|---|
| 701 | /** ¿Àµð¿À ¸ÖƼä³Î ´Ù¿î¹Í½º ¹æ½Ä. |
|---|
| 702 | ¸ÖƼä³Î ¿Àµð¿À¸¦ 2ch ½ºÅ×·¹¿À·Î Ãâ·ÂÇϱâ À§ÇØ ¼öÇàÇÏ´Â |
|---|
| 703 | ´Ù¿î¹Í½º ÀÛ¾÷ÀÇ µ¿ÀÛ ¹æ½Ä ¼³Á¤. |
|---|
| 704 | |
|---|
| 705 | value type: tDHL_AudioDownmixType °ª. |
|---|
| 706 | */ |
|---|
| 707 | eDHL_AV_CTL_AUDIO_MIX_TYPE, |
|---|
| 708 | |
|---|
| 709 | /** S/PDIF Ãâ·Â ¸ðµå |
|---|
| 710 | value type: tDHL_AudioIecOutFormat |
|---|
| 711 | |
|---|
| 712 | S/PDIF Ãâ·Â ¿Àµð¿À ¸ðµå¿Í HDMI ¿Àµð¿À ¸ðµåÀÇ °³º° ¼³Á¤ÀÌ ºÒ°¡´ÉÇÑ |
|---|
| 713 | Ç÷§Æû¿¡¼´Â ÇϳªÀÇ ¸ðµå¸¦ º¯°æÇÏ¸é ´Ù¸¥ Âʵµ °°ÀÌ º¯°æµÈ´Ù. |
|---|
| 714 | */ |
|---|
| 715 | eDHL_AV_CTL_AUDIO_SPDIF_MODE, |
|---|
| 716 | |
|---|
| 717 | /** HDMI ¿Àµð¿À Ãâ·Â ¸ðµå |
|---|
| 718 | value type: tDHL_AudioIecOutFormat |
|---|
| 719 | |
|---|
| 720 | S/PDIF Ãâ·Â ¿Àµð¿À ¸ðµå¿Í HDMI ¿Àµð¿À ¸ðµåÀÇ °³º° ¼³Á¤ÀÌ ºÒ°¡´ÉÇÑ |
|---|
| 721 | Ç÷§Æû¿¡¼´Â ÇϳªÀÇ ¸ðµå¸¦ º¯°æÇÏ¸é ´Ù¸¥ Âʵµ °°ÀÌ º¯°æµÈ´Ù. |
|---|
| 722 | */ |
|---|
| 723 | eDHL_AV_CTL_AUDIO_HDMI_MODE, |
|---|
| 724 | |
|---|
| 725 | |
|---|
| 726 | #if 0 |
|---|
| 727 | // ¾Æ·¡ °ªµéÀº NEO ¿¡¼ Ãß°¡µÈ °ÍµéÀε¥, °¢ Àǹ̰¡ ¹®¼È µÇÁö ¾Ê¾î¼ ºÎÁ¤È®. |
|---|
| 728 | eDHL_AV_CTL_ENABLE_VBI, |
|---|
| 729 | eDHL_AV_CTL_WRITE_VBI, |
|---|
| 730 | eDHL_AV_CTL_CGMS, |
|---|
| 731 | eDHL_AV_CTL_MACROVISION, |
|---|
| 732 | #endif |
|---|
| 733 | eDHL_AV_CTL_MAX, |
|---|
| 734 | |
|---|
| 735 | } tDHL_AVControlType; |
|---|
| 736 | |
|---|
| 737 | |
|---|
| 738 | |
|---|
| 739 | /* |
|---|
| 740 | HAL ÀÌÇÏ (driver)¿¡¼ º¸³»´Â °¢Á¾ event ŸÀÔ. |
|---|
| 741 | |
|---|
| 742 | */ |
|---|
| 743 | typedef enum |
|---|
| 744 | { |
|---|
| 745 | /* |
|---|
| 746 | Sequence Header Á¤º¸°¡ º¯°æµÇ¾úÀ½À» ¾Ë¸®´Â callback. |
|---|
| 747 | ÀÌ callbackÀº AV_VideoStart °¡ ºÒ¸° ÀÌÈÄ¿¡ ¹«Á¶°Ç 1ȸ´Â ºÒ¸®µµ·Ï ±¸ÇöµÈ´Ù. |
|---|
| 748 | Áï VideoStop Á÷ÀüÀÇ »óÅÂ¿Í º¯°æÀÌ ¾ø´õ¶óµµ óÀ½ SeqHdr°¡ ¼ö½ÅµÇ¸é ºÒ¸®µµ·Ï |
|---|
| 749 | ±¸ÇöÇÑ´Ù. |
|---|
| 750 | |
|---|
| 751 | param: tDHL_VideoSeqHdr * |
|---|
| 752 | */ |
|---|
| 753 | eDHL_CB_VideoSeqHdr = 0, |
|---|
| 754 | |
|---|
| 755 | /* |
|---|
| 756 | UserData Á¤º¸°¡ ¼ö½ÅµÇ¾úÀ½À» ¾Ë¸®´Â callback. |
|---|
| 757 | param: ?? |
|---|
| 758 | */ |
|---|
| 759 | eDHL_CB_VideoUserData, |
|---|
| 760 | |
|---|
| 761 | /* |
|---|
| 762 | ºñµð¿À µðÄÚµù start ÀÌÈÄ ÃÖÃÊ ºñµð¿À ȸéÀÌ º¸ÀÌ´Â ½ÃÁ¡¿¡ callback |
|---|
| 763 | param: none |
|---|
| 764 | */ |
|---|
| 765 | eDHL_CB_FirstVideoShow, |
|---|
| 766 | |
|---|
| 767 | |
|---|
| 768 | /* |
|---|
| 769 | HDMI ¿¬°á »óÅ µîÀÇ º¯°æÀÌ »ý±æ °æ¿ì callback. |
|---|
| 770 | param: tDHL_VideoHdmiStatus * |
|---|
| 771 | */ |
|---|
| 772 | eDHL_CB_HdmiStatusChanged, |
|---|
| 773 | |
|---|
| 774 | |
|---|
| 775 | eDHL_CB_MAX_NUM |
|---|
| 776 | |
|---|
| 777 | } tDHL_AVCallbackType; |
|---|
| 778 | |
|---|
| 779 | |
|---|
| 780 | /** @brief |
|---|
| 781 | DHL_AV_SetCallback() api ¿¡¼ »ç¿ëµÇ´Â callback ÇÔ¼ö ŸÀÔ. |
|---|
| 782 | |
|---|
| 783 | paramÀº cb_type À̺¥Æ®¿¡ µû¶ó ±× Àǹ̰¡ ´Þ¶óÁø´Ù. |
|---|
| 784 | */ |
|---|
| 785 | typedef void (*tDHL_AVCALLBACK)(tDHL_AVCallbackType cb_type, UINT32 param); |
|---|
| 786 | |
|---|
| 787 | |
|---|
| 788 | |
|---|
| 789 | |
|---|
| 790 | |
|---|
| 791 | #if COMMENT |
|---|
| 792 | ____Types4____(){} |
|---|
| 793 | #endif |
|---|
| 794 | |
|---|
| 795 | /** @brief ºñµð¿À ÀÔ·Â Á¾·ù |
|---|
| 796 | |
|---|
| 797 | */ |
|---|
| 798 | typedef enum |
|---|
| 799 | { |
|---|
| 800 | eDHL_CAP_VIDEO_START, |
|---|
| 801 | eDHL_CAP_AV_VIDEO_START = eDHL_CAP_VIDEO_START, |
|---|
| 802 | eDHL_CAP_AV0_VIDEO = eDHL_CAP_AV_VIDEO_START, |
|---|
| 803 | eDHL_CAP_AV1_VIDEO, |
|---|
| 804 | eDHL_CAP_AV2_VIDEO, |
|---|
| 805 | eDHL_CAP_AV3_VIDEO, |
|---|
| 806 | eDHL_CAP_AV4_VIDEO, |
|---|
| 807 | |
|---|
| 808 | eDHL_CAP_YPBPR_VIDEO_START, // From external YPbPr |
|---|
| 809 | eDHL_CAP_YPBPR0_VIDEO = eDHL_CAP_YPBPR_VIDEO_START, // From external YPbPr_0 |
|---|
| 810 | eDHL_CAP_YPBPR1_VIDEO, // From external YPbPr_1 |
|---|
| 811 | eDHL_CAP_YPBPR2_VIDEO, // From external YPbPr_2 |
|---|
| 812 | eDHL_CAP_YPBPR3_VIDEO, // From external YPbPr_3 |
|---|
| 813 | |
|---|
| 814 | eDHL_CAP_VGA_VIDEO_START, // From external VGA |
|---|
| 815 | eDHL_CAP_VGA0_VIDEO = eDHL_CAP_VGA_VIDEO_START, //from external VGA_0 |
|---|
| 816 | eDHL_CAP_VGA1_VIDEO, // From external VGA_1 |
|---|
| 817 | eDHL_CAP_VGA2_VIDEO, // From external VGA_2 |
|---|
| 818 | eDHL_CAP_VGA3_VIDEO, // From external VGA_3 |
|---|
| 819 | |
|---|
| 820 | eDHL_CAP_HDMI_VIDEO_START, // From HDMI port 0 |
|---|
| 821 | eDHL_CAP_HDMI0_VIDEO = eDHL_CAP_HDMI_VIDEO_START , // From HDMI port 0 |
|---|
| 822 | eDHL_CAP_HDMI1_VIDEO, // From HDMI port 1 |
|---|
| 823 | eDHL_CAP_HDMI2_VIDEO, // From HDMI port 2 |
|---|
| 824 | eDHL_CAP_HDMI3_VIDEO, // From HDMI port 3 |
|---|
| 825 | |
|---|
| 826 | eDHL_CAP_NTSC_VIDEO_START, // From NTSC (CVBS) |
|---|
| 827 | eDHL_CAP_NTSC0_VIDEO = eDHL_CAP_NTSC_VIDEO_START, |
|---|
| 828 | eDHL_CAP_NTSC1_VIDEO, // From NTSC (CVBS) |
|---|
| 829 | |
|---|
| 830 | eDHL_CAP_UOC_VIDEO, |
|---|
| 831 | |
|---|
| 832 | eDHL_CAP_1394_DV, |
|---|
| 833 | eDHL_CAP_1394_TS, |
|---|
| 834 | |
|---|
| 835 | eDHL_CAP_DTV_TS0, |
|---|
| 836 | eDHL_CAP_DTV_TS1, |
|---|
| 837 | |
|---|
| 838 | eDHL_CAP_VIDEO_END, |
|---|
| 839 | eDHL_CAP_VIDEO_NONE = eDHL_CAP_VIDEO_END |
|---|
| 840 | |
|---|
| 841 | } tDHL_CapVideoInput; |
|---|
| 842 | |
|---|
| 843 | |
|---|
| 844 | /** @brief ¿Àµð¿À ÀÔ·Â Á¾·ù |
|---|
| 845 | |
|---|
| 846 | */ |
|---|
| 847 | typedef enum |
|---|
| 848 | { |
|---|
| 849 | eDHL_CAP_AV_AUDIO_START, |
|---|
| 850 | eDHL_CAP_AV0_AUDIO = eDHL_CAP_AV_AUDIO_START, |
|---|
| 851 | eDHL_CAP_AV1_AUDIO, |
|---|
| 852 | eDHL_CAP_AV2_AUDIO, |
|---|
| 853 | eDHL_CAP_AV3_AUDIO, |
|---|
| 854 | eDHL_CAP_AV4_AUDIO, |
|---|
| 855 | |
|---|
| 856 | eDHL_CAP_YPBPR_AUDIO_START, // From external YPbPr |
|---|
| 857 | eDHL_CAP_YPBPR0_AUDIO = eDHL_CAP_YPBPR_AUDIO_START, // From external YPbPr_0 |
|---|
| 858 | eDHL_CAP_YPBPR1_AUDIO, // From external YPbPr_1 |
|---|
| 859 | eDHL_CAP_YPBPR2_AUDIO, // From external YPbPr_2 |
|---|
| 860 | eDHL_CAP_YPBPR3_AUDIO, // From external YPbPr_3 |
|---|
| 861 | |
|---|
| 862 | eDHL_CAP_VGA_AUDIO_START, |
|---|
| 863 | eDHL_CAP_VGA0_AUDIO = eDHL_CAP_VGA_AUDIO_START, |
|---|
| 864 | eDHL_CAP_VGA1_AUDIO, // From external VGA |
|---|
| 865 | eDHL_CAP_VGA2_AUDIO, // From external |
|---|
| 866 | eDHL_CAP_VGA3_AUDIO, // From external |
|---|
| 867 | |
|---|
| 868 | eDHL_CAP_HDMI_AUDIO_START, // From HDMI port 0 |
|---|
| 869 | eDHL_CAP_HDMI0_AUDIO = eDHL_CAP_HDMI_AUDIO_START , // From HDMI port 0 |
|---|
| 870 | eDHL_CAP_HDMI1_AUDIO, // From HDMI port 1 |
|---|
| 871 | eDHL_CAP_HDMI2_AUDIO, // From HDMI port 2 |
|---|
| 872 | eDHL_CAP_HDMI3_AUDIO, // From HDMI port 3 |
|---|
| 873 | |
|---|
| 874 | eDHL_CAP_NTSC_AUDIO_START, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 875 | eDHL_CAP_NTSC0_AUDIO = eDHL_CAP_NTSC_AUDIO_START, |
|---|
| 876 | eDHL_CAP_NTSC1_AUDIO, // From NTSC (CVBS) - 3D Comb Filter input |
|---|
| 877 | |
|---|
| 878 | eDHL_CAP_UOC_AUDIO, // From UOC : SABIN Project specific |
|---|
| 879 | |
|---|
| 880 | eDHL_CAP_1394_DV_AUDIO, // |
|---|
| 881 | eDHL_CAP_1394_TS_AUDIO, // |
|---|
| 882 | |
|---|
| 883 | eDHL_CAP_DTV_TS0_AUDIO, // |
|---|
| 884 | eDHL_CAP_DTV_TS1_AUDIO, // |
|---|
| 885 | |
|---|
| 886 | eDHL_CAP_AUDIO_END, |
|---|
| 887 | eDHL_CAP_AUDIO_NONE = eDHL_CAP_AUDIO_END |
|---|
| 888 | |
|---|
| 889 | } tDHL_CapAudioInput; |
|---|
| 890 | |
|---|
| 891 | |
|---|
| 892 | |
|---|
| 893 | |
|---|
| 894 | |
|---|
| 895 | #if COMMENT |
|---|
| 896 | _____Info_____(){} |
|---|
| 897 | #endif |
|---|
| 898 | |
|---|
| 899 | |
|---|
| 900 | /* |
|---|
| 901 | DHL video decoder ³»ºÎ »óÅ º¯¼ö. |
|---|
| 902 | ÇÊ¿äÇÑ °ªµéÀº À̰÷¿¡ Ãß°¡ÇÏ¿© »ç¿ëÇÒ °Í. |
|---|
| 903 | */ |
|---|
| 904 | typedef struct |
|---|
| 905 | { |
|---|
| 906 | UINT32 magic1; |
|---|
| 907 | |
|---|
| 908 | tDHL_VideoSeqHdr seqhdr; // copy of current seq hdr. |
|---|
| 909 | |
|---|
| 910 | void *core; // vendor-specific internal data structure. |
|---|
| 911 | |
|---|
| 912 | UINT32 magic2; |
|---|
| 913 | |
|---|
| 914 | } DHL_VIDEO_CONTEXT; |
|---|
| 915 | |
|---|
| 916 | |
|---|
| 917 | typedef enum |
|---|
| 918 | { |
|---|
| 919 | DHL_AV_VIDEO_INIT, // System is not initialized yet.. |
|---|
| 920 | |
|---|
| 921 | DHL_AV_VIDEO_READY, // context is created, but not run state yet |
|---|
| 922 | DHL_AV_VIDEO_START, // video is playing now. |
|---|
| 923 | |
|---|
| 924 | DHL_AV_VIDEO_STOP_READY, // |
|---|
| 925 | DHL_AV_VIDEO_STOP, // context is deleted |
|---|
| 926 | |
|---|
| 927 | DHL_AV_VIDEO_FREEZE, // video is currently freezed |
|---|
| 928 | |
|---|
| 929 | DHL_AV_VIDEO_CLOSE // System finalized |
|---|
| 930 | |
|---|
| 931 | } DHL_VIDEO_STATUS; |
|---|
| 932 | |
|---|
| 933 | |
|---|
| 934 | typedef struct |
|---|
| 935 | { |
|---|
| 936 | OS_SEMAPHORE_ID Mutex; |
|---|
| 937 | |
|---|
| 938 | // Program INFO |
|---|
| 939 | UINT16 uVidPID; //current video PID |
|---|
| 940 | UINT16 uAudPID; //current audio PID |
|---|
| 941 | UINT16 uPcrPID; //current PCR PID |
|---|
| 942 | tDHL_AudioCodingType AudStremType; //current input audio stream type |
|---|
| 943 | |
|---|
| 944 | // capture config |
|---|
| 945 | // |
|---|
| 946 | tDHL_CapVideoInput CapInVideoSrc; |
|---|
| 947 | tDHL_CapAudioInput CapInAudioSrc; //input audio source |
|---|
| 948 | |
|---|
| 949 | |
|---|
| 950 | // |
|---|
| 951 | // Video °ü·Ã º¯¼ö |
|---|
| 952 | // |
|---|
| 953 | |
|---|
| 954 | DHL_VIDEO_CONTEXT *curVideoContext; |
|---|
| 955 | // video°¡ decoding Áغñ°¡ µÇ¸é ÀÌ context°¡ non-Null ÀÌ´Ù. |
|---|
| 956 | // freeze »óÅ¿¡¼µµ ÀÌ °ªÀº non-Null À̾î¾ß ÇÑ´Ù. |
|---|
| 957 | |
|---|
| 958 | DHL_VIDEO_STATUS uCurVideoStatus; |
|---|
| 959 | |
|---|
| 960 | INT32 nDisplayWidth; |
|---|
| 961 | INT32 nDisplayHeight; |
|---|
| 962 | |
|---|
| 963 | // |
|---|
| 964 | // Video - Display °ü·Ã º¯¼ö |
|---|
| 965 | // |
|---|
| 966 | |
|---|
| 967 | UINT32 curBgdcolor; // dmc_backgroundColor |
|---|
| 968 | |
|---|
| 969 | tDHL_DispARC curARAdjustment; // dmc_adjustment |
|---|
| 970 | // cafrii 060609 add |
|---|
| 971 | //AspectRatioAdjustment userAdjustment; |
|---|
| 972 | |
|---|
| 973 | DHL_WINRECT curWinRect; // dmc_winRect |
|---|
| 974 | DHL_WINRECT userWinRect; |
|---|
| 975 | |
|---|
| 976 | BOOL bVideoHide; // user video hide flag. |
|---|
| 977 | |
|---|
| 978 | // |
|---|
| 979 | // Contrast/Brightness/Saturation/Tint |
|---|
| 980 | // |
|---|
| 981 | UINT32 uContrast; //contrast |
|---|
| 982 | UINT32 uBrightness; //brightness |
|---|
| 983 | UINT32 uColor; //color saturation |
|---|
| 984 | INT32 uTint; //tint |
|---|
| 985 | |
|---|
| 986 | // |
|---|
| 987 | // Audio °ü·Ã º¯¼ö |
|---|
| 988 | // |
|---|
| 989 | //BK DHL_AUDIO_STATUS uCurAudioStatus; |
|---|
| 990 | |
|---|
| 991 | //BK DHL_AUDIO_CONTEXT *curAudioContext; |
|---|
| 992 | // audio¸¦ µðÄÚµù ÇÒ Áغñ°¡ µÇ¸é ÀÌ context°¡ non-null ÀÌ´Ù. |
|---|
| 993 | |
|---|
| 994 | BOOL bPortsParamInit; |
|---|
| 995 | |
|---|
| 996 | tDHL_AudioIecOutFormat iecOutputMode; |
|---|
| 997 | BOOL isSpdifMuted; |
|---|
| 998 | // cafrii 060630 add |
|---|
| 999 | // SPDIF mute°¡ µÈ °æ¿ì¿¡µµ IEC mode´Â ÀÌÀü °ªÀ» À¯ÁöÇϰí ÀÖ´Ù. |
|---|
| 1000 | // SPDIF mute°¡ Ç®¸®¸é ´Ù½Ã ÇØ´ç ¸ðµå·Î ³ª¿Í¾ß ÇϹǷÎ.. |
|---|
| 1001 | |
|---|
| 1002 | UINT32 audioMuteMap; // |
|---|
| 1003 | //BOOL isMuted; // user mute status |
|---|
| 1004 | |
|---|
| 1005 | //BOO isAudioInitialized; |
|---|
| 1006 | |
|---|
| 1007 | UINT16 uVolLvl; // »ç¿ëÀÚ°¡ ¼³Á¤ÇÑ volume level.. |
|---|
| 1008 | UINT16 uLogVolLvl; // Logical volume level |
|---|
| 1009 | |
|---|
| 1010 | INT32 nAudioDelay, nAudioIecDelay; // cafrii 060609 add |
|---|
| 1011 | |
|---|
| 1012 | } DHL_AV_CONFIG, *P_DHL_AV_CONFIG; |
|---|
| 1013 | |
|---|
| 1014 | |
|---|
| 1015 | #if COMMENT |
|---|
| 1016 | ____Defines____(){} |
|---|
| 1017 | #endif |
|---|
| 1018 | |
|---|
| 1019 | |
|---|
| 1020 | |
|---|
| 1021 | |
|---|
| 1022 | |
|---|
| 1023 | |
|---|
| 1024 | |
|---|
| 1025 | #if COMMENT |
|---|
| 1026 | ____API____(){} |
|---|
| 1027 | #endif |
|---|
| 1028 | |
|---|
| 1029 | /* RF CH3/4 function */ |
|---|
| 1030 | |
|---|
| 1031 | DHL_RESULT DHL_SetRFM34(UINT8 chnum); |
|---|
| 1032 | |
|---|
| 1033 | /* Loop Through On */ |
|---|
| 1034 | DHL_RESULT DHL_SetLTO(BOOL onoff); |
|---|
| 1035 | |
|---|
| 1036 | /** @brief Ãâ·Â ÇØ»óµµ¸¦ º¯°æÇÏ´Â ÇÔ¼ö. |
|---|
| 1037 | |
|---|
| 1038 | »ç½Ç port Áß¿¡¼ ÇØ»óµµ ¼³Á¤ÀÌ °¡´ÉÇÑ Æ÷Æ®´Â Component ¿Í DVI/HDMI ¹Û¿¡ ¾ø´Ù. |
|---|
| 1039 | |
|---|
| 1040 | ±×¸®°í Component¿Í HDMIÀÇ ÇØ»óµµ´Â ¼·Î µ¿ÀÏÇØ¾ß ÇÏ´Â Á¶°ÇÀÌ ÀÖ´Â °æ¿ì°¡ ¸¹´Ù. |
|---|
| 1041 | |
|---|
| 1042 | colorÀÇ ¿ëµµ´Â color space (YCbCr ¶Ç´Â RGB) ¼±ÅÃÇÏ´Â °Í. |
|---|
| 1043 | component¿Í HDMI/DVIÀÇ °æ¿ì¿¡¸¸ Àǹ̰¡ ÀÖ´Ù. |
|---|
| 1044 | |
|---|
| 1045 | format ÀÌ ½ÇÁ¦ º¯°æÇϰíÀÚ ÇÏ´Â ÇØ»óµµ Á¤º¸¸¦ ³ªÅ¸³½´Ù. |
|---|
| 1046 | format¿¡¼ eDHL_DISP_NO_OUTPUTÀ» ÁöÁ¤Çϸé ÇØ´ç ½ÅÈ£´Â blockµÈ´Ù. (¹«½ÅÈ£) |
|---|
| 1047 | |
|---|
| 1048 | @param[in] port ÇØ»óµµ¸¦ ¼³Á¤ÇÒ Æ÷Æ® ´ÜÀÚ. |
|---|
| 1049 | @param[in] format Ãâ·Â ÇØ»óµµ. |
|---|
| 1050 | @param[in] color color space type. |
|---|
| 1051 | */ |
|---|
| 1052 | DHL_RESULT DHL_AV_DispSetFormat( |
|---|
| 1053 | tDHL_DispPort port, tDHL_DispFormat format, tDHL_DispColorSpace color); |
|---|
| 1054 | |
|---|
| 1055 | |
|---|
| 1056 | |
|---|
| 1057 | /** @brief MPEG Video decodingÀ» ½ÃÀÛÇÑ´Ù. |
|---|
| 1058 | |
|---|
| 1059 | ÁÖ¾îÁø pid Á¤º¸·Î ºñµð¿À µðÄÚµùÀ» ½ÃÀÛÇϰí, |
|---|
| 1060 | µðÄÚµù µÈ ºñµð¿À ȸéÀ» Ç¥½ÃÇÑ´Ù. |
|---|
| 1061 | |
|---|
| 1062 | µðÄÚ´õ id´Â multiple decodingÀ» Áö¿øÇÏ´Â °æ¿ì µðÄÚ´õ ±¸ºÐÀ» À§ÇØ »ç¿ëµÈ´Ù. |
|---|
| 1063 | |
|---|
| 1064 | ȸ鿡 Ãâ·ÂµÇ´Â ¿µ¿ªÀº ´Ù¸¥ API¸¦ ÅëÇØ¼ ¿µ¿ª ÁöÁ¤(resize)ÀÌ °¡´ÉÇÏ´Ù. |
|---|
| 1065 | |
|---|
| 1066 | @param[in] id ºñµð¿À µðÄÚ´õ id. |
|---|
| 1067 | @param[in] vid_pid µðÄÚµù ÇÒ ºñµð¿ÀÀÇ PID |
|---|
| 1068 | @param[in] pcr_pid µðÄÚµù ÇÒ ºñµð¿ÀÀÇ PCR PID |
|---|
| 1069 | @param[in] vid_type µðÄÚµù ÇÒ ºñµð¿À ESÀÇ ÄÚµù ŸÀÔ. |
|---|
| 1070 | @return |
|---|
| 1071 | */ |
|---|
| 1072 | DHL_RESULT DHL_AV_VideoStart(tDHL_VDID id, |
|---|
| 1073 | UINT16 vid_pid, UINT16 pcr_pid, tDHL_VideoCodingType vid_type); |
|---|
| 1074 | |
|---|
| 1075 | |
|---|
| 1076 | /** @brief MPEG video decodingÀ» Áß´ÜÇÑ´Ù. |
|---|
| 1077 | |
|---|
| 1078 | @param[in] id ºñµð¿À µðÄÚ´õ id. |
|---|
| 1079 | @return |
|---|
| 1080 | */ |
|---|
| 1081 | DHL_RESULT DHL_AV_VideoStop (tDHL_VDID id); |
|---|
| 1082 | |
|---|
| 1083 | |
|---|
| 1084 | |
|---|
| 1085 | |
|---|
| 1086 | |
|---|
| 1087 | |
|---|
| 1088 | /** @brief ÇöÀç µðÄÚµù ÁßÀÎ ºñµð¿ÀÀÇ Sequence Hdr Á¤º¸¸¦ °¡Á®¿Â´Ù. |
|---|
| 1089 | |
|---|
| 1090 | sequence header Á¤º¸¸¦ ¾ò¾î¿Â´Ù. |
|---|
| 1091 | pSeq´Â Á¤º¸°¡ ä¿öÁú ±¸Á¶Ã¼ Æ÷ÀÎÅÍÀ̸ç caller°¡ Á¦°øÇÑ´Ù. |
|---|
| 1092 | |
|---|
| 1093 | ÀÌ ÇÔ¼ö´Â blocking µÇÁö ¾Ê´Â´Ù. |
|---|
| 1094 | ¸¸¾à ÇöÀç SeqHdr Á¤º¸°¡ available ÇÏÁö ¾Ê´Ù¸é Áï½Ã ¿¡·¯¸¦ ¸®ÅÏÇÑ´Ù. |
|---|
| 1095 | |
|---|
| 1096 | SeqHdr°¡ ¼ö½ÅµÇ¾ú´Ù´Â callback ÅëÁö¸¦ ¹ÞÀº ÈÄ¿¡ ÀÌ API¸¦ »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. |
|---|
| 1097 | |
|---|
| 1098 | @param[in] id Á¤º¸ Á¶È¸ÇÒ ºñµð¿À µðÄÚ´õ id. |
|---|
| 1099 | @param[out] pSeq ½ÃÄö½º Çì´õ Á¤º¸°¡ ä¿öÁú ¿µ¿ª. caller°¡ Á¦°ø. |
|---|
| 1100 | |
|---|
| 1101 | @return |
|---|
| 1102 | - DHL_FAIL_INVALID_PARAM : ÆÄ¶ó¹ÌÅÍ ¿À·ù |
|---|
| 1103 | - DHL_FAIL_NOT_AVAILABLE : ¾ÆÁ÷ SeqHdr Á¤º¸°¡ ¼ö½Å ¾ÈµÇ¾úÀ½. |
|---|
| 1104 | |
|---|
| 1105 | */ |
|---|
| 1106 | DHL_RESULT DHL_AV_VideoSeqInfo(tDHL_VDID id, tDHL_VideoSeqHdr *pSeq); |
|---|
| 1107 | |
|---|
| 1108 | |
|---|
| 1109 | /** @brief ºñµð¿À °¢Á¾ »óÅ Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. |
|---|
| 1110 | |
|---|
| 1111 | (ÁÖÀÇ) |
|---|
| 1112 | ÀϺΠtDHL_VideoStatus Á¤º¸´Â video decoder ¿Í ¹«°üÇÑ display ¼Ó¼ºÀÌ´Ù. |
|---|
| 1113 | µû¶ó¼ ÀÌ·± Á¤º¸´Â tDHL_VDID ÀÎÀÚ °ª¿¡ »ó°ü ¾øÀÌ ÀÏÁ¤ÇÑ °ªÀÌ ¸®ÅϵȴÙ. |
|---|
| 1114 | |
|---|
| 1115 | @param[in] id Á¤º¸ Á¶È¸ÇÒ ºñµð¿À µðÄÚ´õ id. |
|---|
| 1116 | @param[out] pStatus ºñµð¿À µðÄÚ´õ »óÅ |
|---|
| 1117 | */ |
|---|
| 1118 | DHL_RESULT DHL_AV_VideoGetStatus(tDHL_VDID id, tDHL_VideoStatus *pStatus); |
|---|
| 1119 | |
|---|
| 1120 | |
|---|
| 1121 | |
|---|
| 1122 | /** @brief Video display hide(mute) Á¦¾î. |
|---|
| 1123 | |
|---|
| 1124 | Video mute/unmute Á¦¾î¸¦ ÇÑ´Ù. |
|---|
| 1125 | Rating Á¦¾î °°Àº ¿ëµµ·Î »ç¿ëµÉ ¼ö ÀÖ´Ù. |
|---|
| 1126 | OSD (graphics) planeÀº ¿µÇâÀ» ¹ÞÁö ¾Ê¾Æ¾ß ÇÑ´Ù. |
|---|
| 1127 | |
|---|
| 1128 | @param[in] id ºñµð¿À µðÄÚ´õ id. |
|---|
| 1129 | @param[in] bHide TRUE À̸é mute, FALSE À̸é unmute¸¦ ÇÑ´Ù. |
|---|
| 1130 | |
|---|
| 1131 | @return |
|---|
| 1132 | */ |
|---|
| 1133 | void DHL_AV_DispStop(BOOL onoff); |
|---|
| 1134 | DHL_RESULT DHL_AV_VideoHide(tDHL_VDID id, BOOL bHide); |
|---|
| 1135 | |
|---|
| 1136 | /** @brief ºñµð¿À Ãâ·ÂÀ» ÀϽà Á¤Áö/ÇØÁ¦ ÇÑ´Ù. |
|---|
| 1137 | |
|---|
| 1138 | Video decoder/display freeze or unfreeze |
|---|
| 1139 | |
|---|
| 1140 | ³»ºÎ¿¡¼ ºñµð¿À µðÄÚµùÀº °è¼ÓÇØ¼ ÁøÇàÇÏ´Â °ÍÀ» ¿øÄ¢À¸·Î ÇÑ´Ù. |
|---|
| 1141 | |
|---|
| 1142 | unfreeze ½Ã¿¡ µðÄÚµùÀ» »õ·Ó°Ô ´Ù½Ã ½ÃÀÛÇÏ´Â °Í º¸´Ù´Â ´õ ºü¸£°Ô |
|---|
| 1143 | Àç»ý ¸ðµå·Î µé¾î°¡¾ß ÇÑ´Ù. |
|---|
| 1144 | |
|---|
| 1145 | @param[in] id ºñµð¿À µðÄÚ´õ id. |
|---|
| 1146 | @param[in] bFreeze TRUE À̸é freeze, FALSE À̸é unfreeze ÇÑ´Ù. |
|---|
| 1147 | |
|---|
| 1148 | @return |
|---|
| 1149 | */ |
|---|
| 1150 | DHL_RESULT DHL_AV_VideoFreeze(tDHL_VDID id, BOOL bFreeze); |
|---|
| 1151 | |
|---|
| 1152 | |
|---|
| 1153 | |
|---|
| 1154 | /** @brief ºñµð¿À°¡ Ãâ·ÂµÇ´Â ¿µ¿ªÀ» ÁöÁ¤ÇÑ´Ù. |
|---|
| 1155 | |
|---|
| 1156 | ȸé ÀϺκп¡¸¸ ºñµð¿À ȸéÀ» Ç¥½ÃÇÏ´Â °æ¿ì »ç¿ëÇÑ´Ù. |
|---|
| 1157 | (¿¹: EPG µî¿¡¼ÀÇ thumbnail µî) |
|---|
| 1158 | |
|---|
| 1159 | Ãʱ⠵ðÆúÆ®´Â Àüü ȸéÀÌ´Ù. |
|---|
| 1160 | ÇØ»óµµ¿¡ µû¶ó Àüü ȸé ÁÂÇ¥°¡ ´Ù¸§¿¡ À¯ÀÇÇÑ´Ù. |
|---|
| 1161 | |
|---|
| 1162 | ÀÌ ±â´ÉÀº Video Hide »óÅÂ, Free »óÅ¿¡¼µµ »ç¿ë °¡´ÉÇØ¾ß ÇÑ´Ù. |
|---|
| 1163 | |
|---|
| 1164 | ARC¿Í´Â µ¶¸³ÀûÀ¸·Î µ¿ÀÛÇÑ´Ù. (resize µÈ È¸é ³»¿¡¼ ARC°¡ ´Ù½Ã Àû¿ëµÊ) |
|---|
| 1165 | Áï size¸¦ (0,0, 400,300) À¸·Î ÇÑ »óÅ¿¡¼ LetterBox°¡ Àû¿ëµÇ¸é |
|---|
| 1166 | ½ÇÁ¦ video´Â (0,37, 400,225) ¿µ¿ª¿¡ Ç¥½ÃµÊ. |
|---|
| 1167 | |
|---|
| 1168 | @todo |
|---|
| 1169 | Resize µÈ ȸéÀÌ 4:3, 16:9 µîÀÇ Á¤º¸°¡ Ʋ·ÁÁ³´Âµ¥ ARCÀÇ Àǹ̰¡ Àִ°¡? |
|---|
| 1170 | |
|---|
| 1171 | @param[in] id ºñµð¿À µðÄÚ´õ id. |
|---|
| 1172 | @param[in] x |
|---|
| 1173 | @param[in] y |
|---|
| 1174 | @param[in] w |
|---|
| 1175 | @param[in] h |
|---|
| 1176 | @return |
|---|
| 1177 | */ |
|---|
| 1178 | DHL_RESULT DHL_AV_VideoResize(tDHL_VDID id, int x, int y, int w, int h); |
|---|
| 1179 | |
|---|
| 1180 | |
|---|
| 1181 | |
|---|
| 1182 | /** @brief ARC ¸ðµå¸¦ Àû¿ëÇÑ´Ù. |
|---|
| 1183 | |
|---|
| 1184 | HD Ãâ·Â°ú SD Ãâ·Â¿¡ °¢°¢ ´Ù¸¥ ARC ¸ðµå¸¦ Àû¿ëÇÒ ¼ö ÀÖµµ·Ï |
|---|
| 1185 | µÎ°¡Áö ARC °ªÀ» ¹Þ´Â´Ù. |
|---|
| 1186 | |
|---|
| 1187 | °ú°Å rect ÀÎÀÚ´Â »ç¿ëÇÏÁö ¾ÊÀ¸¹Ç·Î »èÁ¦. |
|---|
| 1188 | |
|---|
| 1189 | HD Ãâ·ÂÀº HDMI, Component ¸¦ ÀǹÌÇϰí (ÀϹÝÀûÀ¸·Î 16:9 display°¡ ¿¬°á) |
|---|
| 1190 | SD Ãâ·ÂÀº CVBS, S-Video ´ÜÀÚ¸¦ ÀǹÌ. (°ÅÀÇ ´ëºÎºÐ 4:3 display ¿¬°á) |
|---|
| 1191 | |
|---|
| 1192 | HD, SD Ãâ·Â ´ÜÀÚ¿¡ µ¶¸³ÀûÀ¸·Î ARC Àû¿ëÀÌ ºÒ°¡´ÉÇÑ platform ¿¡¼´Â |
|---|
| 1193 | adj_sd ÀÎÀÚ´Â ¹«½ÃµÉ ¼ö ÀÖÀ½. |
|---|
| 1194 | |
|---|
| 1195 | @param[in] adj_hd HD Ãâ·Â Æ÷Æ®¿¡ Àû¿ëÇϰíÀÚ ÇÏ´Â ARC mode |
|---|
| 1196 | @param[in] adj_sd SD Ãâ·Â Æ÷Æ®¿¡ Àû¿ëÇϰíÀÚ ÇÏ´Â ARC mode |
|---|
| 1197 | */ |
|---|
| 1198 | DHL_RESULT DHL_AV_VideoSetARC(tDHL_DispARC adj_hd, tDHL_DispARC adj_sd); |
|---|
| 1199 | |
|---|
| 1200 | |
|---|
| 1201 | |
|---|
| 1202 | /** @brief ¾Æ³¯·Î±× ºñµð¿À Ãâ·Â¿¡ 608 µ¥ÀÌÅ͸¦ »ðÀÔÇÑ´Ù. |
|---|
| 1203 | |
|---|
| 1204 | ¾Æ³¯·Î±× ºñµð¿À Ãâ·Â¿¡ 608 µ¥ÀÌÅ͸¦ »ðÀÔÇÑ´Ù. |
|---|
| 1205 | |
|---|
| 1206 | @param[in] is_even data1°ú data2°¡ »ðÀԵǴ frameÀÌ odd / even ÀÎÁö ±¸ºÐ |
|---|
| 1207 | @param[in] data1 608 µ¥ÀÌÅÍÀÇ ÇÏÀ§ |
|---|
| 1208 | @param[in] data2 608 µ¥ÀÌÅÍÀÇ »óÀ§ |
|---|
| 1209 | @param[in] is_end »ðÀԵǴ 608 µ¥ÀÌÅÍ ´ÜÀ§¸¦ ±¸ºÐ |
|---|
| 1210 | */ |
|---|
| 1211 | DHL_RESULT DHL_AV_VideoFeeding608(BOOL is_even, UINT8 data1, UINT8 data2, |
|---|
| 1212 | BOOL is_end); |
|---|
| 1213 | |
|---|
| 1214 | |
|---|
| 1215 | |
|---|
| 1216 | |
|---|
| 1217 | #if COMMENT |
|---|
| 1218 | ____API2____(){} |
|---|
| 1219 | #endif |
|---|
| 1220 | |
|---|
| 1221 | |
|---|
| 1222 | /** @brief Audio decodingÀ» ½ÃÀÛÇÑ´Ù. |
|---|
| 1223 | |
|---|
| 1224 | ÁÖ¾îÁø pid Á¤º¸·Î audio decodingÀ» ½ÃÀÛÇÑ´Ù. |
|---|
| 1225 | µðÄÚµù °ú ÇÔ²² audio playµµ °°ÀÌ ½ÃÀÛÇÑ´Ù. (Áï ¼Ò¸®°¡ Ãâ·Â µÊ) |
|---|
| 1226 | |
|---|
| 1227 | TS ÀÔ·Â ¼Ò½º´Â ÀÌ API »ó¿¡¼ ÁöÁ¤ÇÏ´Â °ÍÀº ºÒ°¡´ÉÇÏ´Ù. |
|---|
| 1228 | Ç÷§Æû º°·Î ÀÔ·Â Æ÷Æ®°¡ °íÁ¤µÇ¾î ÀÖ´Ù. |
|---|
| 1229 | |
|---|
| 1230 | pcr_pid´Â ¿ø·¡ Audio, video¿¡ °øÅëÀ¸·Î Àû¿ëµÇ´Âµ¥, |
|---|
| 1231 | video µðÄÚµùÀÌ ÀÌ¹Ì µ¿ÀÛ ÁßÀ̶ó¸é video decoding¿¡ »ç¿ëµÈ pcr pid¿Í |
|---|
| 1232 | µ¿ÀÏÇØ¾ß ÇÑ´Ù. ¸¸¾à µ¿ÀÏÇÏÁö ¾ÊÀº °æ¿ì ¹«½ÃµÇ°Å³ª ¾Æ´Ï¸é ±âÁ¸ÀÇ video |
|---|
| 1233 | decoding¿¡ ¿µÇâÀ» ³¢Ä¥ ¼ö ÀÖ´Ù. |
|---|
| 1234 | |
|---|
| 1235 | caller´Â ÄÚµù ŸÀÔ (ÄÚµ¦ ŸÀÔ)Àº °¡´ÉÇϸé Á¤È®ÇÏ°Ô ÁöÁ¤ÇØ¾ß ÇÑ´Ù. |
|---|
| 1236 | UnknownÀ» ÁöÁ¤ÇÒ °æ¿ì DHL ³»ºÎ¿¡¼ bitstream Á¤º¸¸¦ ºÐ¼®ÇÏ¿© |
|---|
| 1237 | ½ºÆ®¸² Á¤º¸¸¦ detect ÇÏ´Â ±â´ÉÀ» Á¦°øÇÒ ¼öµµ ÀÖ´Ù. |
|---|
| 1238 | |
|---|
| 1239 | @param[in] aud_pid µðÄÚµù ÇÒ audio pid |
|---|
| 1240 | @param[in] pcr_pid pcr pid |
|---|
| 1241 | @param[in] aud_type ¿Àµð¿À ÄÚµ¦ ŸÀÔ |
|---|
| 1242 | |
|---|
| 1243 | */ |
|---|
| 1244 | DHL_RESULT DHL_AV_AudioStart(UINT16 aud_pid, UINT16 pcr_pid, tDHL_AudioCodingType aud_type); |
|---|
| 1245 | |
|---|
| 1246 | /** @brief Audio decodingÀ» Áß´ÜÇÑ´Ù. |
|---|
| 1247 | |
|---|
| 1248 | */ |
|---|
| 1249 | DHL_RESULT DHL_AV_AudioStop(void); |
|---|
| 1250 | |
|---|
| 1251 | /** @brief Audio °¢Á¾ »óÅ Á¤º¸¸¦ ¸®ÅÏÇÑ´Ù. |
|---|
| 1252 | |
|---|
| 1253 | @param[out] pStatus ¿Àµð¿À µðÄÚ´õ »óÅ |
|---|
| 1254 | */ |
|---|
| 1255 | DHL_RESULT DHL_AV_AudioGetStatus(tDHL_AudioStatus *pStatus); |
|---|
| 1256 | |
|---|
| 1257 | |
|---|
| 1258 | |
|---|
| 1259 | |
|---|
| 1260 | |
|---|
| 1261 | /** @brief ¿Àµð¿À ¹ÂÆ® ¼³Á¤ |
|---|
| 1262 | |
|---|
| 1263 | @param[in] mutePlace ¾î´À ºÎºÐÀÇ mute¸¦ ¼³Á¤ÇÒ °ÍÀÎÁö ÁöÁ¤. |
|---|
| 1264 | @param[in] bMute TRUE¸é mute, FALSE¸é unmute. |
|---|
| 1265 | */ |
|---|
| 1266 | DHL_RESULT DHL_AV_AudioMuteControl(tDHL_AudioMutePlace mutePlace, BOOL bMute); |
|---|
| 1267 | |
|---|
| 1268 | |
|---|
| 1269 | /** @brief »ç¿ëÀÚ ¿Àµð¿À º¼·ý ¿µ¿ª ¼³Á¤. |
|---|
| 1270 | |
|---|
| 1271 | DHL client°¡ »ç¿ëÇÏ´Â º¼·ý °³³äÀÎ user volumeÀÇ ¿µ¿ªÀ» ¼³Á¤ÇÑ´Ù. |
|---|
| 1272 | |
|---|
| 1273 | Audio volume¿¡ ´ëÇÑ °¢ °èÃþº° ¿ë¾î´Â ´ÙÀ½°ú °°´Ù. |
|---|
| 1274 | |
|---|
| 1275 | - user volume |
|---|
| 1276 | - application¿¡¼ »ç¿ëÇÏ´Â volume unit. |
|---|
| 1277 | - DHL_AV_AudioSetUserVolumeRange() ¸¦ ÀÌ¿ëÇÏ¿© ÃÖ¼Ò, ÃÖ´ë ¹üÀ§ ÁöÁ¤. |
|---|
| 1278 | - (´Ü stepÀº ÁöÁ¤ÀÌ ºÒ°¡´ÉÇϸç, Á¤¼ö ¸¸ »ç¿ë °¡´ÉÇÔ) |
|---|
| 1279 | |
|---|
| 1280 | - logical volume |
|---|
| 1281 | - HAL ³»ºÎ¿¡¼ »ç¿ëÇÏ´Â volume unit. |
|---|
| 1282 | - 0~100 ¹üÀ§¸¦ °¡Áø´Ù. |
|---|
| 1283 | - ÀÎÅÍÆäÀ̽º ³»ºÎ¿¡ °¨ÃçÁ® ÀÖÀ¸¸ç, app¿¡¼´Â ÀÌ¿¡ ´ëÇØ¼ ¾Ë ÇÊ¿ä ¾øÀ½. |
|---|
| 1284 | |
|---|
| 1285 | - device volume |
|---|
| 1286 | - ½ÇÁ¦ volume ÀåÄ¡ |
|---|
| 1287 | - audio decoder, pcm output player, audio DAC µîÀÌ |
|---|
| 1288 | volume Á¶Á¤ ÀåÄ¡°¡ µÉ ¼ö ÀÖÀ½. |
|---|
| 1289 | */ |
|---|
| 1290 | DHL_RESULT DHL_AV_AudioSetUserVolumeRange(UINT32 uVolMin, UINT32 uVolMax); |
|---|
| 1291 | |
|---|
| 1292 | /** @brief »ç¿ëÀÚ ¿Àµð¿À º¼·ýÀ» ¼³Á¤ÇÑ´Ù. |
|---|
| 1293 | */ |
|---|
| 1294 | DHL_RESULT DHL_AV_AudioSetVolume(UINT16 uVolLvl); |
|---|
| 1295 | |
|---|
| 1296 | |
|---|
| 1297 | |
|---|
| 1298 | |
|---|
| 1299 | |
|---|
| 1300 | #if COMMENT |
|---|
| 1301 | ____API3____(){} |
|---|
| 1302 | #endif |
|---|
| 1303 | |
|---|
| 1304 | |
|---|
| 1305 | /** @brief generic purpose query API |
|---|
| 1306 | |
|---|
| 1307 | ¿©·¯°¡Áö ¿ëµµ·Î »ç¿ë °¡´ÉÇÑ Query API. |
|---|
| 1308 | tDHL_AVQueryType Ç׸ñ Âü°í. |
|---|
| 1309 | |
|---|
| 1310 | @param[in] type Á¶È¸ÇÒ ³»¿ë Á¾·ù. |
|---|
| 1311 | @param[in] pValue Á¶È¸ °á°ú °ªÀÌ Àü´Þ µÉ °÷. |
|---|
| 1312 | */ |
|---|
| 1313 | DHL_RESULT DHL_AV_Query(tDHL_AVQueryType type, UINT32 *pValue); |
|---|
| 1314 | |
|---|
| 1315 | /** @brief generic purpose control API |
|---|
| 1316 | |
|---|
| 1317 | ¿©·¯°¡Áö ¿ëµµ·Î »ç¿ë °¡´ÉÇÑ Control API. |
|---|
| 1318 | tDHL_AVControlType Ç׸ñ Âü°í. |
|---|
| 1319 | |
|---|
| 1320 | @param[in] type Á¦¾îÇÒ ³»¿ë Á¾·ù |
|---|
| 1321 | @param[in] value Á¦¾î¿¡ ÇÊ¿äÇÑ µ¥ÀÌÅÍ |
|---|
| 1322 | */ |
|---|
| 1323 | DHL_RESULT DHL_AV_Control(tDHL_AVControlType type, UINT32 value); |
|---|
| 1324 | |
|---|
| 1325 | |
|---|
| 1326 | |
|---|
| 1327 | /** @brief |
|---|
| 1328 | |
|---|
| 1329 | ±âÁ¸ HAL¿¡¼´Â DHL_AV_PresetCallback() À̸§À» »ç¿ëÇߴµ¥, ÀÎÅÍÆäÀ̽º°¡ |
|---|
| 1330 | ¸íÈ®ÇÏÁö ¾Ê¾ÒÀ½. (ÀÎÀÚ·Î tDHL_VideoContextHandle ÇÚµéÀ» ¹Þ´Â µî..) |
|---|
| 1331 | |
|---|
| 1332 | »õ·Ó°Ô À̸§À» º¯°æÇϰí callback ŸÀÔµµ »õ·Ó°Ô Á¤ÀÇÇÏ¿´À½. |
|---|
| 1333 | |
|---|
| 1334 | @param[in] cb_type callback event Á¾·ù |
|---|
| 1335 | @param[in] cb callback ÇÔ¼ö Æ÷ÀÎÅÍ |
|---|
| 1336 | */ |
|---|
| 1337 | DHL_RESULT DHL_AV_SetCallback(tDHL_AVCallbackType cb_type, tDHL_AVCALLBACK cb); |
|---|
| 1338 | |
|---|
| 1339 | |
|---|
| 1340 | #if COMMENT |
|---|
| 1341 | ____API4____(){} |
|---|
| 1342 | #endif |
|---|
| 1343 | |
|---|
| 1344 | /** @brief ºñµð¿À ÀÔ·Â ¼±Åà |
|---|
| 1345 | */ |
|---|
| 1346 | DHL_RESULT DHL_CAP_ChangeVideoSource(tDHL_VCAPID id, tDHL_CapVideoInput VideoInputSrc); |
|---|
| 1347 | |
|---|
| 1348 | /** @brief ¿Àµð¿À ÀÔ·Â ¼±Åà |
|---|
| 1349 | |
|---|
| 1350 | */ |
|---|
| 1351 | DHL_RESULT DHL_CAP_ChangeAudioSource(tDHL_CapAudioInput AudioInputSrc); |
|---|
| 1352 | |
|---|
| 1353 | |
|---|
| 1354 | #if COMMENT |
|---|
| 1355 | ____API5____(){} |
|---|
| 1356 | #endif |
|---|
| 1357 | |
|---|
| 1358 | /** @brief video capture ÀåÄ¡¸¦ ½ÃÀÛÇÑ´Ù. |
|---|
| 1359 | |
|---|
| 1360 | @param[in] id ºñµð¿À ĸÃÄ ÀåÄ¡ id. |
|---|
| 1361 | */ |
|---|
| 1362 | DHL_RESULT DHL_CAP_VideoStart(tDHL_VCAPID id); |
|---|
| 1363 | |
|---|
| 1364 | |
|---|
| 1365 | /** @brief video capture ÀåÄ¡¸¦ ÁßÁöÇÑ´Ù. |
|---|
| 1366 | |
|---|
| 1367 | @param[in] id ºñµð¿À ĸÃÄ ÀåÄ¡ id. |
|---|
| 1368 | */ |
|---|
| 1369 | DHL_RESULT DHL_CAP_VideoStop(tDHL_VCAPID id); |
|---|
| 1370 | |
|---|
| 1371 | |
|---|
| 1372 | /** @brief video capture ÀåÄ¡ÀÇ Ç¥½Ã ȸéÀ» °¨Ãá´Ù. |
|---|
| 1373 | DHL_AV_VideoHide ÀÇ »ç¿ë¹ý°ú µ¿ÀÏÇÏ´Ù. |
|---|
| 1374 | |
|---|
| 1375 | @param[in] id ºñµð¿À ĸÃÄ ÀåÄ¡ id. |
|---|
| 1376 | */ |
|---|
| 1377 | DHL_RESULT DHL_CAP_VideoHide(tDHL_VCAPID id, BOOL bHide); |
|---|
| 1378 | |
|---|
| 1379 | |
|---|
| 1380 | /** @brief video capture ÀåÄ¡ ȸéÀ» ÀϽà Á¤Áö/ÇØÁ¦ ÇÑ´Ù. |
|---|
| 1381 | DHL_AV_VideoFreeze ÀÇ »ç¿ë¹ý°ú µ¿ÀÏÇÏ´Ù. |
|---|
| 1382 | |
|---|
| 1383 | @param[in] id ºñµð¿À ĸÃÄ ÀåÄ¡ id. |
|---|
| 1384 | */ |
|---|
| 1385 | DHL_RESULT DHL_CAP_VideoFreeze(tDHL_VCAPID id, BOOL bFreeze); |
|---|
| 1386 | |
|---|
| 1387 | |
|---|
| 1388 | /** @brief video capture ÀåÄ¡¸¦ ½ÃÀÛÇÑ´Ù. |
|---|
| 1389 | DHL_AV_VideoResize ÀÇ »ç¿ë¹ý°ú µ¿ÀÏÇÏ´Ù. |
|---|
| 1390 | |
|---|
| 1391 | @param[in] id ºñµð¿À ĸÃÄ ÀåÄ¡ id. |
|---|
| 1392 | */ |
|---|
| 1393 | DHL_RESULT DHL_CAP_VideoResize(tDHL_VCAPID id, int x, int y, int w, int h); |
|---|
| 1394 | |
|---|
| 1395 | |
|---|
| 1396 | #if COMMENT |
|---|
| 1397 | ____API6____(){} |
|---|
| 1398 | #endif |
|---|
| 1399 | |
|---|
| 1400 | |
|---|
| 1401 | /** @brief audio capture ÀåÄ¡¸¦ ½ÃÀÛÇÑ´Ù. |
|---|
| 1402 | |
|---|
| 1403 | */ |
|---|
| 1404 | DHL_RESULT DHL_CAP_AudioStart(void); |
|---|
| 1405 | |
|---|
| 1406 | |
|---|
| 1407 | /** @brief audio capture ÀåÄ¡¸¦ ÁßÁöÇÑ´Ù. |
|---|
| 1408 | |
|---|
| 1409 | */ |
|---|
| 1410 | DHL_RESULT DHL_CAP_AudioStop(void); |
|---|
| 1411 | |
|---|
| 1412 | |
|---|
| 1413 | |
|---|
| 1414 | #if COMMENT |
|---|
| 1415 | ____Init____(){} |
|---|
| 1416 | #endif |
|---|
| 1417 | |
|---|
| 1418 | /** @brief AV ¸ðµâÀ» ÃʱâÈ ÇÑ´Ù. |
|---|
| 1419 | |
|---|
| 1420 | AV µðÄÚ´õ ¹× Capture block Çϵå¿þ¾î ºÎºÐÀÌ ÃʱâÈ µÈ´Ù. |
|---|
| 1421 | |
|---|
| 1422 | display´Â µðÆúÆ® Ãâ·Â ŸÀ̹ÖÀ¸·Î ÃʱâÈ µÉ ¼ö ÀÖ´Ù. |
|---|
| 1423 | ³ªÁß¿¡ ´Ù¸¥ API¸¦ ÀÌ¿ëÇÏ¿© ¿øÇϴ ŸÀ̹ÖÀ¸·Î ´Ù½Ã ¼³Á¤ÇØ¾ß ÇÑ´Ù. |
|---|
| 1424 | */ |
|---|
| 1425 | DHL_RESULT DHL_AV_Init(void); |
|---|
| 1426 | |
|---|
| 1427 | /** @brief AV ¸ðµâÀ» uninit ÇÑ´Ù. |
|---|
| 1428 | |
|---|
| 1429 | */ |
|---|
| 1430 | DHL_RESULT DHL_AV_Terminate(void); |
|---|
| 1431 | |
|---|
| 1432 | |
|---|
| 1433 | |
|---|
| 1434 | #ifdef __cplusplus |
|---|
| 1435 | } /* extern "C" */ |
|---|
| 1436 | #endif |
|---|
| 1437 | |
|---|
| 1438 | |
|---|
| 1439 | |
|---|
| 1440 | #endif /* __DHL_AVCAP_XXXXX_H__ */ |
|---|
| 1441 | |
|---|