Différences entre UVC 1.0 et UVC 1.1
Lorsque vous concevez un matériel compatible UVC pour fonctionner avec Windows 7 ou une version antérieure de Windows, vous devez choisir entre prendre en charge UVC 1.0 et 1.1.
Un appareil conforme à UVC 1.1 doit définir l’indicateur bcdUVC dans l’interface VC Class-Specific sur 0x110. En outre, si le descripteur d’unité de traitement facultatif existe, un appareil compatible 1.1 doit effectuer les opérations suivantes :
Ajoutez un champ bmVideoStandards au descripteur d’unité de traitement.
Mettez à jour le champ bLength dans l’unité de traitement.
Mettez à jour wTotalLength pour refléter la plus grande taille pu de l’unité de traitement.
Le tableau suivant récapitule les différences entre UVC 1.0 et 1.1.
Statut | Descripteur/requête/contrôle | Champ | Commentaires |
---|---|---|---|
Modifier |
interface VC Class-Specific |
bcdUVC |
0x110 pour la version 1.1, 0x100 pour la version 1.0 |
obsolète |
interface VC Class-Specific |
dwClockFrequency |
Inutilisé pour la version 1.1 |
Modifier |
Unité de traitement |
bLength |
10+n pour 1.1, 9+n pour 1.0 |
new |
Unité de traitement |
bmVideoStandards |
|
Modifier |
Class-Specific en-tête d’entrée d’interface VS |
bmaControls(n) |
1.1 utilise certains de ces bits différemment dans « Probe and Commit » |
Modifier |
Class-Specific en-tête de sortie de l’interface VS |
bLength |
9+(p*n) pour 1.1, 8 pour 1.0 |
new |
Class-Specific en-tête de sortie de l’interface VS |
bControlSize |
|
new |
Class-Specific en-tête de sortie de l’interface VS |
bmaControls(n) |
|
obsolète |
Contrôle d’interface |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
Obligatoire pour les appareils 1.0 prenant en charge les charges utiles d’hôte à appareil qui utilisent SCR/PTS |
new |
Contrôle d’interface |
GET_INFO |
|
new |
Unité de traitement |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
new |
Unité de traitement |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
new |
Unité de traitement |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
Modifier |
Contrôle de validation et de sonde vidéo |
wLength |
34 pour 1.1, 26 pour 1.0 |
new |
Contrôle de validation et de sonde vidéo |
dwClockFrequency |
|
new |
Contrôle de validation et de sonde vidéo |
bmFramingInfo |
|
new |
Contrôle de validation et de sonde vidéo |
bPreferredVersion |
|
new |
Contrôle de validation et de sonde vidéo |
bMinVersion |
|
new |
Contrôle de validation et de sonde vidéo |
bMaxVersion |
|
new |
Contrôle de validation et de sonde vidéo |
GET_INFO pour VS_PROBE_CONTROL |
|
new |
Contrôle de validation et de sonde vidéo |
GET_INFO pour VS_COMMIT_CONTROL |
|
obsolète |
Class-Specific VS Interface |
VS_FORMAT_MPEG1 |
Non pris en charge par un système d’exploitation Windows |
obsolète |
Class-Specific VS Interface |
VS_FORMAT_MPEG2PS |
Non pris en charge par un système d’exploitation Windows |
obsolète |
Class-Specific VS Interface |
VS_FORMAT_MPEG4SL |
Non pris en charge par un système d’exploitation Windows |
obsolète |
Class-Specific VS Interface |
VS_FORMAT_VENDOR |
Non pris en charge par aucun système d’exploitation Windows |
obsolète |
Class-Specific VS Interface |
VS_FRAME_VENDOR |
|
new |
Class-Specific VS Interface |
VS_FORMAT_FRAME_BASED |
|
new |
Class-Specific VS Interface |
VS_FRAME_FRAME_BASED |
|
new |
Class-Specific VS Interface |
VS_FORMAT_STREAM_BASED |
Pour les appareils UVC 1.0, la longueur du descripteur de format MPEG2TS est de 7. Étant donné que UVC 1.1 inclut un nouveau champ GUID de 16 octets, la longueur du descripteur de format MPEG2TS est de 23.
Par conséquent, si vous mettez à jour le descripteur MPEG2TS sur 23 octets, vous devez également définir l’indicateur bcdUVC dans l’interface Class-Specific VC sur 0x110.