###########################
# UVCfoCX(U) #
###########################

UVCfoCX(U)܂BP/ECẺʂAPC̃rfILv`\tgɕ\܂B
WindowśAP/ECEUSBrfIfoCXƂĔFAufW^JvɌ܂B

wUVCfoCXx͓ƗAvł͂ȂACű@\Ƃč쐬܂B
wUVCfoCXx̉pƂāAỦfAP/ECEPC֑M悤ɂĂ݂܂B

================
CXg[@
================

uuvcayaka.pexvP/ECEɓ]ĂB

======
g
======

1. USBP[uŁAP/ECEPCɐڑĂB
2. P/ECẼj[ʂŁAuUVC(U)vsĂB
3. WindowsAUSBrfIfoCXF܂B
   ́AfoCXF܂łɁAԂ܂Bڈȍ~́AɔF܂B
   foCX}l[ẂuC[WOfoCXvɁAuUSBrfIfoCXṽACRoAFłB
4. PC̃rfILv`\tgsĂB
   Windows Xp̏ꍇ́AOSɃrfILv`@\܂܂ĂāA}CRs[^̒ɂuUSBrfIfoCXṽACR_uNbNƁAȒPɕ\ł܂B
   Windows 7̏ꍇ́AOSɃrfILv`@\܂܂ĂȂ̂ŁAʓrArfILv`\tgCXg[KvL܂B
   ĺADirectShow̃TvAvP[V́AAMCAP.EXEg܂B
   AMCAP.EXE̓@ƂẮADirectShow SDKCXg[ȂĂAŝUSBJ̃hCoCXg[ƁAAMCAP.EXE܂܂Ă鎖悤łB
   http://buffalo.jp/download/driver/supply_old/bwc-130h01.html
5. P/ECE̕{^,,A,B{^ƁAU̔wiς܂B
6. P/ECESELECT{^ƁAuUVC(U)vIāAWindowśuUSBrfIfoCXv܂B

========
Ƃ
========

܂łɉxUSBfoCX̂łA͓ɋ킵܂c
ɔY񂾓_AO_܂B

_ڂ́AlSVG[VɎs̋łB
UVCNX̎dlł́AfoCX(=P/ECE)ƃzXg(=Windows)A`ɂē̎菇łƂAΉ\Ȍ`肵܂B
̓AlSVG[VƌĂт܂B
lSVG[VΗǂ̂łAsꍇAWindows̃foCXNGXgsāAUSBʐMoȂȂ肪܂B
̓Iɂ́A'GET_CUR'ƂNGXg26oCg̃f[^łׂƂAWindows1oCg̃f[^vc݂ȊłB
₽Ԃl̃vÕoOƂ͎v̂ł(^^;AǂĂ܂łB
ǁAɃlSVG[VsȂ悤ȓ`AfoCXzXg֒Ă鎖ɂāA܂B

_ڂ́AWindowsΉ\ȓ`ɂĂłB
UVCNX̎dlł́Ak̓`ƂāAYUY2NV12`Ă܂B
NV12̕f[^Ȃ̂ŁANV12gƎv̂łAp[^ǂȂɒĂlSVG[Vs܂B
Web̏낢뒲ׂƂAǂAWindowsNV12`ɑΉĂȂ݂łB
YUY2`ɕςƂA܂삵܂B

O_ڂ́Aő]TCY̎włB
̓Iɂ́A'GET_CUR'ւ̉́AdwMaxPayloadTransferSizetB[h̒lłB
tXs[h[hŃAC\NiX]pꍇ́AdwMaxPayloadTransferSize̒ĺAGh|CgwMaxPacketSizeƓłȂĂ͂Ȃ܂B
wMaxPacketSize傫Ȓlw肷ƁAlSVG[Vs܂B
AtXs[h[hŃoN]pꍇ́AGh|CgwMaxPacketSize傫Ă\܂B
USB̒ʐM߂člĂ݂Ɗmɂ̒ʂȂ̂łAzXg̓lSVG[V̎sRʒmȂ̂ŁAȂȂ炸Y݂܂B
Ȃ݂ɁAŏIIɂ̓oN]gƂɂ̂ŁAL̃AC\NiX]̐͊֌WȂ̂łǁAЂƂ׋ɂ͂Ȃ܂B

ƂA肭ėǂłB
̃vO쐬́AQlɂĒc[́Aȉ̒ʂł:

EuUSB.orgv(http://www.usb.org/)́wVideo Classx(http://www.usb.org/developers/docs/devclass_docs/USB_Video_Class_1_1_090711.zip)̎
@{USBR\[VAUVCdlłB
@ɁuVideo Device ExamplesvQlɂȂ܂B
@AԈႢLāA̎킹ĊmFKvL܂B

EuzKH[v(http://www.suwa-koubou.jp/)́AwUVCJhCo[̐x(http://www.suwa-koubou.jp/micom/UVCwebcam/uvc.html)̋L
@PIC}CRŁAUVCJhCo[𐧍Ȃ̋LłB
@Al̓foCX𐧍삵̂ŁAL̋LƂ͍镔tȂ̂łǁAUVC̋̒וQlɂĒ܂B
@̋LāAluELECOM DLK130TBKv(http://www2.elecom.co.jp/multimedia/pc-camera/ucam-dlk130t/)wāAUSBpPbgLv`ŋ𒲂ׂ܂B
@Ȃ݂ɁAuELECOM DLK130TBKv̓nCXs[hfoCXȂ̂ŁÂ܂܂ł̓nCXs[h[hɓKlSVG[Vs܂B
@uELECOM DLK130TBKvPCƂ̊ԂɃtXs[hnuނƁAtXs[h[hɓKlSVG[Vs܂B
@P/ECE̓tXs[hfoCXłAQlɂɂ́A҂̐ڑ@USBpPbgLv`̂ǂłB

EuTCvXv(http://japan.cypress.com/)Ђ́AwAN75779 - How to Implement an Image Sensor Interface with EZ-USB FX3 in a USB Video Class (UVC) Frameworkx(http://japan.cypress.com/?rID=62824)̎
@EZ-USBgUVCfoCXATvvO_E[hł܂B
@lEZ-USBĂȂ̂ŎۂɎČ鎖͏oȂ̂łǁA}CR[J[̎炫ƐMQlɂ܂B

EuHHD Softwarev(http://www.hhdsoftware.com/)Ђ́AwFree USB Analyzerx(http://freeusbanalyzer.com/)
@USBpPbgLv`\tgłB
@Ђ̗L\tǵAꕔ̋@\pło[W݂łB
@l̗prł̖͂ł̋@\ŏ\ŁAނ@\ȂAgՂłB
@USBpPbgLv`\tgƌƁAwUsb Sniffer for Windowsx(http://sourceforge.net/projects/usbsnoop/)W[łǁA64bitWindowsœ삵Ȃ肪L܂B
@wFree USB Analyzerx́A64bitWindowsł薳삵܂B

==================
Wed May 13 2015
Naoyuki Sawa
nsawa@piece-me.org
==================
