Intrinsik kamera

Driver kamera (atau sebagai alternatif, melalui DMFT) dapat memasang atribut intrinsik kamera ke penyimpanan atribut aliran menggunakan MFStreamExtension_PinholeCameraIntrinsics, atau melampirkan ke penyimpanan atribut bingkai media menggunakan MFSampleExtension_PinholeCameraIntrinsics. Jika dilampirkan ke penyimpanan atribut aliran data, nilai intrinsik kamera tidak berubah selama siaran kamera. Jika dilampirkan ke penyimpanan atribut bingkai media, maka nilai intrinsik mungkin berubah untuk setiap bingkai.

Untuk dua atribut di atas, nilai harus merupakan struktur jenis MFPinholeCameraIntrinsics, yang melaporkan daftar model intrinsik kamera. Setiap entri dalam daftar ini berjenis MFPinholeCameraIntrinsic_IntrinsicModel, yang berisi resolusi (lebar/tinggi), model pinhole, dan model distorsi MFCameraIntrinsic_DistortionModel.

Saat menggunakan MFPinholeCameraIntrinsics dengan penyimpanan atribut stream, daftar ini harus berisi setidaknya satu, dan mungkin banyak model intrinsik. Sistem akan memilih model intrinsik berdasarkan format bingkai streaming aktif dengan mencocokkan lebar dan tinggi bingkai. Jika kecocokan yang tepat ditemukan, nilai intrinsik akan digunakan. Jika tidak, parameter intrinsik pertama dengan rasio aspek yang sama akan digunakan sebagai gantinya, misalnya, ketika daftar berisi dua entri: masing-masing 640x480 dan 1920x1080. Jika streaming dengan format media 1280x720, parameter intrinsik 1080p akan digunakan dengan penskalaan yang sesuai.

Saat menggunakan MFPinholeCameraIntrinsics dengan penyimpanan atribut bingkai media, daftar ini harus berisi persis satu model intrinsik dengan resolusi yang sama dengan resolusi bingkai.