UVC 1.5於linux gadget實作(1)
目的主要是要實踐H.264 encoding在USB cam上的實作來支援skype以及lync 2013 主要可以參考microsoft-proposed-extensions-usb-video-class-h264.docx這一份文件 這份文件最重要的部分是 Appendix B Technical Decisions 以及UVC 1.5 H.264 Implementation Example Appendix B Technical Decisions裡面的3.Why 2-pin solution?解釋了一個很重要的問題 大概也是很多人從UVC 1.1要改成UVC 1.5最大的卡關之處 就是lync跟skype其實要分成兩個pin 一個是preview pin,專門給lync跟skype preview用 (似乎一定要用640x360的解析度) 另一個pin則是輸出H.264用 那要如何實作才能分成兩個pin呢? 1.encoding unit要實踐 2.output terminal要分成兩個 3.external unit for H.264最好是保留住,才可以向下相容 4.創作兩個streaming interface,將YUV、MJPG寫在其中一個 H.264自己寫成另一個 5.descriptor內的數據先照抄UVC 1.5 H.264 Implementation Example,先騙過UVC host再說 至於gadget內部要怎麼改就看自己內部是怎麼寫了 目前我自己可以實作到lync跟skype都可以抓到裝置且看到preview畫面 但是怎麼讓lync來要H.264 bitstream還是不太清楚 如果有高手知道希望可以不吝指導一下 目前計畫是用Hardware Certification Kit(HCK)來幫忙驗證Webcam H.264 不然好像也無法刻意呼叫H.264能力來使用