การรองรับข้อมูลเมตา
หากต้องการรองรับการบันทึกไฟล์ภาพ RAW โดยเฟรมเวิร์ก Android คุณต้องมีข้อมูลเมตาจำนวนมากเกี่ยวกับลักษณะของเซ็นเซอร์ ซึ่งรวมถึงข้อมูลอย่างเช่นพื้นที่สีและฟังก์ชันการปรับแสงเลนส์
ข้อมูลส่วนใหญ่นี้เป็นพร็อพเพอร์ตี้แบบคงที่ของระบบย่อยของกล้อง จึงสามารถค้นหาได้ก่อนที่จะกำหนดค่าไปป์ไลน์เอาต์พุตหรือส่งคำขอ API กล้องใหม่จะขยายข้อมูลที่ได้รับจากgetCameraInfo()
วิธีเพื่อให้ข้อมูลนี้แก่แอป
นอกจากนี้ การควบคุมระบบย่อยของกล้องด้วยตนเองยังต้องใช้การตอบกลับจากอุปกรณ์ต่างๆ เกี่ยวกับสถานะปัจจุบันและพารามิเตอร์จริงที่ใช้ในการจับเฟรมหนึ่งๆ ค่าจริงของการควบคุม (เวลาการเปิดรับแสง ระยะเวลาเฟรม และระดับความไว) ตามที่ใช้จริงโดยฮาร์ดแวร์ต้องรวมอยู่ในข้อมูลเมตาเอาต์พุต ข้อมูลนี้จำเป็นเพื่อให้แอปทราบว่ามีการจำกัดหรือปัดเศษเกิดขึ้นเมื่อใด และเพื่อให้แอปชดเชยการตั้งค่าจริงที่ใช้สำหรับการจับภาพ
ตัวอย่างเช่น หากแอปตั้งค่าระยะเวลาเฟรมเป็น 0 ในคำขอ HAL ต้องจำกัดระยะเวลาเฟรมเป็นระยะเวลาเฟรมขั้นต่ำจริงสำหรับคำขอนั้น และรายงานระยะเวลาขั้นต่ำที่จำกัดไว้ในข้อมูลเมตาของผลลัพธ์เอาต์พุต
ดังนั้นหากแอปต้องใช้รูทีน 3A ที่กําหนดเอง (เช่น เพื่อวัดแสงอย่างเหมาะสมสําหรับการถ่าย HDR แบบต่อเนื่อง) แอปจะต้องทราบการตั้งค่าที่ใช้เพื่อบันทึกชุดผลลัพธ์ล่าสุดที่ได้รับเพื่ออัปเดตการตั้งค่าสําหรับคําขอถัดไป ดังนั้น Camera API ใหม่จึงเพิ่มข้อมูลเมตาแบบไดนามิกจำนวนมากลงในเฟรมที่จับภาพแต่ละเฟรม ซึ่งรวมถึงพารามิเตอร์ที่ขอและพารามิเตอร์จริงที่ใช้สำหรับการบันทึก รวมถึงข้อมูลเมตาเพิ่มเติมของแต่ละเฟรม เช่น การประทับเวลาและเอาต์พุตของเครื่องมือสร้างสถิติ
การควบคุมตามการตั้งค่า
สําหรับการตั้งค่าส่วนใหญ่ การตั้งค่าเหล่านี้ควรเปลี่ยนแปลงได้ในทุกเฟรม โดยไม่มีการกระตุกหรือความล่าช้าที่เห็นได้ชัดในสตรีมเฟรมเอาต์พุต ตามหลักการแล้ว อัตราเฟรมเอาต์พุตควรควบคุมโดยช่องระยะเวลาเฟรมของคำขอจับภาพแต่เพียงอย่างเดียว และไม่ควรขึ้นอยู่กับการเปลี่ยนแปลงใดๆ ในการกำหนดค่าของบล็อกการประมวลผล ในความเป็นจริง การควบคุมบางอย่างเป็นที่ทราบกันดีว่าเปลี่ยนแปลงได้ช้า ซึ่งรวมถึงความละเอียดเอาต์พุตและรูปแบบเอาต์พุตของไปป์ไลน์กล้อง รวมถึงการควบคุมที่ส่งผลต่ออุปกรณ์จริง เช่น ระยะโฟกัสของเลนส์ เราจะอธิบายข้อกำหนดที่แน่นอนสำหรับชุดการควบคุมแต่ละชุดในภายหลัง
การรองรับข้อมูลเซ็นเซอร์ดิบ
นอกจากรูปแบบพิกเซลที่ API เก่ารองรับแล้ว API ใหม่ยังมีข้อกำหนดในการรองรับข้อมูลเซ็นเซอร์ RAW (Bayer RAW) ทั้งสำหรับแอปกล้องขั้นสูงและเพื่อรองรับไฟล์รูปภาพ RAW ด้วย