इस पेज पर, मेटाडेटा के साथ काम करने की सुविधा, सेटिंग को अलग-अलग कंट्रोल करने की सुविधा, और सेंसर के रॉ डेटा के साथ काम करने की सुविधा के बारे में बताया गया है.
मेटाडेटा की सुविधा
Android फ़्रेमवर्क की मदद से रॉ इमेज फ़ाइलों को सेव करने के लिए, सेंसर की विशेषताओं के बारे में ज़्यादा मेटाडेटा की ज़रूरत होती है. इसमें कलर स्पेस और लेंस शेडिंग फ़ंक्शन जैसी जानकारी शामिल होती है.
इस जानकारी का ज़्यादातर हिस्सा, कैमरा सबसिस्टम की स्टैटिक प्रॉपर्टी होती है. इसलिए, किसी भी आउटपुट पाइपलाइन को कॉन्फ़िगर करने या कोई अनुरोध सबमिट करने से पहले, इसके बारे में क्वेरी की जा सकती है. नए कैमरा एपीआई, getCameraInfo तरीके से मिली जानकारी को काफ़ी हद तक बढ़ा देते हैं, ताकि ऐप्लिकेशन को यह जानकारी मिल सके.
इसके अलावा, कैमरे के सबसिस्टम को मैन्युअल तरीके से कंट्रोल करने के लिए, अलग-अलग डिवाइसों से उनकी मौजूदा स्थिति के बारे में जानकारी पाना ज़रूरी होता है. साथ ही, किसी फ़्रेम को कैप्चर करने के लिए इस्तेमाल किए गए असली पैरामीटर के बारे में भी जानकारी पाना ज़रूरी होता है. आउटपुट मेटाडेटा में, कंट्रोल की असल वैल्यू (एक्सपोज़र टाइम, फ़्रेम की अवधि, और सेंसिटिविटी) शामिल होनी चाहिए. ये वैल्यू, हार्डवेयर के हिसाब से तय की जाती हैं. यह ज़रूरी है, ताकि ऐप्लिकेशन को पता चल सके कि क्लैंपिंग या राउंडिंग कब हुई. साथ ही, ऐप्लिकेशन इमेज कैप्चर करने के लिए इस्तेमाल की गई असली सेटिंग के लिए, भरपाई कर सके.
उदाहरण के लिए, अगर कोई ऐप्लिकेशन किसी अनुरोध में फ़्रेम की अवधि को 0 पर सेट करता है, तो HAL को उस अनुरोध के लिए फ़्रेम की अवधि को कम से कम अवधि पर सेट करना होगा. साथ ही, आउटपुट के नतीजे के मेटाडेटा में, कम से कम अवधि की जानकारी देनी होगी.
इसलिए, अगर किसी ऐप्लिकेशन को कस्टम 3A रूटीन लागू करना है (उदाहरण के लिए, एचडीआर बर्स्ट के लिए सही तरीके से मीटरिंग करने के लिए), तो उसे उन सेटिंग के बारे में पता होना चाहिए जिनका इस्तेमाल, नतीजों के उस नए सेट को कैप्चर करने के लिए किया गया था जो उसे मिला है. इससे वह अगले अनुरोध के लिए सेटिंग अपडेट कर पाएगा. इसलिए, नया कैमरा एपीआई हर कैप्चर किए गए फ़्रेम में काफ़ी ज़्यादा डाइनैमिक मेटाडेटा जोड़ता है. इसमें कैप्चर करने के लिए इस्तेमाल किए गए अनुरोध किए गए और असल पैरामीटर शामिल हैं. साथ ही, इसमें हर फ़्रेम के हिसाब से अतिरिक्त मेटाडेटा भी शामिल है. जैसे, टाइमस्टैंप और आंकड़े जनरेट करने वाले टूल का आउटपुट.
हर सेटिंग के लिए कंट्रोल
ज़्यादातर सेटिंग के लिए, यह उम्मीद की जाती है कि उन्हें हर फ़्रेम में बदला जा सकता है. इससे आउटपुट फ़्रेम स्ट्रीम में कोई खास रुकावट या देरी नहीं होती. आउटपुट फ़्रेम रेट को सिर्फ़ कैप्चर करने के अनुरोध के फ़्रेम की अवधि वाले फ़ील्ड से कंट्रोल किया जाना चाहिए. साथ ही, यह प्रोसेसिंग ब्लॉक के कॉन्फ़िगरेशन में किए गए किसी भी बदलाव से अलग होना चाहिए. असल में, कुछ कंट्रोल को बदलने में समय लगता है. इनमें कैमरा पाइपलाइन का आउटपुट रिज़ॉल्यूशन और आउटपुट फ़ॉर्मैट शामिल है. साथ ही, ऐसे कंट्रोल भी शामिल हैं जो फ़िज़िकल डिवाइसों पर असर डालते हैं. जैसे, लेंस फ़ोकस की दूरी. हर कंट्रोल सेट के लिए ज़रूरी शर्तों के बारे में बाद में बताया गया है.
सेंसर से मिले रॉ डेटा का इस्तेमाल करने की सुविधा
पुराने एपीआई के साथ काम करने वाले पिक्सल फ़ॉर्मैट के अलावा, नए एपीआई में रॉ सेंसर डेटा (बेयर रॉ) के साथ काम करने की सुविधा भी जोड़ी गई है. यह सुविधा, बेहतर कैमरा ऐप्लिकेशन के साथ-साथ रॉ इमेज फ़ाइलों के साथ काम करने के लिए भी ज़रूरी है.