- ÀÚÀÌºä ½Ã¸®Áî DVR Á¦Ç°Àº ±âº»ÀûÀ¸·Î ´ÙÀ½°ú °°Àº ±¸Á¶·Î µÇ¾î ÀÖÀ¸¸ç H/W Á¦¾î¿ë DLL Àº Ç¥ÁØ XI_Interface ·Î µÇ¾î ÀÖ¾î¼ XyHalManager.cpp/.h ¿¡ Á¦½ÃµÈ ÇÔ¼öµéÀ» »ç¿ëÇÏ¿© ÀϹÝÀûÀÎ Á¢±ÙÀÌ °¡´ÉÇÕ´Ï´Ù.
|
- ¿¹¸¦ µé¾î H/W ÀåÄ¡¸¦ ÃʱâÈ ÇÏ´Â ÇÔ¼öÀÎ BOOL CXyVChannelDevice::Init (char* szDllFilename) ¸¦ »ç¿ëÇÒ °æ¿ì HD-SDI Ä«¸Þ¶óÀÇ ½ÅÈ£¸¦ ÀÔ·Â ¹ÞÀ» ¼ö ÀÖ´Â Çϵå¿þ¾îÀÎ XHE-400 À» »ç¿ëÇÒ °æ¿ì¿Í °¡»ó H/W ÀÎ ColorBar ¸¦ »ç¿ëÇÒ °æ¿ì °£´ÜÈ÷ ¹Ù²Ü ¼ö ÀÖ½À´Ï´Ù.
BOOL bReturn = _XyVChannelDevice.Init ("XH400PCIe.dll");
BOOL bReturn = _XyVChannelDevice.Init (¡°ColorBar.dll");
|
- ´ëºÎºÐÀÇ ÇÔ¼öµéÀÌ À§ÀÇ Init °ú °°Àº ±¸Á¶·Î µÇ¾î ÀÖ¾î¼ Çѹø ÇÁ·Î±×·¡¹ÖÇÏ°Ô µÇ¸é Ä«¸Þ¶ó ½ÅÈ£¸¦ ¹Þ´Â H/W °¡ ¹Ù²î¾îµµ ½±°í °£´ÜÇÏ°Ô ´ëÀÀ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
|
|
- XyViewHD SDK ´Â XH400PCIe.dll °ú ¸î°³ÀÇ ÆÄÀϵé·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù. »ùÇà ÇÁ·Î±×·¥ÀÎ XyViewDlg(HD) ´Â MS Visual Studio 6.0 À¸·Î ÄÄÆÄÀÏ µÇ¾î ÀÖÀ¸¸ç, »óÀ§¹öÀüÀÇ ÄÄÆÄÀÏ·¯¸¦ °¡Áö°í ÀÖ´Ù¸é, '´ëÈ»óÀÚ'¸¦ ¸¸µå´Â ÇÁ·ÎÁ§Æ®¸¦ ¸¸µé¾î¼ XyViewDlgDlg.cpp ¿¡¼ ´ÙÀ½ ºÎºÐ¿¡ Ä«ÇÇÇÏ¸é µË´Ï´Ù.
XyVChannel_Capture
InitDialog
OnDestroy
|
- [Áß¿ä] »ùÇà ÇÁ·Î±×·¥ÀÎ XyViewDlg(HD) ¸¦ ½ÇÇàÇϱâ Àü¿¡ ÁغñÇØ¾ß ÇÒ »çÇ×
1) ÀåÄ¡°ü¸®ÀÚ¿¡¼ 'XHE400PCIe WDM Driver' °¡ ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù.
2) HD-SDI Ä«¸Þ¶ó°¡ Á¤»óÀûÀ¸·Î ¼³Ä¡µÇ¾î ÀÖ´ÂÁö È®ÀÎÇÑ´Ù. (¾Æ·¡ ºÎºÐÀÌ Ã¹¹ø° ä³Î)
|
- ÇöÀç SDK ´Â 32bit ·Î µÇ¾î ÀÖ°í, RGB888, YUV422, YUV420 À» Áö¿øÇÕ´Ï´Ù. (±âº»ÀûÀ¸·Î H/W ¿¡¼´Â YUV422 µ¥ÀÌÅÍ°¡ ³ª¿À¸ç, SDK dll (XH400PCIe.dll) ¿¡¼ YUV420, RGB888 ·Î º¯È¯Çؼ À̹ÌÁö¸¦ º¸³À´Ï´Ù. CPU »ç¿ë·®À» ÁÙÀÌ·Á¸é YUV422 µ¥ÀÌÅ͸¦ Á÷Á¢ »ç¿ëÇÏ´Â°Ô ¹Ù¶÷Á÷ÇÕ´Ï´Ù.
|
- 1080p/720p ä³Î º°·Î ¸ðµÎ Áö¿øÇϸç, Ä«¸Þ¶ó ½ÅÈ£¿¡ µû¶ó¼ µ¥ÀÌÅÍÀÇ Å©±â°¡ °áÁ¤µË´Ï´Ù.
|
- dll ¿¡¼ ¿µ»óÀº XyVChannel_Capture callback ÇÔ¼ö·Î Àü´ÞµË´Ï´Ù.
BOOL XyVChannel_Capture (int nChannel, int nImageType, double dblSampleTime, BYTE* pImageBuffer, long lBufferLength)
1) nChannel Àº 0~7 ±îÁöÀÇ °ªÀ» °¡Áö¸ç, ä³Î ¹øÈ£ÀÔ´Ï´Ù.
2) nImageType Àº ÇöÀç Raw À̹ÌÁöÀÇ Á¾·ùÀÔ´Ï´Ù.
XYVCHANNEL_IMAGE_RGB888 0 // 3 byte RGB image sized from image 'lBufferLength'
XYVCHANNEL_IMAGE_YUV422 1 // YUV422 YUYV (width * height * 2)
XYVCHANNEL_IMAGE_YUV420 2 // YUV420
3) dblSampleTime = time (NULL); ÇÔ¼ö¿¡ ÀÇÇؼ return µÇ´Â °ªÀε¥ Á¤È®ÇÏÁö ¾Ê¾Æ¼ »ç¿ëÀ» ±ÇÀåÇÏÁö´Â ¾ÊÀ½
4) pImageBuffer ´Â Raw image ¸¦ ÀúÀåÇÑ Æ÷ÀÎÅÍÀÔ´Ï´Ù.
5) lBufferLength ´Â Raw image ÀÇ Å©±â¸¦ ³ªÅ¸³»´Âµ¥, RGB888 ÀÏ °æ¿ì ±× °ªÀÌ 1920 x 1080 x 3 ÀÏ °æ¿ì 1080p ÀÇ Çػ󵵸¦ ³ªÅ¸³»¸ç, 1280 x 720 x 3 ÀÏ °æ¿ì 720p ÀÇ Çػ󵵸¦ ³ªÅ¸³À´Ï´Ù. YUV422, YUV420 ÀÏ °æ¿ì ±× °ªÀÌ 1920 x 1080 x 2 ÀÏ °æ¿ì 1080p ÀÇ Çػ󵵸¦ ³ªÅ¸³»¸ç, 1280 x 720 x 2 ÀÏ °æ¿ì 720p ÀÇ Çػ󵵸¦ ³ªÅ¸³À´Ï´Ù.
|
- º»ÀÎÀÇ ÇÁ·Î±×·¥À» Á¦ÀÛÇÏ·Á ÇÒ¶§ ´ÙÀ½ ÆÄÀÏÀ» ÇÁ·ÎÁ§Æ®¿¡ Æ÷ÇÔ½ÃÄÑ¾ß ÇÕ´Ï´Ù.
1) XyHalManager.cpp
2) XyHalManager.h
|
- dll À» ÃʱâÈ ÇÏ´Â ºÎºÐÀÎ if (_XyVChannelDevice.Init ("XH400PCIe.dll")) ¿¡¼ ÁÖ·Î ³ªÅ¸³ª´Â ¿À·ù´Â ´ÙÀ½°ú °°½À´Ï´Ù.
1) XH400PCIe.dll ÀÌ ¾ø´Â °æ¿ì
2) ÀåÄ¡°¡ ¼³Ä¡µÇ¾î ÀÖÁö ¾ÊÀº °æ¿ì
|