/** AVCAPTest.c ÀÌ ¸ðµâÀº AVCAP API Test ¸¦ À§ÇÑ ·çƾÀÌ´Ù. */ #include "DHL_OSAL.h" #include "DHL_AVCAP.h" //#include "DHL_APITest.h" #if COMMENT ____Func___(){} #endif static void callback_func(tDHL_AVCallbackType cb_type, UINT32 param) { if(cb_type == eDHL_CB_VideoSeqHdr) { tDHL_VideoSeqHdr *pSeq = (tDHL_VideoSeqHdr *)param; DHL_OS_Printf("-- Video Sequence Header info -- \n"); DHL_OS_Printf("aspect_ratio_information : %d \n", pSeq->aspect_ratio_information); DHL_OS_Printf("frame_rate_code : %d \n", pSeq->frame_rate_code); DHL_OS_Printf("horizontal_size : %d \n", pSeq->horizontal_size); DHL_OS_Printf("vertical_size : %d \n", pSeq->vertical_size); DHL_OS_Printf("progressive_sequence : %d \n", pSeq->progressive_sequence); } else if(cb_type == eDHL_CB_HdmiStatusChanged) { tDHL_VideoHdmiStatus *pSeq = (tDHL_VideoHdmiStatus *)param; DHL_OS_Printf("-- VideoHdmiStatus info -- \n"); DHL_OS_Printf("bConnected : %d \n", pSeq->bConnected); DHL_OS_Printf("preferedFormat : %d \n", pSeq->preferedFormat); DHL_OS_Printf("supportedFormat : 0x%08x \n", pSeq->supportedFormat); } else if(cb_type == eDHL_CB_FirstVideoShow) { DHL_OS_Printf("-- First Video Show -- \n"); } } #if COMMENT ____AV_Test___(){} #endif /* AV start µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã ºñµð¿À ¹× ¿Àµð¿À°¡ Ãâ·ÂµÈ´Ù. ÀÔ·Â ¼Ò½º°¡ ¹Ù²î¾î Àç Start ½Ã¿¡´Â ¹Ýµå½Ã AVTest_StopÀ» ÇØÁØ ÈÄ Start ÇÑ´Ù. id : TS input port (0, 1) vpid : video pid apid : audio pid vtype : video decoding format atype : audio decoding format */ void AVTest_Start(tDHL_VDID id, int vpid, int vtype, int apid, int atype) { DHL_RESULT dhr = DHL_OK; UINT16 pcr_pid; pcr_pid = (UINT16)vpid; dhr = DHL_AV_Init(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_init \n"); } dhr = DHL_AV_VideoStart(id, (UINT16)vpid, pcr_pid, (tDHL_VideoCodingType)vtype); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoStart \n"); } dhr = DHL_AV_AudioStart((UINT16)apid, pcr_pid, (tDHL_AudioCodingType)atype); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioStart \n"); } } /* AV stop µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã ºñµð¿À ¹× ¿Àµð¿À Ãâ·ÂÀÌ disable µÈ´Ù. */ void AVTest_Stop(tDHL_VDID id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_VideoStop(id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoStop \n"); } dhr = DHL_AV_AudioStop(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioStop \n"); } } /* AV terminate µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã AV °ü·Ã ¸ðµç Ãâ·ÂÀÌ disable µÇ¸ç ³»ºÎÀûÀ¸·Î´Â module ÀÌ close µÇ¾î AV_init À» ¼öÇàÇÒ ¼ö ÀÖ´Â Áغñ »óÅ·Π¸¸µç´Ù. AV Start Áß¿¡ ¹Ù·Î Terminate ¸¦ ½ÇÇà½ÃŰ¸é ¾ÈµÇ¸ç ¹Ýµå½Ã AV Stop À» ÇÑÈÄ¿¡ terminate µ¿ÀÛ!! */ void AVTest_Terminate(tDHL_VDID id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_VideoStop(id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoStop \n"); } dhr = DHL_AV_AudioStop(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioStop \n"); } dhr = DHL_AV_Terminate(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_Terminate \n"); } } /* AV Control µ¿ÀÛ test ÇÔ¼ö. AV ÀÇ ¼¼ºÎ µ¿ÀÛÀ» Control ÇÑ´Ù. type : Control type ÁöÁ¤. value : Control ¿¡ ´ëÇÑ °ª ÁöÁ¤. type º°·Î value Çü½ÄÀÌ ´Ù¸£´Ù. 1. eDHL_AV_CTL_VIDEO_BG_COLOR Display ÀÇ ¹è°æ»öÀ» ¹Ù²Û´Ù. À̶§ value ´Â RGB(8:8:8bit) ÀÇ °ªÀÌ´Ù. ¿¹) R(0x64), G(0x10), B(0x30) => value = 0x00641030 2. eDHL_AV_CTL_VIDEO_LETTERBOX_COLOR Live video È­¸éÀÇ video ¿µ¿ª ÁÖº¯ÀÇ »öÀ» ¹Ù²Û´Ù. À̶§ value ´Â RGB(8:8:8bit) ÀÇ °ªÀÌ´Ù. ¿¹) R(0x64), G(0x10), B(0x30) => value = 0x00641030 3. eDHL_AV_CTL_AUDIO_MIX_TYPE Audio °¢ ¸ðµå¿¡ µû¸¥ downmix ¹× DRC ÀÇ ¼³Á¤À» ¹Ù²Þ. value : 0 (Lineout mode), 1 (RF mode) 4. eDHL_AV_CTL_AUDIO_SPDIF_MODE SPDIF ÀÇ Ãâ·Â ¸ðµå ¼³Á¤. value : 0 : SPDIF Ãâ·ÂÀÌ disable µÊ..sync ÀÚü°¡ disable(mute ¿Í´Â ´Ù¸§..) 1 : digital audio ÀÇ PCM Ãâ·Â. 2 : digital audio ÀÇ bitstream(compressed) Ãâ·Â. 5. eDHL_AV_CTL_AUDIO_HDMI_MODE HDMI ¿Àµð¿À ÀÇ Ãâ·Â ¸ðµå ¼³Á¤. value : 0 : HDMI ¿Àµð¿À Ãâ·ÂÀÌ disable µÊ..sync ÀÚü°¡ disable(mute ¿Í´Â ´Ù¸§..) 1 : digital audio ÀÇ PCM Ãâ·Â. 2 : digital audio ÀÇ bitstream(compressed) Ãâ·Â. */ void AVTest_Control(int type, int value) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_Control((tDHL_AVControlType)type, (UINT32)value); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_Control \n"); } } /* Main Chip ÀÌ Áö¿øÇÏ´Â video ¹× Audio decoding format Á¤º¸¸¦ °¡Á®¿À´Â µ¿ÀÛ test ÇÔ¼ö. HW ÀûÀ¸·Î º¸¿©Áö´Â ºÎºÐÀº ¾øÀ¸¸ç ½Ã¸®¾ó ·Î±× ¸Þ¼¼Áö¸¦ ÅëÇØ È®ÀÎ. type : Á¤º¸¸¦ °¡Á®¿Ã Source type ÁöÁ¤. 1 (Video), 2 (Audio) value : Áö¿øÇÏ´Â format À» bit ¿­·Î ³ª¿­ÇÑ °ª.. */ void AVTest_Query(int type) { DHL_RESULT dhr = DHL_OK; UINT32 value; dhr = DHL_AV_Query((tDHL_AVQueryType)type, &value); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_Query \n"); } else { if(type == 1) DHL_OS_Printf(" Board Support info : Video, value : 0x%04x \n", value); else if(type == 2) DHL_OS_Printf(" Board Support info : Audio, value : 0x%04x \n", value); } } /* Sequence header Á¤º¸¿Í User data ÀÇ callback µ¿ÀÛÀ» Test ÇÏ´Â ÇÔ¼ö Á¤»ó µ¿À۽à µî·ÏµÈ Callback ÇÔ¼ö°¡ È£ÃâµÈ´Ù. cb_type : 0(Sequence header Á¤º¸) 1(User data) */ void AVTest_Callback(int cb_type) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_SetCallback((tDHL_AVCallbackType)cb_type, callback_func); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_SetCallback \n"); } } #if COMMENT ____Video_Test___(){} #endif /* Video hidden µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã video plane ÀÌ »ç¶óÁø´Ù. audio ¹× OSD ´Â Á¤»óÀûÀ¸·Î ³ª¿Í¾ß ÇÔ. ishide : 1(hidden), 0(visible) */ void AVTest_Vhide(tDHL_VDID id, int ishide) { DHL_RESULT dhr = DHL_OK; BOOL bHide; if(ishide == 0) bHide = 0; else bHide = 1; // hidden dhr = DHL_AV_VideoHide(id, bHide); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoHide \n"); } } /* Video freeze µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã video È­¸éÀÌ ¸ØÃ߸ç Á¤Áö ¿µ»óÀ¸·Î Ãâ·ÂµÈ´Ù. video start ÈÄ¿¡ ¼öÇà µÇ¾ß ÇÔ. isfreeze : 1(freeze), 0(play) */ void AVTest_Vfreeze(tDHL_VDID id, int isfreeze) { DHL_RESULT dhr = DHL_OK; BOOL bFreeze; if(isfreeze == 0) bFreeze = 0; else bFreeze = 1; dhr = DHL_AV_VideoFreeze(id, bFreeze); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoFreeze \n"); } } /* Live video È­¸éÀÇ Å©±â ¹× À§Ä¡ º¯°æ µ¿ÀÛ test ÇÔ¼ö Á¤»óµ¿ÀÛ ¼öÇà½Ã ¿øÇÏ´Â À§Ä¡¿Í Å©±â·Î Live video È­¸éÀÌ º¯°æµÊ. HD window ¿¡ ´ëÇØ¼­¸¸ Áö¿ø ? x : x ÁÂÇ¥ y : y ÁÂÇ¥ w : È­¸éÀÇ ³ÐÀÌ h : È­¸éÀÇ ³ôÀÌ */ void AVTest_Vresize(tDHL_VDID id, int x, int y, int w, int h) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_VideoResize(id, x, y, w, h); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoResize \n"); } } /* Live video È­¸éÀÇ ARC ¸ðµå µ¿ÀÛ Test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã °¢ ARC ¸ðµå¿¡ ¸Â°Ô Live video È­¸éÀÌ º¯ÇÔ. HD ±Þ Ãâ·Â Àû¿ë SD ±Þ Ãâ·Â(composite)Àº Platform ¸¶´Ù ´Ù¸§. NEC ÀÇ °æ¿ì¿£ ±¸Á¶»ó ºÒ°¡´É. Video start ÀÌÀü¿¡µµ ¼³Á¤°¡´ÉÇØ¾ß ÇÔ. adj_hd : component, HDMI µîÀÇ HD±Þ Ãâ·Â¿¡ ´ëÇÑ ¸ðµå¼³Á¤. adj_sd : composite µîÀÇ SD±Þ Ãâ·Â¿¡ ´ëÇÑ ¸ðµå ¼³Á¤. */ void AVTest_Varc(int adj_hd, int adj_sd) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_VideoSetARC((tDHL_DispARC)adj_hd, (tDHL_DispARC)adj_sd); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoSetARC \n"); } } /* °¢ Æ÷Æ®¿¡ ´ëÇÑ display format ¹× color space º¯°æ µ¿ÀÛ Test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã ÇØ»óµµ°¡ º¯°æµÈ´Ù. ½ÇÁ¦ º¯°æµÉ ¼ö ÀÖ´Â°Ç HD ±Þ Ãâ·Â(component, hdmiµî)¿¡ ´ëÇØ¼­ À̸ç HD Ãâ·Â¿¡ ´ëÇØ¼­µµ port ¸¶´Ù ¼­·Î ´Ù¸£°Ô format À» º¯°æÇÒ ¼ø ¾øÀ¸¸ç ¶È°°ÀÌ ¹Ý¿µµÈ´Ù. format º¯°æ½Ã¿¡ ¹Ýµå½Ã ¸ðµç Ãâ·ÂÀ» disable ÇÑÈÄ º¯°æ ¼öÇà..(µå¶óÀ̹ö ¸¶´Ù ´Ù¸§.) port : display Ãâ·Â ¼±ÅÃ(compont, hdmi, composite µîµî) format : display format (ÇØ»óµµ) color : Ãâ·Â½Ã display color space */ void AVTest_Vdispfmt(int port, int format, int color) { DHL_RESULT dhr = DHL_OK; dhr = DHL_AV_DispSetFormat((tDHL_DispPort)port, (tDHL_DispFormat)format, (tDHL_DispColorSpace)color); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_DispSetFormat \n"); } } /* Video sequence header Á¤º¸¸¦ Àоî¿À´Â µ¿ÀÛ test ÇÔ¼ö HW ÀûÀ¸·Î º¸¿©Áö´Â ºÎºÐÀº ¾øÀ¸¸ç ½Ã¸®¾ó ·Î±× ¸Þ¼¼Áö¸¦ ÅëÇØ È®ÀÎ. Video start ÈÄ¿¡ ¼öÇàµÇ¾ß ÇÔ. Video start ÀÌÀüÀÌ¸é ¿¡·¯¸¦ ¹Ýȯ. */ void AVTest_Vseqinfo(tDHL_VDID id) { DHL_RESULT dhr = DHL_OK; tDHL_VideoSeqHdr pSeq; dhr = DHL_AV_VideoSeqInfo(id, &pSeq); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoSeqInfo \n"); } else { DHL_OS_Printf("-- Video Sequence Header info -- \n"); DHL_OS_Printf("aspect_ratio_information : %d \n", pSeq.aspect_ratio_information); DHL_OS_Printf("frame_rate_code : %d \n", pSeq.frame_rate_code); DHL_OS_Printf("horizontal_size : %d \n", pSeq.horizontal_size); DHL_OS_Printf("vertical_size : %d \n", pSeq.vertical_size); DHL_OS_Printf("progressive_sequence : %d \n", pSeq.progressive_sequence); } } /* Video µ¿ÀÛ »óÅ Á¤º¸¸¦ Àоî¿À´Â µ¿ÀÛ test ÇÔ¼ö HW ÀûÀ¸·Î º¸¿©Áö´Â ºÎºÐÀº ¾øÀ¸¸ç ½Ã¸®¾ó ·Î±× ¸Þ¼¼Áö¸¦ ÅëÇØ È®ÀÎ. Video Start ¿Í »ó°ü¾øÀÌ »óŸ¦ ¹ÝÈ¯ÇØ¾ßÇÔ. */ void AVTest_Vgetinfo(tDHL_VDID id) { DHL_RESULT dhr = DHL_OK; tDHL_VideoStatus pStatus; dhr = DHL_AV_VideoGetStatus(id, &pStatus); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_VideoGetStatus \n"); } else { DHL_OS_Printf("--- Video get status --- \n"); DHL_OS_Printf("bDecoding : %d \n", pStatus.bDecoding); DHL_OS_Printf("bOutputExist : %d \n", pStatus.bOutputExist); DHL_OS_Printf("bScrambleDetected : %d \n", pStatus.bScrambleDetected); DHL_OS_Printf("type : %d \n", pStatus.type); DHL_OS_Printf("bHdmiConnected : %d \n", pStatus.bHdmiConnected); DHL_OS_Printf("curDisplayFormat : %d \n", pStatus.curDisplayFormat); } } #if COMMENT ____Audio_Test___(){} #endif /* Audio mute µ¿ÀÛ test ÇÔ¼ö Á¤»ó µ¿ÀÛ ¼öÇà½Ã ÇØ´ç port ÀÇ ¿Àµð¿À Ãâ·ÂÀÌ mute µÈ´Ù. ismute : 1(mute), 0(output) */ void AVTest_Amute(int port, int ismute) { DHL_RESULT dhr = DHL_OK; BOOL bMute; if(ismute == 0) bMute = 0; else bMute = 1; dhr = DHL_AV_AudioMuteControl((tDHL_AudioMutePlace)port, bMute); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioMuteControl \n"); } } /* Audio volume range ¼³Á¤ ¹× volume Á¶Àý µ¿ÀÛ test ÇÔ¼ö. Á¤»ó µ¿ÀÛ ¼öÇà½Ã ¼Ò¸® Å©±â°¡ °¡º¯ µÈ´Ù. min : User °¡ ¼³Á¤ÇÏ´Â volume Å©±âÀÇ ÃÖ¼Ò °ª. max : User °¡ ¼³Á¤ÇÏ´Â volume Å©±âÀÇ ÃÖ´ë °ª. vol : volume °ª. º¼·ý ¹üÀ§´Â min °ªÀÌ max º¸´Ù °°°Å³ª Ä¿¼­´Â ¾ÈµÊ. º¼·ý°ªÀº ²À º¼·ý range ¾È¿¡ µé¾î°¡¾ßµÊ. */ void AVTest_Avolset(int min, int max, int vol) { DHL_RESULT dhr = DHL_OK; if(min >= max) { DHL_OS_Printf("Error User volume range value (min >= max)"); return; } if((vol < min) || (vol > max)) { DHL_OS_Printf("Error User volume value out of range"); return; } dhr = DHL_AV_AudioSetUserVolumeRange((UINT32)min, (UINT32)max); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioSetUserVolumeRange \n"); } dhr = DHL_AV_AudioSetVolume((UINT16)vol); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioSetVolume \n"); } } /* Audio µ¿ÀÛ »óÅ Á¤º¸¸¦ Àоî¿À´Â µ¿ÀÛ test ÇÔ¼ö HW ÀûÀ¸·Î º¸¿©Áö´Â ºÎºÐÀº ¾øÀ¸¸ç ½Ã¸®¾ó ·Î±× ¸Þ¼¼Áö¸¦ ÅëÇØ È®ÀÎ. */ void AVTest_Agetinfo(void) { DHL_RESULT dhr = DHL_OK; tDHL_AudioStatus pStatus; dhr = DHL_AV_AudioGetStatus(&pStatus); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_AV_AudioGetStatus \n"); } else { DHL_OS_Printf("---Audio get status--- \n"); DHL_OS_Printf("bDecoding : %d \n", pStatus.bDecoding); DHL_OS_Printf("bOutputExist : %d \n", pStatus.bOutputExist); DHL_OS_Printf("bStereo : %d \n", pStatus.bStereo); DHL_OS_Printf("bSurround : %d \n", pStatus.bSurround); DHL_OS_Printf("type : %d \n", pStatus.type); } } #if COMMENT ____Capture_Test___(){} #endif /* Capture video start test id : capture input id °á°ú capture input À¸·Î µé¾î¿À´Â video °¡ Ãâ·ÂµÊ. */ void AVTest_Cap_Vstart(int id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_VideoStart((tDHL_VCAPID)id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoStart \n"); } } /* Capture video stop test id : capture input id °á°ú capture input À¸·Î µé¾î¿À´Â video °¡ stop µÊ. */ void AVTest_Cap_Vstop(int id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_VideoStop((tDHL_VCAPID)id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoStop \n"); } } /* Capture video hide test id : capture input id ishid : true->hidden, false->visible °á°ú hidden À» ÇÒ°æ¿ì capture video plane ¸¸ ¾Èº¸ÀÓ..OSD µîÀº Á¤»ó Ãâ·ÂµÇ¾ß ÇÔ. */ void AVTest_Cap_Vhide(int id, int ishide) { #if 0 DHL_RESULT dhr = DHL_OK; BOOL bHide; if(ishide == 0) bHide = 0; else bHide = 1; // hidden dhr = DHL_CAP_VideoHide((tDHL_VCAPID)id, bHide); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoHide \n"); } #endif } /* Capture video freeze test id : capture input id isfreeze : true->freeze, false->play °á°ú freeze ¸¦ ¼öÇàÇÒ °æ¿ì capture video °¡ ¼ø°£ Á¤ÁöµÊ..Á¤ÁöµÈ È­¸éÀº ±×´ë·Î Ãâ·Â. */ void AVTest_Cap_Vfreeze(int id, int isfreeze) { #if 0 DHL_RESULT dhr = DHL_OK; BOOL bFreeze; if(isfreeze == 0) bFreeze = 0; else bFreeze = 1; dhr = DHL_CAP_VideoFreeze((tDHL_VCAPID)id, bFreeze); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoFreeze \n"); } #endif } /* Capture video plane size º¯°æ test id : capture input id x, y : ÁÂÇ¥ w, h: ³ÐÀÌ¿Í ³ôÀÌ °á°ú ÁöÁ¤ÇÑ ÁÂÇ¥¿Í »çÀÌÁî·Î capture video plane ÀÌ Á¶Á¤µÊ. */ void AVTest_Cap_Vresize(int id, int x, int y, int w, int h) { #if 0 DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_VideoResize((tDHL_VCAPID)id, x, y, w, h); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoResize \n"); } #endif } /* Capture audio start test °á°ú Capture audio °¡ start µÇ¾î Ãâ·ÂµÊ. */ void AVTest_Cap_Astart(void) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_AudioStart(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_AudioStart \n"); } } /* Capture audio stop test °á°ú Capture audio °¡ stop µÊ. */ void AVTest_Cap_Astop(void) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_AudioStop(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_AudioStop \n"); } } /* Capture video/Audio ÅëÇÕ Start API °á°ú Capture channel 0 ÀÇ video/audio °¡ start µÊ. */ void AVTest_Cap_Start(int id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_VideoStart((tDHL_VCAPID)id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoStart \n"); } dhr = DHL_CAP_AudioStart(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_AudioStart \n"); } } /* Capture video/Audio ÅëÇÕ Stop API °á°ú Capture channel 0 ÀÇ video/audio °¡ stop µÊ */ void AVTest_Cap_Stop(int id) { DHL_RESULT dhr = DHL_OK; dhr = DHL_CAP_VideoStop((tDHL_VCAPID)id); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_VideoStop \n"); } dhr = DHL_CAP_AudioStop(); if(dhr != DHL_OK) { DHL_OS_Printf("Error DHL_CAP_AudioStop \n"); } } #include "DHL_DBG.h" static DHL_SymbolTable AVCapTestSymbols[] = { //---- functions DHL_FNC_SYM_ENTRY(AVTest_Start), DHL_FNC_SYM_ENTRY(AVTest_Stop), DHL_FNC_SYM_ENTRY(AVTest_Terminate), DHL_FNC_SYM_ENTRY(AVTest_Control), DHL_FNC_SYM_ENTRY(AVTest_Query), DHL_FNC_SYM_ENTRY(AVTest_Vhide), DHL_FNC_SYM_ENTRY(AVTest_Vfreeze), DHL_FNC_SYM_ENTRY(AVTest_Vresize), DHL_FNC_SYM_ENTRY(AVTest_Varc), DHL_FNC_SYM_ENTRY(AVTest_Vdispfmt), DHL_FNC_SYM_ENTRY(AVTest_Vseqinfo), DHL_FNC_SYM_ENTRY(AVTest_Vgetinfo) }; void AVCAPTestInit() { DHL_DBG_RegisterSymbols(AVCapTestSymbols, DHL_NUMSYMBOLS(AVCapTestSymbols)); }