[RK3288][Android6.0] USB UVC 协议简结
生活随笔
收集整理的這篇文章主要介紹了
[RK3288][Android6.0] USB UVC 协议简结
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
Platform: ROCKCHIP
OS: Android 6.0
Kernel: 3.10.92
UVC協(xié)議官方文檔:
http://www.usb.org/developers/docs/devclass_docs/
USB_Video_Example 1.5.pdf
和
UVC 1.5 Class specification.pdf
?
?
每個video function有一個VideoControl(VC) interface和若干個VideoStreaming(VS) interface.
VC用于用于設(shè)備控制, VS用于傳輸數(shù)據(jù)流. 屬于同一個video function(視頻采集卡可能會有多個)的
VC和VS叫做Video Interface Collection(VIC), 協(xié)議中使用Interface Association Descriptor(IAD)來描述它.
Video function相當(dāng)于USB協(xié)議里的Interface level, 它有兩種interface subclass:
VideoControl Interface
VideoStreaming Interface
UVC里面還有一個Interface是 Interface Association Descriptor,它的subclass是
Video Interface Collection.
為了將Video function的功能細(xì)分管理,內(nèi)部就分成了很多entities, 它有兩種:
Units和Terminals
而其中主要有如下幾個模塊:
IT(Input Terminal), OT(Out Terminal), SU(Selector Unit)
PU(Processing Unit), EU(Encoding Unit).
代碼中會讀取各個用到的entities對應(yīng)的描述符,獲取相應(yīng)信息.
而這些entities的關(guān)系可從下圖來理解,摘自USB_Video_Example 1.5.pdf
VS會包含不同settings, 這里settings理解的應(yīng)該是某個配置的不同模式.
舉個例子,比如手機(jī)有手機(jī)模式,有鈴聲,振動,靜音,這就是settings.
VS有setting 0和setting 1. 下圖為Interface 0和Interface 1的描述符
繼承表例子:
理解了以上部分后UVC協(xié)議基本上可以理解了,其他部分是描述各個描述符里面各個字段的意義,
可以遇到了再細(xì)看.
OS: Android 6.0
Kernel: 3.10.92
UVC協(xié)議官方文檔:
http://www.usb.org/developers/docs/devclass_docs/
USB_Video_Example 1.5.pdf
和
UVC 1.5 Class specification.pdf
?
?
每個video function有一個VideoControl(VC) interface和若干個VideoStreaming(VS) interface.
VC用于用于設(shè)備控制, VS用于傳輸數(shù)據(jù)流. 屬于同一個video function(視頻采集卡可能會有多個)的
VC和VS叫做Video Interface Collection(VIC), 協(xié)議中使用Interface Association Descriptor(IAD)來描述它.
Video function相當(dāng)于USB協(xié)議里的Interface level, 它有兩種interface subclass:
VideoControl Interface
VideoStreaming Interface
UVC里面還有一個Interface是 Interface Association Descriptor,它的subclass是
Video Interface Collection.
為了將Video function的功能細(xì)分管理,內(nèi)部就分成了很多entities, 它有兩種:
Units和Terminals
而其中主要有如下幾個模塊:
IT(Input Terminal), OT(Out Terminal), SU(Selector Unit)
PU(Processing Unit), EU(Encoding Unit).
代碼中會讀取各個用到的entities對應(yīng)的描述符,獲取相應(yīng)信息.
而這些entities的關(guān)系可從下圖來理解,摘自USB_Video_Example 1.5.pdf
VS會包含不同settings, 這里settings理解的應(yīng)該是某個配置的不同模式.
舉個例子,比如手機(jī)有手機(jī)模式,有鈴聲,振動,靜音,這就是settings.
VS有setting 0和setting 1. 下圖為Interface 0和Interface 1的描述符
繼承表例子:
理解了以上部分后UVC協(xié)議基本上可以理解了,其他部分是描述各個描述符里面各個字段的意義,
可以遇到了再細(xì)看.
總結(jié)
以上是生活随笔為你收集整理的[RK3288][Android6.0] USB UVC 协议简结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sha256是什么算法,sha256的安
- 下一篇: matlab simulink笔记02—