Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Los controles UVC se pegan en un dispositivo cuando se apaga el servidor de fotogramas. Si una usa una aplicación que establece balance blanco con controles UVC y, a continuación, apaga la aplicación, no se restablecerá el balance de blancos de la cámara. Otras aplicaciones que se abren y no cambian el balance de blancos heredarán la configuración anterior.
Una excepción es cuando el equipo pasa a S3. Dependiendo de si el dispositivo de cámara entra en D3 o D3 Frío, los controles UVC pueden, respectivamente, permanecer fijos o no. Este comportamiento se debe a que D3 Cold quita la potencia de la cámara.
El uso del protocolo de control UVC de caché es una manera de tener un comportamiento coherente en las sesiones de aplicación, S3 y apagados del equipo.
Al establecer la clave de configuración "CacheUVCControl" con el valor DWORD de 1 en la clave de registro HW del dispositivo, ya sea mediante descriptores de MS OS 2.0 o mediante el método anterior del archivo INF personalizado, una cámara conservará los valores de control UVC establecidos por el usuario durante los estados S3 o los reinicios del equipo. A continuación se muestra la lista de valores de control UVC específicos que se almacenarán y se volverán a aplicar.
Controles UVC afectados
A continuación se muestra una lista de controles UVC que se almacenarían en caché y se volverían a aplicar durante el reinicio:
- KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS
- KSPROPERTY_VIDEOPROCAMP_CONTRAST
- KSPROPERTY_VIDEOPROCAMP_GAIN
- KSPROPERTY_VIDEOPROCAMP_GAMMA
- KSPROPERTY_VIDEOPROCAMP_HUE(+ AUTO)
- KSPROPERTY_VIDEOPROCAMP_SATURATION
- KSPROPERTY_VIDEOPROCAMP_SHARPNESS (Nitidez)
- KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE(+ AUTOMÁTICO)
Ejemplo de INF
[Device.AddReg.HW]
HKR,,"CacheUVCControl",0x00010001,1
Ejemplo de descriptor de MS OS 2.0
UCHAR Example_MSOS20DescriptorSet_CacheUVCControl[0x38] =
{
//
// Microsoft OS 2.0 Descriptor Set Header
//
0x0A, 0x00, // wLength - 10 bytes
0x00, 0x00, // MSOS20_SET_HEADER_DESCRIPTOR
0x00, 0x00, 0x0?, 0x06, // dwWindowsVersion – 0x060?0000 for future Windows version
0x3C, 0x00, // wTotalLength – 60 bytes
//
// Microsoft OS 2.0 Registry Value Feature Descriptor
//
0x32, 0x00, // wLength 0x32 (50) in bytes of this descriptor
0x04, 0x00, // wDescriptorType – MSOS20_FEATURE_REG_PROPERTY
0x04, 0x00, // wPropertyDataType - REG_DWORD
0x24, 0x00, // wPropertyNameLength – 0x24 (36) bytes
'C', 0x00, 'a', 0x00, // Property Name - “CacheUVCControl”
'c', 0x00, 'h', 0x00,
'e', 0x00, 'U', 0x00,
'V', 0x00, 'C', 0x00,
'C', 0x00, 'o', 0x00,
'n', 0x00, 't', 0x00,
'r', 0x00, 'o', 0x00,
'l', 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00,
0x04, 0x00, // wPropertyDataLength – 4 bytes
0x01, 0x00, 0x00, 0x00, // Enable to cache UVC controls
}