कैमरा3_स्ट्रीम संरचना संदर्भ
#include < camera3.h >
डेटा फ़ील्ड | |
int यहाँ | स्ट्रीम_प्रकार |
uint32_t | चौड़ाई |
uint32_t | ऊंचाई |
int यहाँ | प्रारूप |
uint32_t | प्रयोग |
uint32_t | max_buffers |
खालीपन * | निजी |
android_dataspace_t | डेटा_स्पेस |
int यहाँ | ROTATION |
खालीपन * | आरक्षित [7] |
विस्तृत विवरण
कैमरा3_स्ट्रीम_टी:
एकल कैमरा इनपुट या आउटपुट स्ट्रीम के लिए एक हैंडल। एक स्ट्रीम को फ्रेमवर्क द्वारा उसके बफर रिज़ॉल्यूशन और प्रारूप द्वारा परिभाषित किया जाता है, और इसके अतिरिक्त एचएएल द्वारा ग्रैलोक उपयोग झंडे और अधिकतम इन-फ्लाइट बफर गिनती के साथ परिभाषित किया जाता है।
स्ट्रीम संरचनाएं फ्रेमवर्क के स्वामित्व में हैं, लेकिन config_streams() द्वारा HAL में पारित कैमरा 3_स्ट्रीम के पॉइंटर्स पहले बाद के config_streams() कॉल के अंत तक मान्य हैं जिसमें उस कैमरा 3_स्ट्रीम को एक तर्क के रूप में शामिल नहीं किया गया है, या अंत तक क्लोज़() कॉल।
कैमरा3_स्ट्रीम को config_streams() में पारित करने के बाद सभी कैमरा3_स्ट्रीम फ्रेमवर्क-नियंत्रित सदस्य अपरिवर्तनीय हैं। निजी पॉइंटर की सामग्री को छोड़कर, HAL केवल config_streams() कॉल के दौरान HAL-नियंत्रित पैरामीटर को बदल सकता है।
यदि config_streams() कॉल एक गैर-घातक त्रुटि लौटाती है, तो सभी सक्रिय स्ट्रीम मान्य रहती हैं जैसे कि config_streams() को कॉल नहीं किया गया था।
स्ट्रीम का समापन बिंदु कैमरा एचएएल डिवाइस को दिखाई नहीं देता है। 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:
हमेशा कैमरा सेवा द्वारा सेट किया जाता है। एचएएल को स्ट्रीम को सही कलरस्पेस में कॉन्फ़िगर करने के लिए, या समर्थित होने पर रंग और गहराई आउटपुट के बीच चयन करने के लिए इस डेटास्पेस का उपयोग करना चाहिए। डेटास्पेस मान ग्राफ़िक्स.h में V0 डेटास्पेस परिभाषाओं का उपयोग करके सेट किए गए हैं
int प्रारूप |
इस स्ट्रीम में बफ़र्स के लिए पिक्सेल प्रारूप। फ़ॉर्मेट system/core/include/system/graphics.h में HAL_PIXEL_FORMAT_* सूची से या डिवाइस-विशिष्ट हेडर से एक मान है।
यदि HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED का उपयोग किया जाता है, तो प्लेटफ़ॉर्म ग्रैलोक मॉड्यूल कैमरा डिवाइस और स्ट्रीम के अन्य समापन बिंदु द्वारा प्रदान किए गए उपयोग ध्वज के आधार पर एक प्रारूप का चयन करेगा।
<= CAMERA_DEVICE_API_VERSION_3_1:
यदि आवश्यक हो तो कार्यान्वयन-विशिष्ट प्रारूप विवरण प्राप्त करने के लिए कैमरा एचएएल डिवाइस को बाद के रजिस्टर_स्ट्रीम_बफ़र्स () कॉल में दिए गए बफ़र्स का निरीक्षण करना चाहिए।
>= CAMERA_DEVICE_API_VERSION_3_2:
रजिस्टर_स्ट्रीम_बफ़र्स () को फ्रेमवर्क द्वारा नहीं बुलाया जाएगा, इसलिए एचएएल को आईएसपी और सेंसर पाइपलाइन को पूरी तरह से कॉन्फ़िगर किए गए स्ट्रीम के आकार, उपयोग झंडे और प्रारूपों के आधार पर कॉन्फ़िगर करना चाहिए।
uint32_t ऊंचाई |
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() कॉल विफल नहीं होनी चाहिए।
int स्ट्रीम_प्रकार |
uint32_t उपयोग |
एचएएल की आवश्यकता के अनुसार, इस स्ट्रीम के लिए ग्रालोक उपयोग झंडे। उपयोग फ़्लैग को gralloc.h (GRALLOC_USAGE_*), या डिवाइस-विशिष्ट हेडर में परिभाषित किया गया है।
आउटपुट स्ट्रीम के लिए, ये एचएएल के निर्माता उपयोग ध्वज हैं। इनपुट स्ट्रीम के लिए, ये एचएएल के उपभोक्ता उपयोग ध्वज हैं। निर्माता और उपभोक्ता के उपयोग फ़्लैग को एक साथ जोड़ा जाएगा और फिर प्रत्येक स्ट्रीम के लिए ग्रैलोक बफ़र्स आवंटित करने के लिए प्लेटफ़ॉर्म ग्रैलोक एचएएल मॉड्यूल को पास किया जाएगा।
संस्करण जानकारी:
== CAMERA_DEVICE_API_VERSION_3_0:
config_streams() के माध्यम से पारित होने पर कोई प्रारंभिक मूल्य की गारंटी नहीं है। एचएएल इस फ़ील्ड को इनपुट के रूप में उपयोग नहीं कर सकता है, और उसे इस फ़ील्ड पर इसके उपयोग फ़्लैग के साथ लिखना होगा।
>= CAMERA_DEVICE_API_VERSION_3_1:
स्ट्रीम_टाइप आउटपुट और द्विदिशात्मक के लिए, जब config_streams() के माध्यम से पारित किया जाता है, तो इसका प्रारंभिक मूल्य उपभोक्ता के उपयोग ध्वज होता है। स्ट्रीम कॉन्फ़िगरेशन तय करने के लिए एचएएल इन उपभोक्ता ध्वजों का उपयोग कर सकता है। स्ट्रीम_टाइप INPUT के लिए, जब config_streams() के माध्यम से पारित किया जाता है, तो इसका प्रारंभिक मान 0 होता है। config_streams() के माध्यम से पारित सभी स्ट्रीम के लिए, HAL को अपने उपयोग ध्वज के साथ इस फ़ील्ड पर लिखना होगा।
uint32_t चौड़ाई |
इस संरचना के लिए दस्तावेज़ीकरण निम्नलिखित फ़ाइल से तैयार किया गया था:
- हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ कैमरा3.एच