UVC 1.0 と UVC 1.1 の違い
Windows 7 以前のバージョンの Windows で動作するように UVC 準拠ハードウェアを設計する場合は、UVC 1.0 と 1.1 のどちらをサポートするかを決定する必要があります。
UVC 1.1 に準拠しているデバイスは、クラス固有の VC インターフェイスの bcdUVCフラッグを 0x110 に設定する必要があります。 さらに、オプションのプロセッシング ユニット記述子が存在する場合は、1.1 準拠のデバイスで次の操作を行う必要があります。
bmVideoStandardsフィールドをプロセッシングユニット記述子に追加します。
プロセッシング ユニットの bLength フィールドを更新します。
wTotalLength を更新して、プロセッシング ユニットの PU サイズが大きいことを反映します。
次の表は、UVC 1.0 と 1.1 の違いをまとめたものです。
状態 | 記述子/要求/制御 | フィールド | Comments |
---|---|---|---|
変更 |
クラス固有の VC インターフェイス |
bcdUVC |
1.1 の場合は 0x110、1.0 の場合は 0x100 |
互換性のために残されています。 |
クラス固有の VC インターフェイス |
dwClockFrequency |
1.1では未使用 |
変更 |
プロセッシングユニット |
bLength |
1.1 の場合は 10 + n、1.0 の場合は 9 + n |
new |
プロセッシングユニット |
bmVideoStandards |
|
変更 |
クラス固有の VS インターフェイス入力ヘッダー |
bmaControls(n) |
1.1 では、「プローブとコミット」でこれらのビットの一部が異なる方法で使用されます |
変更 |
クラス固有の VS インターフェイス出力ヘッダー |
bLength |
1.1 の場合は 9+(p*n)、1.0 の場合は 8 |
new |
クラス固有の VS インターフェイス出力ヘッダー |
bControlSize |
|
new |
クラス固有の VS インターフェイス出力ヘッダー |
bmaControls(n) |
|
互換性のために残されています。 |
インターフェイス制御 |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
SCR/PTS を使用するホストからデバイスへのペイロードをサポートする 1.0 デバイスでは必須 |
new |
インターフェイス制御 |
GET_INFO |
|
new |
プロセッシングユニット |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
new |
プロセッシングユニット |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
new |
プロセッシングユニット |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
変更 |
ビデオ プローブとコミット制御 |
wLength |
1.1 の場合は 34、1.0 の場合は 26 |
new |
ビデオ プローブとコミット制御 |
dwClockFrequency |
|
new |
ビデオ プローブとコミット制御 |
bmFramingInfo |
|
new |
ビデオ プローブとコミット制御 |
bPreferredVersion |
|
new |
ビデオ プローブとコミット制御 |
bMinVersion |
|
new |
ビデオ プローブとコミット制御 |
bMaxVersion |
|
new |
ビデオ プローブとコミット制御 |
VS_PROBE_CONTROL の GET_INFO |
|
new |
ビデオ プローブとコミット制御 |
VS_COMMIT_CONTROL の GET_INFO |
|
互換性のために残されています。 |
クラス固有の VS インターフェイス |
VS_FORMAT_MPEG1 |
Windows オペレーティングシステムではサポートされていません |
互換性のために残されています。 |
クラス固有の VS インターフェイス |
VS_FORMAT_MPEG2PS |
Windows オペレーティングシステムではサポートされていません |
互換性のために残されています。 |
クラス固有の VS インターフェイス |
VS_FORMAT_MPEG4SL |
Windows オペレーティングシステムではサポートされていません |
互換性のために残されています。 |
クラス固有の VS インターフェイス |
VS_FORMAT_VENDOR |
Windows オペレーティングシステムではサポートされていません |
互換性のために残されています。 |
クラス固有の VS インターフェイス |
VS_FRAME_VENDOR |
|
new |
クラス固有の VS インターフェイス |
VS_FORMAT_FRAME_BASED |
|
new |
クラス固有の VS インターフェイス |
VS_FRAME_FRAME_BASED |
|
new |
クラス固有の VS インターフェイス |
VS_FORMAT_STREAM_BASED |
UVC 1.0 デバイスの場合、MPEG2TS フォーマット記述子の長さは 7 です。 UVC 1.1 には新しい 16 バイト GUID フィールドが含まれているため、MPEG2TS フォーマット記述子の長さは 23 です。
したがって、MPEG2TS 記述子を 23 バイトに更新する場合は、クラス固有の VC インターフェイスの bcdUVC フラッグも 0x110 に設定する必要があります。