कैमरा3_स्ट्रीम संरचना संदर्भ
#include < camera3.h >
डेटा फ़ील्ड | |
पूर्णांक | स्ट्रीम_टाइप |
uint32_t | चौड़ाई |
uint32_t | कद |
पूर्णांक | प्रारूप |
uint32_t | प्रयोग |
uint32_t | मैक्स_बफ़र्स |
शून्य * | निजी |
android_dataspace_t | डेटा_स्पेस |
पूर्णांक | रोटेशन |
शून्य * | आरक्षित [7] |
विस्तृत विवरण
कैमरा3_स्ट्रीम_टी:
एकल कैमरा इनपुट या आउटपुट स्ट्रीम के लिए एक हैंडल। एक स्ट्रीम को उसके बफर रिज़ॉल्यूशन और प्रारूप द्वारा ढांचे द्वारा परिभाषित किया जाता है, और इसके अतिरिक्त एचएएल द्वारा ग्रैलोक उपयोग झंडे और अधिकतम इन-फ्लाइट बफर गिनती के साथ परिभाषित किया जाता है।
स्ट्रीम संरचनाएं ढांचे के स्वामित्व में हैं, लेकिन config_streams() द्वारा एचएएल में पारित एक कैमरा3_स्ट्रीम के पॉइंटर्स पहले बाद के config_streams() कॉल के अंत तक मान्य हैं जिसमें कैमरा 3_स्ट्रीम एक तर्क के रूप में शामिल नहीं है, या अंत तक बंद() कॉल।
एक बार कैमरा3_स्ट्रीम को config_streams() में पास करने के बाद सभी कैमरा3_स्ट्रीम फ्रेमवर्क-नियंत्रित सदस्य अपरिवर्तनीय होते हैं। एचएएल निजी पॉइंटर की सामग्री को छोड़कर, config_streams () कॉल के दौरान केवल एचएएल-नियंत्रित मापदंडों को बदल सकता है।
यदि कोई config_streams() कॉल एक गैर-घातक त्रुटि देता है, तो सभी सक्रिय स्ट्रीम मान्य रहती हैं जैसे कि config_streams() को कॉल नहीं किया गया था।
स्ट्रीम का एंडपॉइंट कैमरा HAL डिवाइस को दिखाई नहीं देता है। DEVICE_API_VERSION_3_1 में, इसे स्ट्रीम पर उपभोक्ता उपयोग फ़्लैग साझा करने के लिए बदल दिया गया था जहाँ कैमरा एक निर्माता है (OUTPUT और BIDIRECTIONAL स्ट्रीम प्रकार) नीचे उपयोग फ़ील्ड देखें।
फील्ड दस्तावेज़ीकरण
android_dataspace_t data_space |
एक फ़ील्ड जो बफ़र की सामग्री का वर्णन करती है। प्रारूप और बफर आयाम स्ट्रीम बफर के मेमोरी लेआउट और संरचना को परिभाषित करते हैं, जबकि डेटास्पेस बफर के भीतर डेटा के अर्थ को परिभाषित करता है।
अधिकांश स्वरूपों के लिए, डेटास्पेस छवि डेटा के रंग स्थान को परिभाषित करता है। इसके अलावा, कुछ प्रारूपों के लिए, डेटास्पेस इंगित करता है कि छवि- या गहराई-आधारित डेटा का अनुरोध किया गया है या नहीं। स्वरूपों के विवरण और मान्य डेटा के लिए system/core/include/system/graphics.h देखें प्रत्येक प्रारूप के लिए स्थान मान।
संस्करण जानकारी:
< CAMERA_DEVICE_API_VERSION_3_3:
परिभाषित नहीं है और इसे एक्सेस नहीं किया जाना चाहिए। डेटास्पेस को HAL_DATASPACE_UNKNOWN माना जाना चाहिए, और उपयुक्त रंग स्थान, आदि, उपयोग झंडे और प्रारूप से निर्धारित किया जाना चाहिए।
= CAMERA_DEVICE_API_VERSION_3_3:
हमेशा कैमरा सेवा द्वारा निर्धारित। एचएएल को इस डेटास्पेस का उपयोग स्ट्रीम को सही कलरस्पेस में कॉन्फ़िगर करने के लिए करना चाहिए, या समर्थित होने पर रंग और गहराई आउटपुट के बीच चयन करने के लिए करना चाहिए। डेटास्पेस मान ग्राफ़िक्स में विरासती परिभाषाएँ हैं
>= CAMERA_DEVICE_API_VERSION_3_4:
हमेशा कैमरा सेवा द्वारा निर्धारित। एचएएल को इस डेटास्पेस का उपयोग स्ट्रीम को सही कलरस्पेस में कॉन्फ़िगर करने के लिए करना चाहिए, या समर्थित होने पर रंग और गहराई आउटपुट के बीच चयन करने के लिए करना चाहिए। डेटास्पेस मान ग्राफ़िक्स में V0 डेटास्पेस परिभाषाओं का उपयोग करके सेट किए जाते हैं
इंट प्रारूप |
इस स्ट्रीम में बफ़र्स के लिए पिक्सेल प्रारूप। प्रारूप प्रणाली/कोर/शामिल/सिस्टम/ग्राफिक्स.एच में HAL_PIXEL_FORMAT_* सूची से या डिवाइस-विशिष्ट शीर्षलेखों से एक मान है।
यदि HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED का उपयोग किया जाता है, तो प्लेटफ़ॉर्म ग्रालोक मॉड्यूल कैमरा डिवाइस और स्ट्रीम के अन्य समापन बिंदु द्वारा प्रदान किए गए उपयोग फ़्लैग के आधार पर एक प्रारूप का चयन करेगा।
<= CAMERA_DEVICE_API_VERSION_3_1:
यदि आवश्यक हो, तो कार्यान्वयन-विशिष्ट प्रारूप विवरण प्राप्त करने के लिए कैमरा एचएएल डिवाइस को बाद के register_stream_buffers() कॉल में दिए गए बफ़र्स का निरीक्षण करना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_2:
रजिस्टर_स्ट्रीम_बफ़र्स () को फ्रेमवर्क द्वारा नहीं बुलाया जाएगा, इसलिए एचएएल को आईएसपी और सेंसर पाइपलाइन को पूरी तरह से कॉन्फ़िगर किए गए स्ट्रीम के आकार, उपयोग के झंडे और प्रारूपों के आधार पर कॉन्फ़िगर करना चाहिए।
uint32_t max_buffers |
शून्य* निजी |
इंट रोटेशन |
स्ट्रीम का आवश्यक आउटपुट रोटेशन, कैमरा3_स्ट्रीम_रोटेशन_टी मानों में से एक। इसका निरीक्षण एचएएल द्वारा धारा की चौड़ाई और ऊंचाई के साथ किया जाना चाहिए। उदाहरण के लिए, यदि रोटेशन 90 डिग्री है और स्ट्रीम की चौड़ाई और ऊंचाई क्रमशः 720 और 1280 है, तो कैमरा सेवा 720x1280 आकार के बफ़र्स की आपूर्ति करेगी, और एचएएल को 1280x720 इमेज कैप्चर करनी चाहिए और इमेज को 90 डिग्री वामावर्त घुमाना चाहिए। जब स्ट्रीम प्रकार इनपुट होता है तो रोटेशन फ़ील्ड नो-ऑप होता है। कैमरा एचएएल को इनपुट स्ट्रीम के लिए रोटेशन फ़ील्ड को अनदेखा करना चाहिए।
<= CAMERA_DEVICE_API_VERSION_3_2:
परिभाषित नहीं है और इसे एक्सेस नहीं किया जाना चाहिए। एचएएल को आउटपुट इमेज पर कोई रोटेशन लागू नहीं करना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_3:
हमेशा कैमरा सेवा द्वारा निर्धारित। एचएएल को स्ट्रीम कॉन्फ़िगरेशन के दौरान इस फ़ील्ड का निरीक्षण करना चाहिए और यदि एचएएल इस तरह के रोटेशन को निष्पादित नहीं कर सकता है, तो रिटर्न -EINVAL। HAL को हमेशा CAMERA3_STREAM_ROTATION_0 का समर्थन करना चाहिए, इसलिए यदि सभी स्ट्रीम का रोटेशन फ़ील्ड CAMERA3_STREAM_ROTATION_0 है, तो असमर्थित रोटेशन के लिए एक config_streams() कॉल विफल नहीं होनी चाहिए।
इंट स्ट्रीम_टाइप |
uint32_t उपयोग |
एचएएल द्वारा आवश्यकतानुसार इस स्ट्रीम के लिए ग्रैलोक उपयोग फ़्लैग करता है। उपयोग फ़्लैग्स को gralloc.h (GRALLOC_USAGE_*), या डिवाइस-विशिष्ट हेडर में परिभाषित किया गया है।
आउटपुट स्ट्रीम के लिए, ये HAL के प्रोड्यूसर यूसेज फ्लैग हैं। इनपुट स्ट्रीम के लिए, ये एचएएल के उपभोक्ता उपयोग झंडे हैं। निर्माता और उपभोक्ता के उपयोग झंडे को एक साथ जोड़ा जाएगा और फिर प्रत्येक स्ट्रीम के लिए ग्रैलोक बफर आवंटित करने के लिए प्लेटफॉर्म ग्रैलोक एचएएल मॉड्यूल को पास किया जाएगा।
संस्करण जानकारी:
== CAMERA_DEVICE_API_VERSION_3_0:
Config_streams() के माध्यम से पारित होने पर कोई प्रारंभिक मान गारंटी नहीं है। एचएएल इस क्षेत्र को इनपुट के रूप में उपयोग नहीं कर सकता है, और इस क्षेत्र पर इसके उपयोग झंडे के साथ लिखना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_1:
stream_type OUTPUT और BIDIRECTIONAL के लिए, जब config_streams () के माध्यम से पारित किया जाता है, तो इसका प्रारंभिक मूल्य उपभोक्ता के उपयोग के झंडे होते हैं। स्ट्रीम कॉन्फ़िगरेशन तय करने के लिए HAL इन उपभोक्ता झंडों का उपयोग कर सकता है। स्ट्रीम_टाइप INPUT के लिए, जब config_streams () के माध्यम से पारित किया जाता है, तो इसका प्रारंभिक मान 0 होता है। config_streams () से गुजरने वाली सभी धाराओं के लिए, HAL को इस फ़ील्ड पर इसके उपयोग फ़्लैग के साथ लिखना होगा।
uint32_t चौड़ाई |
इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ camera3.h