Freigeben über


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:

  1. Fügen Sie dem Verarbeitungseinheitsdeskriptor ein Feld bmVideoStandards hinzu.

  2. Aktualisieren Sie das Feld bLength in der Verarbeitungseinheit.

  3. 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.