Diferencias entre UVC 1.0 y UVC 1.1
Al diseñar hardware compatible con UVC para trabajar con Windows 7 o con una versión anterior de Windows, debes decidir entre admitir UVC 1.0 y 1.1.
Un dispositivo compatible con UVC 1.1 debe establecer la marca bcdUVC en la interfaz vc de Class-Specific en 0x110. Además, si existe el descriptor de unidad de procesamiento opcional, un dispositivo compatible con 1.1 debe hacer lo siguiente:
Agregue un campo bmVideoStandards al descriptor de unidad de procesamiento.
Actualice el campo bLength en la unidad de procesamiento.
Actualice wTotalLength para reflejar el tamaño de PU mayor de la unidad de procesamiento.
En la tabla siguiente se resumen las diferencias entre UVC 1.0 y 1.1.
Estado | Descriptor,Solicitud/Control | Campo | Comentarios |
---|---|---|---|
cambiar |
interfaz vc de Class-Specific |
bcdUVC |
0x110 para la versión 1.1, 0x100 para la versión 1.0 |
obsoletas |
interfaz vc de Class-Specific |
dwClockFrequency |
Sin usar para la versión 1.1 |
cambiar |
Unidad de procesamiento |
BLength |
10+n para 1.1, 9+n para 1.0 |
new |
Unidad de procesamiento |
bmVideoStandards |
|
cambiar |
Encabezado de entrada de interfaz de VS de Class-Specific |
bmaControls(n) |
1.1 usa algunos de estos bits de forma diferente en "Sondeo y confirmación" |
cambiar |
Encabezado de salida de la interfaz vs de Class-Specific |
BLength |
9+(p*n) para 1.1, 8 para 1.0 |
new |
Encabezado de salida de la interfaz vs de Class-Specific |
bControlSize |
|
new |
Encabezado de salida de la interfaz vs de Class-Specific |
bmaControls(n) |
|
obsoletas |
Control de interfaz |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
Obligatorio para dispositivos de 1.0 que admiten el host en cargas de dispositivo que usan SCR/PTS |
new |
Control de interfaz |
GET_INFO |
|
new |
Unidad de procesamiento |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
new |
Unidad de procesamiento |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
new |
Unidad de procesamiento |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
cambiar |
Control de confirmación y sondeo de vídeo |
wLength |
34 para 1.1, 26 para 1.0 |
new |
Control de confirmación y sondeo de vídeo |
dwClockFrequency |
|
new |
Control de confirmación y sondeo de vídeo |
bmFramingInfo |
|
new |
Control de confirmación y sondeo de vídeo |
bPreferredVersion |
|
new |
Control de confirmación y sondeo de vídeo |
bMinVersion |
|
new |
Control de confirmación y sondeo de vídeo |
bMaxVersion |
|
new |
Control de confirmación y sondeo de vídeo |
GET_INFO para VS_PROBE_CONTROL |
|
new |
Control de confirmación y sondeo de vídeo |
GET_INFO para VS_COMMIT_CONTROL |
|
obsoletas |
interfaz de VS de Class-Specific |
VS_FORMAT_MPEG1 |
No es compatible con ningún sistema operativo Windows |
obsoletas |
interfaz de VS de Class-Specific |
VS_FORMAT_MPEG2PS |
No es compatible con ningún sistema operativo Windows |
obsoletas |
interfaz de VS de Class-Specific |
VS_FORMAT_MPEG4SL |
No es compatible con ningún sistema operativo Windows |
obsoletas |
interfaz de VS de Class-Specific |
VS_FORMAT_VENDOR |
No es compatible con ningún sistema operativo Windows |
obsoletas |
interfaz de VS de Class-Specific |
VS_FRAME_VENDOR |
|
new |
interfaz de VS de Class-Specific |
VS_FORMAT_FRAME_BASED |
|
new |
interfaz de VS de Class-Specific |
VS_FRAME_FRAME_BASED |
|
new |
interfaz de VS de Class-Specific |
VS_FORMAT_STREAM_BASED |
Para los dispositivos UVC 1.0, la longitud del descriptor de formato MPEG2TS es 7. Dado que UVC 1.1 incluye un nuevo campo GUID de 16 bytes, la longitud del descriptor de formato de MPEG2TS es 23.
En consecuencia, si actualiza el descriptor de MPEG2TS a 23 bytes, también debe establecer la marca bcdUVC en la interfaz vc de Class-Specific en 0x110.