KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY
ID properti KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY yang ditentukan dalam KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_PROPERTY digunakan untuk mendapatkan kemampuan per bingkai dari driver. Ini adalah kontrol get saja; driver harus gagal setiap panggilan SET.
Ringkasan Penggunaan
Untuk mengkueri kemampuan pengaturan per bingkai dengan driver, kontrol properti KSPROPERTY_CAMERACONTROL_PERFRAMESETTING_CAPABILITY dikirim ke driver bersama dengan buffer data. Dalam panggilan GET, driver mengisi payload kemampuan pengaturan per bingkai di buffer data yang disediakan menggunakan tata letak format yang ditentukan di bawah ini.
Header kapabilitas (KSCAMERA_PERFRAMESETTING_CAP_HEADER)
Header item (KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER)
Header item (KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER)
Payload item (KSPROPERTY_STEPPING_LONG atau KSPROPERTY_STEPPING_LONGLONG)
Payload kemampuan harus dimulai dengan header kemampuan. Setiap item kemampuan harus dimulai dengan header item. Jika item kemampuan memiliki payload, header item harus diikuti dengan payload item yang sesuai.
Dalam panggilan GET, buffer panjang nol dikirim ke driver terlebih dahulu untuk mengetahui ukuran buffer data yang diperlukan untuk menahan seluruh payload kemampuan. Menanggapi panggilan, driver harus mengembalikan STATUS_BUFFER_OVERFLOW dengan ukuran buffer kemampuan yang diperlukan yang setidaknya harus berukuran KSCAMERA_PERFRAMESETTING_CAP_HEADER.
Berikut ini adalah deskripsi bidang KSCAMERA_PERFRAMESETTING_CAP_HEADER dalam konteks jenis item yang ditentukan dalam enumerasi KSCAMERA_PERFRAMESETTING_ITEM_TYPE . Bidang payload mewakili struktur payload item setelah struktur KSCAMERA_PERFRAMESETTING_CAP_ITEM_HEADER .
Item waktu paparan
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER + ukuran struktur KSPROPERTY_STEPPING_LONGLONG jika mode manual didukung.
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_TIME.
Bendera
Ini berisi bendera yang tersedia. Bidang ini harus berisi bendera yang tersedia dengan melakukan bit-bijaksana ATAU dari bendera yang ditentukan dalam ksmedia.h.
#define KSCAMERA_PERFRAMESETTING_AUTO 0x0000000100000000
#define KSCAMERA_PERFRAMESETTING_MANUAL 0x0000000200000000
Payload
Jika driver mendukung mode manual, payload rentang harus ditentukan dalam KSPROPERTY_STEPPING_LONGLONG. Bounds.SignedMinimum\SignedMaxmum dan KSPROPERTY_STEPPING_LONGLONG. SteppingDelta
Item flash
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER .
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_FLASH
Bendera
Ini berisi bendera yang tersedia. Bidang ini harus berisi bendera yang tersedia dengan melakukan bit-bijaksana ATAU dari bendera FLASH yang ditentukan di bawah ini di ksmedia.h.
#define KSCAMERA_EXTENDEDPROP_FLASH_OFF 0x0000000000000000
#define KSCAMERA_EXTENDEDPROP_FLASH_ON 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_FLASH_AUTO 0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER 0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_FLASH_REDEYEREDUCTION 0x0000000000000010
Payload
Item flash tidak memiliki payload. Jika KSCAMERA_EXTENDEDPROP_FLASH_ON_ADJUSTABLEPOWER atau KSCAMERA_EXTENDEDPROP_FLASH_AUTO_ADJUSTABLEPOWER ditentukan dalam bendera, parameter daya berada dalam rentang 0 hingga 100.
Item kompensasi pencahayaan
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER + ukuran struktur KSPROPERTY_STEPPING_LONG jika langkah-langkah didukung.
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_EXPOSURE_COMPENSATION
Bendera
Ini berisi bendera yang tersedia. Bidang ini harus berisi bendera yang tersedia dengan melakukan bit-bijaksana ATAU dari bendera EVCOMP yang ditentukan di bawah ini di ksmedia.h atau bendera AUTO yang ditentukan di bawah ini di ksmedia_phone.h.
#define KSCAMERA_PERFRAMESETTING_AUTO 0x0000000100000000
#define KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP 0x0000000000000001
#define KSCAMERA_EXTENDEDPROP_EVCOMP_QUARTERSTEP 0x0000000000000002
#define KSCAMERA_EXTENDEDPROP_EVCOMP_THIRDSTEP 0x0000000000000004
#define KSCAMERA_EXTENDEDPROP_EVCOMP_HALFSTEP 0x0000000000000008
#define KSCAMERA_EXTENDEDPROP_EVCOMP_FULLSTEP 0x0000000000000010
Payload
Jika driver hanya mendukung mode otomatis, payload tidak disertakan. Jika tidak, payload rentang harus ditentukan dalam struktur KSPROPERTY_STEPPING_LONG . Kompensasi min dan maks EV adalah nilai kompensasi EV absolut dan ditentukan dari KSPROPERTY_STEPPING_LONG. Bounds.SignedMinimum dan KSPROPERTY_STEPPING_LONG. Bounds.SignedMaximum. Langkah kompensasi EV ditentukan oleh ukuran langkah bendera langkah EVCOMP terendah yang sesuai dengan float (misalnya, 1/6 untuk KSCAMERA_EXTENDEDPROP_EVCOMP_SIXTHSTEP).
Item kecepatan ISO
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER + ukuran struktur KSPROPERTY_STEPPING_LONG jika mode manual didukung.
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_ISO
Bendera
Bidang ini berisi bendera yang tersedia. Bidang ini harus berisi bendera yang tersedia dengan melakukan bit-bijaksana ATAU dari bendera ISO yang ditentukan di bawah ini dalam ksmedia.h dan ksmedia_phone.h. Jika ISO per bingkai didukung, driver harus mendukung setidaknya salah satu kemampuan berikut, ISO_AUTO dan ISO_MANUAL, di mana ISO_AUTO wajib. Jika ISO_MANUAL diiklankan, driver harus mengiklankan lebih lanjut kecepatan ISO yang didukung min\max\step dalam KSPROPERTY_STEPPING_LONG. ISO_MANUAL harus didukung jika ISO manual diinginkan.
#define KSCAMERA_EXTENDEDPROP_ISO_MANUAL 0x0080000000000000
#define KSCAMERA_EXTENDEDPROP_ISO_AUTO 0x0000000000000001
Payload
Jika driver hanya mendukung mode otomatis, payload tidak disertakan. Jika tidak, payload rentang harus ditentukan dalam struktur KSPROPERTY_STEPPING_LONG . Kecepatan ISO min, maks, dan langkah ditentukan dari KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMinimum, KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMaximum, dan KSPROPERTY_STEPPING_LONG. Bounds.SteppingDelta. Driver yang mendukung ISO manual bilangan bulat hanya boleh mengiklankan ISO_MANUAL dengan rentang kecepatan ISO yang didukung (min/maks/langkah). Preset ISO_Xxx numerik tidak didukung untuk ISO per bingkai.
Item fokus
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER + ukuran struktur KSPROPERTY_STEPPING_LONG .
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_FOCUS.
Bendera
Ini berisi bendera yang tersedia. Bidang ini harus diatur dengan melakukan bit-bijaksana ATAU dari bendera yang ditentukan di bawah ini di ksmedis.h.
#define KSCAMERA_PERFRAMESETTING_MANUAL 0x0000000200000000
Payload
Payload rentang harus ditentukan dalam struktur KSPROPERTY_STEPPING_LONG. Posisi min, maks, dan langkah lensa ditentukan dari KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMinimum, KSPROPERTY_STEPPING_LONG. Bounds.UnsignedMaximum, dan KSPROPERTY_STEPPING_LONG. SteppingDelta. Perilaku fokus pengaturan per bingkai dan cara kerjanya dengan pengaturan fokus global didefinisikan sebagai berikut.
Posisi lensa lengket; tetapi perintah fokus tidak. Jika fokus otomatis berkelanjutan (CAF) telah dipilih dalam pengaturan global, operasi CAF hanya ditimpa untuk bingkai yang ditentukan dan CAF kemungkinan akan memindahkan posisi lensa (kemungkinan setelah pembersihan penuh) setelah diberikan fokus manual.
Pengaturan fokus global selalu diasumsikan kecuali secara eksplisit ditimpa dengan pengaturan manual di PFS.
AF global adalah satu bidikan dan hanya berlaku untuk bingkai pertama, jika tidak ada penimpaan manual yang ditentukan.
CAF global berlaku untuk semua bingkai kecuali secara eksplisit ditimpa oleh PFS.
Pengaturan fokus manual global tidak kembali setelah PFS manual (posisi lensa tetap ada).
Jenis gambar konfirmasi
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER .
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_PHOTOCONFIRMATION.
Bendera
Bidang bendera tidak digunakan.
Payload
Tidak ada payload untuk item ini.
Item properti kustom
Ukuran
Ini adalah ukuran struktur KSCAMERA_PERFRAMESETTING_CAP_HEADER + ukuran GUID.
Jenis
Ini harus KSCAMERA_PERFRAMESETTING_ITEM_TYPE. KSCAMERA_PERFRAMESETTING_ITEM_CUSTOM.
Bendera
Bidang bendera tidak digunakan.
Payload
Ini adalah GUID properti kustom.
Persyaratan
Header |
Ksmedia.h |
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk