Differenze tra UVC 1.0 e UVC 1.1
Quando si progetta hardware conforme a UVC per lavorare con Windows 7 o versione precedente di Windows, è necessario decidere tra supportare UVC 1.0 e 1.1.
Un dispositivo conforme a UVC 1.1 deve impostare il flag bcdUVC nell'interfaccia VC Class-Specific su 0x110. Inoltre, se esiste il descrittore dell'unità di elaborazione facoltativa, un dispositivo conforme a 1.1 deve eseguire le operazioni seguenti:
Aggiungere un campo bmVideoStandards al descrittore dell'unità di elaborazione.
Aggiornare il campo bLength nell'unità di elaborazione.
Aggiornare wTotalLength per riflettere le dimensioni più grandi dell'unità di elaborazione.
La tabella seguente riepiloga le differenze tra UVC 1.0 e 1.1.
Stato | Descrittore/richiesta/controllo | Campo | Commenti |
---|---|---|---|
change (modifica) |
interfaccia VC Class-Specific |
bcdUVC |
0x110 per 1.1, 0x100 per 1.0 |
obsolete |
interfaccia VC Class-Specific |
dwClockFrequency |
Inutilizzato per 1.1 |
change (modifica) |
Unità di elaborazione |
bLength |
10+n per 1.1, 9+n per 1.0 |
Nuovo |
Unità di elaborazione |
bmVideoStandards |
|
change (modifica) |
intestazione di input dell'interfaccia VS Class-Specific |
bmaControls(n) |
1.1 usa alcuni di questi bit in modo diverso in "Probe e Commit" |
change (modifica) |
intestazione di output dell'interfaccia VS Class-Specific |
bLength |
9+(p*n) per 1.1, 8 per 1.0 |
Nuovo |
intestazione di output dell'interfaccia VS Class-Specific |
bControlSize |
|
Nuovo |
intestazione di output dell'interfaccia VS Class-Specific |
bmaControls(n) |
|
obsolete |
Controllo interfaccia |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
Obbligatorio per i dispositivi 1.0 che supportano l'host ai payload del dispositivo che usano SCR/PTS |
Nuovo |
Controllo interfaccia |
GET_INFO |
|
Nuovo |
Unità di elaborazione |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
Nuovo |
Unità di elaborazione |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
Nuovo |
Unità di elaborazione |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
change (modifica) |
Probe video e controllo commit |
wLength |
34 per 1.1, 26 per 1.0 |
Nuovo |
Probe video e controllo commit |
dwClockFrequency |
|
Nuovo |
Probe video e controllo commit |
bmFramingInfo |
|
Nuovo |
Probe video e controllo commit |
bPreferredVersion |
|
Nuovo |
Probe video e controllo commit |
bMinVersion |
|
Nuovo |
Probe video e controllo commit |
bMaxVersion |
|
Nuovo |
Probe video e controllo commit |
GET_INFO per VS_PROBE_CONTROL |
|
Nuovo |
Probe video e controllo commit |
GET_INFO per VS_COMMIT_CONTROL |
|
obsolete |
interfaccia VS Class-Specific |
VS_FORMAT_MPEG1 |
Non supportato da alcun sistema operativo Windows |
obsolete |
interfaccia VS Class-Specific |
VS_FORMAT_MPEG2PS |
Non supportato da alcun sistema operativo Windows |
obsolete |
interfaccia VS Class-Specific |
VS_FORMAT_MPEG4SL |
Non supportato da alcun sistema operativo Windows |
obsolete |
interfaccia VS Class-Specific |
VS_FORMAT_VENDOR |
Non supportato da alcun sistema operativo Windows |
obsolete |
interfaccia VS Class-Specific |
VS_FRAME_VENDOR |
|
Nuovo |
interfaccia VS Class-Specific |
VS_FORMAT_FRAME_BASED |
|
Nuovo |
interfaccia VS Class-Specific |
VS_FRAME_FRAME_BASED |
|
Nuovo |
interfaccia VS Class-Specific |
VS_FORMAT_STREAM_BASED |
Per i dispositivi UVC 1.0, la lunghezza del descrittore di formato MPEG2TS è 7. Poiché UVC 1.1 include un nuovo campo GUID a 16 byte, la lunghezza del descrittore di formato MPEG2TS è 23.
Di conseguenza, se si aggiorna il descrittore di MPEG2TS a 23 byte, è necessario impostare anche il flag bcdUVC nell'interfaccia VC Class-Specific su 0x110.