संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

कैमरा3_स्ट्रीम संरचना संदर्भ

कैमरा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 स्ट्रीम प्रकार) नीचे उपयोग फ़ील्ड देखें।

फ़ाइल कैमरा3.एच की लाइन 1523 पर परिभाषा।

फील्ड दस्तावेज़ीकरण

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 डेटास्पेस परिभाषाओं का उपयोग करके सेट किए जाते हैं

फ़ाइल कैमरा3.एच की लाइन 1648 पर परिभाषा।

इंट प्रारूप

इस स्ट्रीम में बफ़र्स के लिए पिक्सेल प्रारूप। प्रारूप प्रणाली/कोर/शामिल/सिस्टम/ग्राफिक्स.एच में HAL_PIXEL_FORMAT_* सूची से या डिवाइस-विशिष्ट शीर्षलेखों से एक मान है।

यदि HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED का उपयोग किया जाता है, तो प्लेटफ़ॉर्म ग्रालोक मॉड्यूल कैमरा डिवाइस और स्ट्रीम के अन्य समापन बिंदु द्वारा प्रदान किए गए उपयोग फ़्लैग के आधार पर एक प्रारूप का चयन करेगा।

<= CAMERA_DEVICE_API_VERSION_3_1:

यदि आवश्यक हो, तो कार्यान्वयन-विशिष्ट प्रारूप विवरण प्राप्त करने के लिए कैमरा एचएएल डिवाइस को बाद के register_stream_buffers() कॉल में दिए गए बफ़र्स का निरीक्षण करना चाहिए।

>= CAMERA_DEVICE_API_VERSION_3_2:

रजिस्टर_स्ट्रीम_बफ़र्स () को फ्रेमवर्क द्वारा नहीं बुलाया जाएगा, इसलिए एचएएल को आईएसपी और सेंसर पाइपलाइन को पूरी तरह से कॉन्फ़िगर किए गए स्ट्रीम के आकार, उपयोग के झंडे और प्रारूपों के आधार पर कॉन्फ़िगर करना चाहिए।

फ़ाइल कैमरा3.एच की लाइन 1565 पर परिभाषा।

uint32_t ऊंचाई

इस स्ट्रीम में बफ़र्स के पिक्सेल में ऊँचाई

फ़ाइल कैमरा3.एच की लाइन 1542 पर परिभाषा।

uint32_t max_buffers

एचएएल डिवाइस को एक ही समय में बफ़र्स की अधिकतम संख्या को हटाने की आवश्यकता हो सकती है। HAL डिवाइस में इस मान से अधिक बफ़र्स इन-फ़्लाइट इस स्ट्रीम से नहीं हो सकते हैं।

फ़ाइल कैमरा3.एच की लाइन 1608 पर परिभाषा।

शून्य* निजी

स्ट्रीम के लिए एचएएल-निजी जानकारी के लिए एक हैंडल। फ्रेमवर्क कोड द्वारा निरीक्षण नहीं किया जाएगा।

फ़ाइल कैमरा3.एच की लाइन 1614 पर परिभाषा।

शून्य* आरक्षित[7]

फ़ाइल कैमरा3.एच की लाइन 1677 पर परिभाषा।

इंट रोटेशन

स्ट्रीम का आवश्यक आउटपुट रोटेशन, कैमरा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() कॉल विफल नहीं होनी चाहिए।

फ़ाइल कैमरा3.एच की लाइन 1674 पर परिभाषा।

इंट स्ट्रीम_टाइप

स्ट्रीम का प्रकार, camera3_stream_type_t मानों में से एक।

फ़ाइल कैमरा3.एच की लाइन 1532 पर परिभाषा।

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 को इस फ़ील्ड पर इसके उपयोग फ़्लैग के साथ लिखना होगा।

फ़ाइल कैमरा3.एच की लाइन 1601 पर परिभाषा।

uint32_t चौड़ाई

इस स्ट्रीम में बफ़र्स के पिक्सेल में चौड़ाई

फ़ाइल कैमरा3.एच की लाइन 1537 पर परिभाषा।


इस संरचना के लिए प्रलेखन निम्न फ़ाइल से उत्पन्न किया गया था:
  • हार्डवेयर/लिबहार्डवेयर/शामिल/हार्डवेयर/ camera3.h