Поделиться через


Различия между UVC 1.0 и UVC 1.1

При разработке оборудования, совместимого с UVC, для работы с Windows 7 или более ранней версией Windows, необходимо выбрать между поддержкой UVC 1.0 и 1.1.

Устройство, совместимое с UVC 1.1, должно задать флаг bcdUVC в интерфейсе Class-Specific VC для 0x110. Кроме того, если существует необязательный дескриптор единицы обработки, устройство, соответствующее 1.1, должно выполнять следующие действия:

  1. Добавьте поле bmVideoStandards в дескриптор единицы обработки.

  2. Обновите поле bLength в единице обработки.

  3. Обновите wTotalLength, чтобы отразить увеличенный размер блока обработки PU.

В следующей таблице перечислены различия между UVC 1.0 и 1.1.

Состояние Дескриптор,запрос/элемент управления Поле Комментарии

изменение

интерфейс VC Class-Specific

bcdUVC

0x110 для версии 1.1 0x100 для 1.0

устаревший

интерфейс VC Class-Specific

dwClockFrequency

Неиспользуемый для версии 1.1

изменение

Блок обработки данных

bLength

10+n для 1.1, 9+n для 1.0

новое

Блок обработки данных

bmVideoStandards

изменение

Class-Specific Заголовок ввода интерфейса VS

bmaControls(n)

1.1 использует некоторые из этих битов по-разному в "Проба и Подтверждение"

изменение

заголовок вывода интерфейса Class-Specific VS

bLength

9+(p*n) для 1.1, 8 для 1.0

новое

Заголовок вывода интерфейса Class-Specific VS

bControlSize

новое

заголовок вывода интерфейса VS Class-Specific

bmaControls(n)

устаревший

Управление интерфейсом

Запрос указания управления часами хоста

Обязательно для устройств версии 1.0, поддерживающих передачу данных от хоста к устройству, использующих SCR/PTS

новое

Управление интерфейсом

GET_INFO

новое

Блок обработки данных

Управление цифровым множителем (PU_DIGITAL_MULTIPLIER_CONTROL)

новое

Блок обработки данных

PU_ANALOG_VIDEO_STANDARD_CONTROL

новое

Блок обработки данных

PU_ANALOG_LOCK_STATUS_CONTROL

изменение

Элемент управления зондированием видео и подтверждением изменений

wLength

34 для 1.1, 26 для 1.0

новое

Элемент управления "Видео-зонд" и "Подтверждение"

dwClockFrequency

новое

Элементы управления "Видео-зонд" и "Контроль фиксации"

bmFramingInfo

новое

Элемент управления "Видео-зонд" и "Контроль фиксации"

bPreferredVersion

новое

Элемент управления "Зондирование видео" и "Подтверждение изменений"

bMinVersion

новое

Элемент управления "Видео-зондаж" и "Управление фиксацией"

bMaxVersion

новое

Элемент управления "Зондирование видео" и "Подтверждение"

GET_INFO для VS_PROBE_CONTROL

новое

Элемент управления "Видеозонд" и "Фиксация изменений"

GET_INFO для VS_COMMIT_CONTROL

устаревший

интерфейс VS Class-Specific

VS_FORMAT_MPEG1

Не поддерживается операционной системой Windows

устаревший

интерфейс VS Class-Specific

VS_FORMAT_MPEG2PS

Не поддерживается операционной системой Windows

устаревший

Class-Specific VS интерфейс

VS_FORMAT_MPEG4SL

Не поддерживается операционной системой Windows

устаревший

Class-Specific VS интерфейс

VS_FORMAT_VENDOR

Не поддерживается операционной системой Windows

устаревший

Class-Specific VS интерфейс

VS_FRAME_VENDOR

новое

Class-Specific VS интерфейс

VS_FORMAT_FRAME_BASED

новое

Class-Specific против интерфейса VS

VS_FRAME_FRAME_BASED

новое

Class-Specific VS интерфейс

VS_FORMAT_STREAM_BASED

Для устройств UVC 1.0 длина дескриптора формата MPEG2TS равна 7. Так как UVC 1.1 содержит новое поле GUID 16 байтов, длина дескриптора формата MPEG2TS равна 23.

Соответственно, если обновить дескриптор MPEG2TS до 23 байт, необходимо также задать флаг bcdUVC в интерфейсе Class-Specific VC на 0x110.