Bagikan melalui


Dukungan driver untuk Cache Kontrol UVC Kamera

Kontrol UVC menempel pada perangkat saat server bingkai dimatikan. Jika seseorang menggunakan aplikasi yang mengatur White Balance dengan kontrol UVC lalu mematikan aplikasi, maka White Balance kamera tidak akan diatur ulang. Aplikasi lain yang terbuka dan tidak mengubah Keseimbangan Putih akan mewarisi pengaturan sebelumnya.

Salah satu pengecualian adalah ketika komputer masuk ke S3. Tergantung pada apakah perangkat kamera masuk ke D3 atau D3 Cold, kontrol UVC masing-masing mungkin atau mungkin tidak menempel. Perilaku ini karena D3 Cold menghilangkan daya dari kamera.

Menggunakan Protokol Kontrol UVC Cache adalah cara untuk memiliki perilaku yang konsisten di seluruh sesi aplikasi, S3, dan pematian komputer.

Dengan mengatur kunci konfigurasi "CacheUVCControl" ke nilai DWORD 1 di kunci registri HW perangkat melalui deskriptor MS OS 2.0 atau metode file INF kustom yang lebih lama, kamera akan mempertahankan nilai kontrol UVC yang ditetapkan oleh pengguna di S3 atau komputer reboot. Daftar nilai kontrol UVC tertentu yang akan disimpan dan diterapkan kembali di bawah ini.

Kontrol UVC Terpengaruh

Di bawah ini adalah daftar Kontrol UVC yang akan di-cache dan diterapkan kembali di seluruh reboot:

  • KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS
  • KSPROPERTY_VIDEOPROCAMP_CONTRAST
  • KSPROPERTY_VIDEOPROCAMP_GAIN
  • KSPROPERTY_VIDEOPROCAMP_GAMMA
  • KSPROPERTY_VIDEOPROCAMP_HUE(+ AUTO)
  • KSPROPERTY_VIDEOPROCAMP_SATURATION
  • KSPROPERTY_VIDEOPROCAMP_SHARPNESS
  • KSPROPERTY_VIDEOPROCAMP_WHITEBALANCE(+ AUTO)

Contoh INF

[Device.AddReg.HW]
HKR,,"CacheUVCControl",0x00010001,1

Contoh Deskriptor 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  
}