Unterschiede zwischen UVC 1.0 und UVC 1.1
Wenn Sie UVC-konforme Hardware so entwerfen, dass sie mit Windows 7 oder früheren Versionen von Windows funktioniert, müssen Sie sich entscheiden, ob UVC 1.0 und 1.1 unterstützt werden.
Ein Gerät, das MIT UVC 1.1 kompatibel ist, sollte das bcdUVC-Flag in der Class-Specific VC-Schnittstelle auf 0x110 festlegen. Wenn die optionale Verarbeitungseinheit-Deskriptor vorhanden ist, sollte ein 1.1-kompatibles Gerät außerdem die folgenden Schritte ausführen:
Fügen Sie dem Verarbeitungseinheitsdeskriptor ein Feld bmVideoStandards hinzu.
Aktualisieren Sie das Feld bLength in der Verarbeitungseinheit.
Aktualisieren Sie wTotalLength , um die größere PU-Größe der Verarbeitungseinheit widerzuspiegeln.
In der folgenden Tabelle sind die Unterschiede zwischen UVC 1.0 und 1.1 zusammengefasst.
Status | Descriptor/Request/Control | Feld | Kommentare |
---|---|---|---|
change (Ändern) |
Class-Specific VC-Schnittstelle |
bcdUVC |
0x110 für 1.1, 0x100 für 1.0 |
Veraltet |
Class-Specific VC-Schnittstelle |
dwClockFrequency |
Für 1.1 nicht verwendet |
change (Ändern) |
Verarbeitungseinheit |
bLength |
10+n für 1,1, 9+n für 1,0 |
neu |
Verarbeitungseinheit |
bmVideoStandards |
|
change (Ändern) |
Class-Specific VS Interface Input Header |
bmaControls(n) |
1.1 verwendet einige dieser Bits in "Probe und Commit" unterschiedlich |
change (Ändern) |
Class-Specific VS-Schnittstellenausgabeheader |
bLength |
9+(p*n) für 1,1, 8 für 1,0 |
neu |
Class-Specific VS-Schnittstellenausgabeheader |
bControlSize |
|
neu |
Class-Specific VS-Schnittstellenausgabeheader |
bmaControls(n) |
|
Veraltet |
Schnittstellensteuerung |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
Obligatorisch für 1.0-Geräte, die Host-zu-Gerätenutzlasten unterstützen, die SCR/PTS verwenden |
neu |
Schnittstellensteuerung |
GET_INFO |
|
neu |
Verarbeitungseinheit |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
neu |
Verarbeitungseinheit |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
neu |
Verarbeitungseinheit |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
change (Ändern) |
Videotest und Commitsteuerung |
wLength |
34 für 1.1, 26 für 1.0 |
neu |
Videotest und Commitsteuerung |
dwClockFrequency |
|
neu |
Videotest und Commitsteuerung |
bmFramingInfo |
|
neu |
Videotest und Commitsteuerung |
bPreferredVersion |
|
neu |
Videotest und Commitsteuerung |
bMinVersion |
|
neu |
Videotest und Commitsteuerung |
bMaxVersion |
|
neu |
Videotest und Commitsteuerung |
GET_INFO für VS_PROBE_CONTROL |
|
neu |
Videotest und Commitsteuerung |
GET_INFO für VS_COMMIT_CONTROL |
|
Veraltet |
Class-Specific VS-Schnittstelle |
VS_FORMAT_MPEG1 |
Von keinem Windows-Betriebssystem unterstützt |
Veraltet |
Class-Specific VS-Schnittstelle |
VS_FORMAT_MPEG2PS |
Von keinem Windows-Betriebssystem unterstützt |
Veraltet |
Class-Specific VS-Schnittstelle |
VS_FORMAT_MPEG4SL |
Von keinem Windows-Betriebssystem unterstützt |
Veraltet |
Class-Specific VS-Schnittstelle |
VS_FORMAT_VENDOR |
Von keinem Windows-Betriebssystem unterstützt |
Veraltet |
Class-Specific VS-Schnittstelle |
VS_FRAME_VENDOR |
|
neu |
Class-Specific VS-Schnittstelle |
VS_FORMAT_FRAME_BASED |
|
neu |
Class-Specific VS-Schnittstelle |
VS_FRAME_FRAME_BASED |
|
neu |
Class-Specific VS-Schnittstelle |
VS_FORMAT_STREAM_BASED |
Bei UVC 1.0-Geräten beträgt die Länge des MPEG2TS Formatdeskriptors 7. Da UVC 1.1 ein neues GUID-Feld mit 16 Byte enthält, beträgt die Länge des MPEG2TS Formatdeskriptors 23.
Wenn Sie die MPEG2TS Deskriptor auf 23 Bytes aktualisieren, müssen Sie daher auch das bcdUVC-Flag in der Class-Specific VC-Schnittstelle auf 0x110 festlegen.