Diferenças entre UVC 1.0 e UVC 1.1
Ao projetar hardware compatível com UVC para trabalhar com o Windows 7 ou a versão anterior do Windows, você deve decidir entre dar suporte ao UVC 1.0 e 1.1.
Um dispositivo em conformidade com o UVC 1.1 deve definir o sinalizador bcdUVC na Interface vc Class-Specific como 0x110. Além disso, se o descritor de Unidade de Processamento opcional existir, um dispositivo compatível com 1.1 deverá fazer o seguinte:
Adicione um campo bmVideoStandards ao descritor unidade de processamento.
Atualize o campo bLength na Unidade de Processamento.
Atualize wTotalLength para refletir o tamanho maior do PU da Unidade de Processamento.
A tabela a seguir resume as diferenças entre o UVC 1.0 e o 1.1.
Status | Descritor/solicitação/controle | Campo | Comentários |
---|---|---|---|
alterar |
Interface vc do Class-Specific |
bcdUVC |
0x110 para 1.1, 0x100 para 1.0 |
obsoleto |
Interface vc do Class-Specific |
dwClockFrequency |
Não utilizado para 1.1 |
alterar |
Unidade de processamento |
bLength |
10+n para 1.1, 9+n para 1.0 |
novo |
Unidade de processamento |
bmVideoStandards |
|
alterar |
Cabeçalho de entrada da interface VS Class-Specific |
bmaControls(n) |
1.1 usa alguns desses bits de maneira diferente em "Investigação e Confirmação" |
alterar |
Class-Specific cabeçalho de saída da interface VS |
bLength |
9+(p*n) para 1.1, 8 para 1.0 |
novo |
Class-Specific cabeçalho de saída da interface VS |
bControlSize |
|
novo |
Class-Specific cabeçalho de saída da interface VS |
bmaControls(n) |
|
obsoleto |
Controle de interface |
VC_REQUEST_INDICATE_HOST_CLOCK_CONTROL |
Obrigatório para dispositivos 1.0 que dão suporte a conteúdos de host para dispositivos que usam SCR/PTS |
novo |
Controle de interface |
GET_INFO |
|
novo |
Unidade de processamento |
PU_DIGITAL_MULTIPLIER_CONTROL |
|
novo |
Unidade de processamento |
PU_ANALOG_VIDEO_STANDARD_CONTROL |
|
novo |
Unidade de processamento |
PU_ANALOG_LOCK_STATUS_CONTROL |
|
alterar |
Investigação de vídeo e controle de confirmação |
wLength |
34 para 1.1, 26 para 1.0 |
novo |
Investigação de vídeo e controle de confirmação |
dwClockFrequency |
|
novo |
Investigação de vídeo e controle de confirmação |
bmFramingInfo |
|
novo |
Investigação de vídeo e controle de confirmação |
bPreferredVersion |
|
novo |
Investigação de vídeo e controle de confirmação |
bMinVersion |
|
novo |
Investigação de vídeo e controle de confirmação |
bMaxVersion |
|
novo |
Investigação de vídeo e controle de confirmação |
GET_INFO para VS_PROBE_CONTROL |
|
novo |
Investigação de vídeo e controle de confirmação |
GET_INFO para VS_COMMIT_CONTROL |
|
obsoleto |
interface VS do Class-Specific |
VS_FORMAT_MPEG1 |
Não há suporte para nenhum sistema operacional Windows |
obsoleto |
interface VS do Class-Specific |
VS_FORMAT_MPEG2PS |
Não há suporte para nenhum sistema operacional Windows |
obsoleto |
interface VS do Class-Specific |
VS_FORMAT_MPEG4SL |
Não há suporte para nenhum sistema operacional Windows |
obsoleto |
interface VS do Class-Specific |
VS_FORMAT_VENDOR |
Não há suporte para nenhum sistema operacional Windows |
obsoleto |
interface VS do Class-Specific |
VS_FRAME_VENDOR |
|
novo |
interface VS do Class-Specific |
VS_FORMAT_FRAME_BASED |
|
novo |
interface VS do Class-Specific |
VS_FRAME_FRAME_BASED |
|
novo |
interface VS do Class-Specific |
VS_FORMAT_STREAM_BASED |
Para dispositivos UVC 1.0, o comprimento do descritor de formato MPEG2TS é 7. Como o UVC 1.1 inclui um novo campo GUID de 16 bytes, o comprimento do descritor de formato MPEG2TS é 23.
Assim, se você atualizar o descritor de MPEG2TS para 23 bytes, também deverá definir o sinalizador bcdUVC na Interface vc Class-Specific como 0x110.