3ए मोड और राज्य संक्रमण

जबकि वास्तविक 3ए एल्गोरिदम एचएएल कार्यान्वयन तक हैं, एचएएल डिवाइस और फ्रेमवर्क को 3ए की वर्तमान स्थिति के बारे में संचार करने और 3ए घटनाओं को ट्रिगर करने की अनुमति देने के लिए एचएएल इंटरफ़ेस द्वारा एक उच्च-स्तरीय राज्य मशीन विवरण परिभाषित किया गया है।

जब डिवाइस खोला जाता है, तो सभी व्यक्तिगत 3A स्थितियाँ STATE_INACTIVE होनी चाहिए। स्ट्रीम कॉन्फ़िगरेशन 3A को रीसेट नहीं करता है। उदाहरण के लिए, configure() कॉल में लॉक्ड फोकस बनाए रखा जाना चाहिए।

3ए कार्रवाई को ट्रिगर करने में ट्रिगर की शुरुआत को इंगित करने के लिए अगले अनुरोध के लिए सेटिंग्स में प्रासंगिक ट्रिगर प्रविष्टि सेट करना शामिल है। उदाहरण के लिए, ऑटोफोकस स्कैन शुरू करने के लिए ट्रिगर एक अनुरोध के लिए प्रविष्टि ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTROL_AF_TRIGGER_START पर सेट कर रहा है; और ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTRL_AF_TRIGGER_CANCEL पर सेट करके ऑटोफोकस स्कैन को रद्द करना शुरू हो जाता है। अन्यथा, प्रविष्टि मौजूद नहीं होगी या ANDROID_CONTROL_AF_TRIGGER_IDLE पर सेट हो जाएगी। गैर-आईडीएलई मान पर सेट ट्रिगर प्रविष्टि वाले प्रत्येक अनुरोध को एक स्वतंत्र ट्रिगरिंग इवेंट के रूप में माना जाएगा।

शीर्ष स्तर पर, 3A को ANDROID_CONTROL_MODE सेटिंग द्वारा नियंत्रित किया जाता है। यह 3A (ANDROID_CONTROL_MODE_OFF), सामान्य AUTO मोड (ANDROID_CONTROL_MODE_AUTO), और दृश्य मोड सेटिंग (ANDROID_CONTROL_USE_SCENE_MODE) का उपयोग करने के बीच चयन करता है:

  • ऑफ मोड में, प्रत्येक व्यक्तिगत ऑटो-फोकस (एएफ), ऑटो-एक्सपोजर (एई), और ऑटो-व्हाइटबैलेंस (एडब्ल्यूबी) मोड प्रभावी रूप से बंद होते हैं, और कोई भी कैप्चर नियंत्रण 3ए रूटीन द्वारा ओवरराइड नहीं किया जा सकता है।
  • ऑटो मोड में, AF, AE और AWB मोड सभी अपने स्वयं के स्वतंत्र एल्गोरिदम चलाते हैं, और उनके पास अपना स्वयं का मोड, स्थिति और ट्रिगर मेटाडेटा प्रविष्टियाँ होती हैं, जैसा कि अगले भाग में सूचीबद्ध है।
  • USE_SCENE_MODE में, 3A रूटीन के व्यवहार को निर्धारित करने के लिए ANDROID_CONTROL_SCENE_MODE प्रविष्टि के मान का उपयोग किया जाना चाहिए। FACE_PRIORITY के अलावा SCENE_MODE में, HAL को चयनित SCENE_MODE के लिए पसंदीदा मोड बनाने के लिए ANDROID_CONTROL_AE/AWB/AF_MODE के मानों को ओवरराइड करना होगा। उदाहरण के लिए, HAL CONTINUOUS_FOCUS AF मोड का उपयोग करने के लिए SCENE_MODE_NIGHT को प्राथमिकता दे सकता है। इन दृश्य मोड के लिए दृश्य के दौरान AE/AWB/AF_MODE के किसी भी उपयोगकर्ता चयन को अनदेखा किया जाना चाहिए।
  • SCENE_MODE_FACE_PRIORITY के लिए, AE/AWB/AFMODE नियंत्रण ANDROID_CONTROL_MODE_AUTO की तरह काम करते हैं, लेकिन 3A रूटीन को दृश्य में किसी भी पहचाने गए चेहरे की पैमाइश और ध्यान केंद्रित करना चाहिए।

ऑटो-फ़ोकस सेटिंग्स और परिणाम प्रविष्टियाँ

मुख्य मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AF_MODE वर्तमान ऑटोफोकस मोड का चयन करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें.
AF_MODE_OFF वायुसेना अक्षम है; फ्रेमवर्क/ऐप सीधे लेंस की स्थिति को नियंत्रित करता है।
एएफ_मोड_ऑटो सिंगल-स्वीप ऑटोफोकस। जब तक AF चालू न हो, लेंस की कोई गति नहीं।
एएफ_मोड_मैक्रो सिंगल-स्वीप अप-क्लोज ऑटोफोकस। जब तक AF चालू न हो, लेंस की कोई गति नहीं
AF_MODE_CONTINUOUS_वीडियो वीडियो रिकॉर्ड करने के लिए सहज निरंतर फोकसिंग। ट्रिगर करने से फ़ोकस तुरंत वर्तमान स्थिति में लॉक हो जाता है। रद्द करने से लगातार फोकस करना फिर से शुरू हो जाता है।
AF_MODE_CONTINUOUS_PICTURE शून्य-शटर-लैग स्टिल कैप्चर के लिए तेज़ निरंतर फोकसिंग। वर्तमान में सक्रिय स्वीप समाप्त होने पर ट्रिगरिंग लॉक फोकस करते हैं। रद्द करने से लगातार फोकस करना फिर से शुरू हो जाता है।
AF_MODE_EDOF फ़ील्ड फ़ोकसिंग की उन्नत विस्तारित गहराई। कोई ऑटोफोकस स्कैन नहीं है, इसलिए किसी को ट्रिगर करने या रद्द करने का कोई प्रभाव नहीं पड़ता है। छवियाँ एचएएल द्वारा स्वचालित रूप से केंद्रित की जाती हैं।
ANDROID_CONTROL_AF_STATE परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एएफ एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा।
AF_STATE_INACTIVE कोई फोकस नहीं किया गया है, या एल्गोरिदम रीसेट कर दिया गया है। लेंस हिल नहीं रहा है. हमेशा MODE_OFF या MODE_EDOF की स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए।
AF_STATE_PASSIVE_SCAN एक सतत फोकस एल्गोरिदम वर्तमान में अच्छे फोकस के लिए स्कैन कर रहा है। लेंस घूम रहा है.
AF_STATE_PASSIVE_FOCUSED एक सतत फोकस एल्गोरिदम का मानना ​​है कि यह अच्छी तरह से केंद्रित है। लेंस हिल नहीं रहा है. एचएएल अनायास ही यह राज्य छोड़ सकता है।
एएफ_स्टेट_पासिव_अनफोकस्ड एक सतत फोकस एल्गोरिदम का मानना ​​है कि यह अच्छी तरह से केंद्रित नहीं है। लेंस हिल नहीं रहा है. एचएएल अनायास ही यह राज्य छोड़ सकता है।
AF_STATE_ACTIVE_SCAN उपयोगकर्ता द्वारा ट्रिगर किया गया स्कैन चल रहा है।
AF_STATE_FOCUSED_LOCKED AF एल्गोरिथम का मानना ​​है कि यह केंद्रित है। लेंस हिल नहीं रहा है.
AF_STATE_NOT_FOCUSED_LOCKED एएफ एल्गोरिथम फोकस करने में असमर्थ है। लेंस हिल नहीं रहा है.
ANDROID_CONTROL_AF_TRIGGER ऑटोफोकस स्कैन शुरू करने के लिए नियंत्रण, जिसका अर्थ मोड और स्थिति पर निर्भर करता है। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें.
AF_TRIGGER_IDLE कोई वर्तमान ट्रिगर नहीं.
AF_TRIGGER_START एएफ स्कैन का ट्रिगर प्रारंभ। प्रभाव मोड और स्थिति पर निर्भर करता है।
AF_TRIGGER_CANCEL यदि कोई वर्तमान एएफ स्कैन है तो उसे रद्द करें और एल्गोरिदम को डिफ़ॉल्ट पर रीसेट करें।
अतिरिक्त मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AF_REGIONS दृश्य क्षेत्र (एफओवी) के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छा फोकस निर्धारित करने के लिए किया जाना चाहिए। यह उन सभी एएफ मोड पर लागू होता है जो फोकस के लिए स्कैन करते हैं। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें.

ऑटो-एक्सपोज़र सेटिंग्स और परिणाम प्रविष्टियाँ

मुख्य मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AE_MODE वर्तमान ऑटो-एक्सपोज़र मोड का चयन करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें.
एई_मोड_ऑफ़ ऑटोएक्सपोज़र अक्षम है; उपयोगकर्ता एक्सपोज़र, लाभ, फ़्रेम अवधि और फ़्लैश को नियंत्रित करता है।
AE_MODE_ON फ्लैश नियंत्रण अक्षम के साथ मानक ऑटोएक्सपोज़र। उपयोगकर्ता फ़्लैश को चालू या टॉर्च मोड पर सेट कर सकता है।
AE_MODE_ON_AUTO_FLASH मानक ऑटोएक्सपोज़र, प्रीकैप्चर और स्टिल कैप्चर के लिए एचएएल के विवेक पर फ्लैश ऑन के साथ। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया.
AE_MODE_ON_ALWAYS_FLASH मानक ऑटोएक्सपोज़र, कैप्चर के लिए फ़्लैश हमेशा चालू रहता है, और प्रीकैप्चर के लिए एचएएल के विवेक पर निर्भर करता है। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया.
AE_MODE_ON_AUTO_FLASH_REDEYE मानक ऑटोएक्सपोज़र, प्रीकैप्चर और स्टिल कैप्चर के लिए एचएएल के विवेक पर फ्लैश ऑन के साथ। अंतिम चित्र में रेडआई को कम करने के लिए प्रीकैप्चर अनुक्रम के अंत में फ्लैश बर्स्ट का उपयोग करें। फ़्लैश का उपयोगकर्ता नियंत्रण अक्षम किया गया.
ANDROID_CONTROL_AE_STATE परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एई एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा।
AE_STATE_INACTIVE मोड स्विच के बाद प्रारंभिक एई स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए।
AE_राज्य_खोज एई अच्छे मूल्य पर एकत्रित नहीं हुआ है और एक्सपोज़र मापदंडों को समायोजित कर रहा है।
AE_STATE_CONVERGED एई को वर्तमान दृश्य के लिए अच्छे एक्सपोज़र मान मिले हैं, और एक्सपोज़र पैरामीटर नहीं बदल रहे हैं। बेहतर समाधान की तलाश में एचएएल अनायास ही यह राज्य छोड़ सकता है।
AE_STATE_LOCKED AE को AE_LOCK नियंत्रण से लॉक कर दिया गया है। एक्सपोज़र मान नहीं बदल रहे हैं.
AE_STATE_FLASH_आवश्यक एचएएल ने एक्सपोज़र को एकत्रित कर लिया है लेकिन उसका मानना ​​है कि पर्याप्त उज्ज्वल तस्वीर के लिए फ़्लैश की आवश्यकता होती है। यह निर्धारित करने के लिए उपयोग किया जाता है कि क्या शून्य-शटर-लैग फ्रेम का उपयोग किया जा सकता है।
AE_STATE_PRECAPTURE एचएएल प्रीकैप्चर अनुक्रम के बीच में है। एई मोड के आधार पर, इस मोड में मीटरिंग के लिए फ्लैश को फायर करना या रेडआई रिडक्शन के लिए फ्लैश पल्स का फटना शामिल हो सकता है।
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER उच्च गुणवत्ता वाली छवि कैप्चर करने से पहले पैमाइश अनुक्रम शुरू करने के लिए नियंत्रण। अनुरोध सेटिंग में फ़्रेमवर्क द्वारा सेट करें.
PRECAPTURE_TRIGGER_IDLE कोई वर्तमान ट्रिगर नहीं.
PRECAPTURE_TRIGGER_START प्रीकैप्चर अनुक्रम प्रारंभ करें. एचएएल को आगामी उच्च-रिज़ॉल्यूशन कैप्चर के लिए अच्छे एक्सपोज़र/व्हाइट बैलेंस को मापने के लिए बाद के अनुरोधों का उपयोग करना चाहिए।
अतिरिक्त मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AE_LOCK AE नियंत्रणों को उनके वर्तमान मानों पर लॉक करने के लिए नियंत्रण।
ANDROID_CONTROL_AE_EXPOSURE_मुआवजा एई एल्गोरिदम लक्ष्य चमक बिंदु को समायोजित करने के लिए नियंत्रण।
ANDROID_CONTROL_AE_TARGET_FPS_RANGE एई एल्गोरिदम के लिए लक्ष्य फ्रेम दर सीमा का चयन करने के लिए नियंत्रण। एई रूटीन इन सीमाओं के बाहर फ्रेम दर को नहीं बदल सकता है।
ANDROID_CONTROL_AE_REGIONS FOV के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छे एक्सपोज़र स्तरों को निर्धारित करने के लिए किया जाना चाहिए। यह ऑफ के अलावा सभी एई मोड पर लागू होता है।

ऑटो-व्हाइटबैलेंस सेटिंग्स और परिणाम प्रविष्टियाँ

मुख्य मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AWB_MODE वर्तमान श्वेत-संतुलन मोड का चयन करने के लिए नियंत्रण।
AWB_MODE_OFF ऑटो-व्हाइटबैलेंस अक्षम है. उपयोगकर्ता रंग मैट्रिक्स को नियंत्रित करता है।
AWB_MODE_ऑटो स्वचालित श्वेत संतुलन सक्षम है; 3ए रंग परिवर्तन को नियंत्रित करता है, संभवतः एक साधारण मैट्रिक्स की तुलना में अधिक जटिल परिवर्तनों का उपयोग करता है।
AWB_MODE_INCANDESCENT इनडोर गरमागरम (टंगस्टन) प्रकाश व्यवस्था के लिए फिक्स्ड व्हाइट बैलेंस सेटिंग्स अच्छी हैं, लगभग 2700K।
AWB_MODE_FLUORESCENT फिक्स्ड व्हाइट बैलेंस सेटिंग्स फ्लोरोसेंट रोशनी के लिए अच्छी हैं, लगभग 5000K।
AWB_MODE_WARM_FLUOROSENT फिक्स्ड व्हाइट बैलेंस सेटिंग्स फ्लोरोसेंट रोशनी के लिए अच्छी हैं, लगभग 3000K।
AWB_MODE_DAYLIGHT फिक्स्ड व्हाइट बैलेंस सेटिंग्स दिन के उजाले के लिए अच्छी हैं, लगभग 5500K।
AWB_MODE_CLOUDY_DAYLIGHT लगभग 6500K, बादल वाले दिन के उजाले के लिए फिक्स्ड व्हाइट बैलेंस सेटिंग्स अच्छी हैं।
AWB_MODE_TWILIGHT निश्चित श्वेत संतुलन सेटिंग्स सूर्यास्त/सूर्योदय के निकट के लिए अच्छी हैं, लगभग 15000K।
AWB_MODE_SHADE निश्चित श्वेत संतुलन सेटिंग्स अप्रत्यक्ष रूप से सूर्य द्वारा प्रकाशित क्षेत्रों के लिए अच्छी हैं, लगभग 7500K।
ANDROID_CONTROL_AWB_STATE परिणाम मेटाडेटा में एचएएल द्वारा रिपोर्ट की गई वर्तमान एडब्ल्यूबी एल्गोरिदम स्थिति का वर्णन करने वाला गतिशील मेटाडेटा।
AWB_STATE_INACTIVE मोड स्विच के बाद प्रारंभिक AWB स्थिति। जब डिवाइस खोला जाए, तो उसे इसी स्थिति में प्रारंभ होना चाहिए।
AWB_राज्य_खोज AWB अच्छे मूल्य पर एकत्रित नहीं हुआ है और रंग समायोजन पैरामीटर बदल रहा है।
AWB_STATE_CONVERGED AWB को वर्तमान दृश्य के लिए अच्छे रंग समायोजन मान मिले हैं, और पैरामीटर नहीं बदल रहे हैं। बेहतर समाधान की तलाश में एचएएल अनायास ही यह राज्य छोड़ सकता है।
AWB_STATE_LOCKED AWB को AWB_LOCK नियंत्रण से लॉक कर दिया गया है। रंग समायोजन मान नहीं बदल रहे हैं.
अतिरिक्त मेटाडेटा प्रविष्टियाँ
ANDROID_CONTROL_AWB_LOCK AWB रंग समायोजन को उनके वर्तमान मानों पर लॉक करने के लिए नियंत्रण।
ANDROID_CONTROL_AWB_क्षेत्र FOV के क्षेत्रों का चयन करने के लिए नियंत्रण जिसका उपयोग अच्छे रंग संतुलन को निर्धारित करने के लिए किया जाना चाहिए। यह केवल ऑटो-व्हाइटबैलेंस मोड पर लागू होता है।

सामान्य स्थिति मशीन संक्रमण नोट

AF, AE, या AWB मोड के बीच स्विच करने से एल्गोरिदम की स्थिति हमेशा निष्क्रिय पर रीसेट हो जाती है। इसी तरह, CONTROL_MODE या CONTROL_SCENE_MODE के बीच स्विच करने पर यदि CONTROL_MODE == USE_SCENE_MODE सभी एल्गोरिदम स्थितियों को निष्क्रिय पर रीसेट कर देता है।

नीचे दी गई तालिकाएँ प्रति-मोड हैं।

एएफ राज्य मशीनें

मोड = AF_MODE_OFF या AF_MODE_EDOF
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय एएफ अक्षम है
मोड = AF_MODE_AUTO या AF_MODE_MACRO
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय AF_TRIGGER सक्रिय_स्कैन

एएफ स्वीप प्रारंभ करें

लेंस अब घूम रहा है

सक्रिय_स्कैन एएफ स्वीप हो गया FOCUSED_LOCKED

यदि एएफ सफल है

लेंस अब लॉक हो गया है

सक्रिय_स्कैन एएफ स्वीप हो गया NOT_FOCUSED_LOCKED

यदि एएफ सफल है

लेंस अब लॉक हो गया है

सक्रिय_स्कैन AF_रद्द करें निष्क्रिय

AF रद्द/रीसेट करें

लेंस अब लॉक हो गया है

FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF रद्द/रीसेट करें
FOCUSED_LOCKED AF_TRIGGER सक्रिय_स्कैन

नया स्वीप शुरू करें

लेंस अब घूम रहा है

NOT_FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF रद्द/रीसेट करें
NOT_FOCUSED_LOCKED AF_TRIGGER सक्रिय_स्कैन

नया स्वीप शुरू करें

लेंस अब घूम रहा है

सभी राज्य मोड परिवर्तन निष्क्रिय
मोड = AF_MODE_CONTINUOUS_VIDEO
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय एचएएल ने नया स्कैन शुरू किया निष्क्रिय_स्कैन

एएफ स्वीप प्रारंभ करें

लेंस अब घूम रहा है

निष्क्रिय AF_TRIGGER NOT_FOCUSED_LOCKED

एएफ राज्य क्वेरी

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन एचएएल ने वर्तमान स्कैन पूरा किया निष्क्रिय_केंद्रित

एएफ स्कैन समाप्त करें

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_TRIGGER FOCUSED_LOCKED

यदि फोकस अच्छा हो तो तुरंत परिवर्तन

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_TRIGGER NOT_FOCUSED_LOCKED

यदि फोकस खराब है तो तत्काल परिवर्तन

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_रद्द करें निष्क्रिय

लेंस की स्थिति रीसेट करें

लेंस अब लॉक हो गया है

निष्क्रिय_केंद्रित एचएएल ने नया स्कैन शुरू किया निष्क्रिय_स्कैन

एएफ स्कैन प्रारंभ करें

लेंस अब घूम रहा है

निष्क्रिय_केंद्रित AF_TRIGGER FOCUSED_LOCKED

यदि फोकस अच्छा हो तो तुरंत परिवर्तन

लेंस अब लॉक हो गया है

निष्क्रिय_केंद्रित AF_TRIGGER NOT_FOCUSED_LOCKED यदि फोकस खराब है तो तत्काल परिवर्तन

लेंस अब लॉक हो गया है

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED कोई प्रभाव नहीं
FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF स्कैन पुनः आरंभ करें
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED कोई प्रभाव नहीं
NOT_FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF स्कैन पुनः आरंभ करें
मोड = AF_MODE_CONTINUOUS_PICTURE
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय एचएएल ने नया स्कैन शुरू किया निष्क्रिय_स्कैन

एएफ स्कैन प्रारंभ करें

लेंस अब घूम रहा है

निष्क्रिय AF_TRIGGER NOT_FOCUSED_LOCKED

एएफ राज्य क्वेरी

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन एचएएल ने वर्तमान स्कैन पूरा किया निष्क्रिय_केंद्रित एएफ स्कैन समाप्त करें

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_TRIGGER FOCUSED_LOCKED

अंतिम परिवर्तन एक बार अच्छा ध्यान केंद्रित करें

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_TRIGGER NOT_FOCUSED_LOCKED

यदि ध्यान केंद्रित नहीं किया जा सका तो अंतिम परिवर्तन

लेंस अब लॉक हो गया है

निष्क्रिय_स्कैन AF_रद्द करें निष्क्रिय

लेंस की स्थिति रीसेट करें

लेंस अब लॉक हो गया है

निष्क्रिय_केंद्रित एचएएल ने नया स्कैन शुरू किया निष्क्रिय_स्कैन

एएफ स्कैन प्रारंभ करें

लेंस अब घूम रहा है

निष्क्रिय_केंद्रित AF_TRIGGER FOCUSED_LOCKED

यदि फोकस अच्छा हो तो तुरंत परिवर्तन

लेंस अब लॉक हो गया है

निष्क्रिय_केंद्रित AF_TRIGGER NOT_FOCUSED_LOCKED

यदि फोकस खराब है तो तत्काल परिवर्तन

लेंस अब लॉक हो गया है

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED कोई प्रभाव नहीं
FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF स्कैन पुनः आरंभ करें
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED कोई प्रभाव नहीं
NOT_FOCUSED_LOCKED AF_रद्द करें निष्क्रिय AF स्कैन पुनः आरंभ करें

AE और AWB राज्य मशीनें

AE और AWB राज्य मशीनें अधिकतर समान हैं। AE में अतिरिक्त FLASH_REQUIRED और PRECAPTURE स्थितियाँ हैं। तो नीचे दी गई पंक्तियाँ जो उन दो राज्यों को संदर्भित करती हैं उन्हें AWB राज्य मशीन के लिए अनदेखा किया जाना चाहिए।

मोड = AE_MODE_OFF / AWB मोड ऑटो नहीं
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय AE/AWB अक्षम
मोड = AE_MODE_ON_* / AWB_MODE_AUTO
राज्य परिवर्तन का कारण नया राज्य टिप्पणियाँ
निष्क्रिय एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया खोज कर
निष्क्रिय AE/AWB_LOCK चालू बंद मान लॉक कर दिए गए
खोज कर एचएएल ने एई/एडब्ल्यूबी स्कैन पूरा किया कन्वर्ज्ड अच्छे मूल्य, परिवर्तन नहीं
खोज कर एचएएल ने एई स्कैन पूरा किया फ़्लैश_आवश्यक एकत्रित लेकिन फ़्लैश के बिना बहुत अंधेरा
खोज कर AE/AWB_LOCK चालू बंद मान लॉक कर दिए गए
कन्वर्ज्ड एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया खोज कर मान लॉक कर दिए गए
कन्वर्ज्ड AE/AWB_LOCK चालू बंद मान लॉक कर दिए गए
फ़्लैश_आवश्यक एचएएल ने एई/एडब्ल्यूबी स्कैन शुरू किया खोज कर मान लॉक कर दिए गए
फ़्लैश_आवश्यक AE/AWB_LOCK चालू बंद मान लॉक कर दिए गए
बंद AE/AWB_LOCK बंद खोज कर अनलॉक के बाद मान अच्छे नहीं हैं
बंद AE/AWB_LOCK बंद कन्वर्ज्ड अनलॉक के बाद मान अच्छे हैं
बंद AE_LOCK बंद फ़्लैश_आवश्यक एक्सपोज़र अच्छा है, लेकिन बहुत गहरा है
सभी एई राज्य PRECAPTURE_START पूर्वग्रहण प्रीकैप्चर अनुक्रम प्रारंभ करें
पूर्वग्रहण अनुक्रम पूरा हुआ, AE_LOCK बंद कन्वर्ज्ड उच्च गुणवत्ता वाले कैप्चर के लिए तैयार
पूर्वग्रहण अनुक्रम पूरा हो गया, AE_LOCK चालू बंद उच्च गुणवत्ता वाले कैप्चर के लिए तैयार

मैन्युअल नियंत्रण सक्षम करना

प्रत्यक्ष एप्लिकेशन नियंत्रण की अनुमति देने के लिए डिवाइस 3ए ब्लॉक को कॉन्फ़िगर करने में कई नियंत्रण भी शामिल हैं।

3ए नियंत्रण के लिए एचएएल मॉडल यह है कि प्रत्येक अनुरोध के लिए, एचएएल 3ए नियंत्रण क्षेत्रों की स्थिति का निरीक्षण करता है। यदि कोई 3ए रूटीन सक्षम है, तो वह रूटीन उस रूटीन से संबंधित नियंत्रण चर को ओवरराइड कर देता है, और ये ओवरराइड मान उस कैप्चर के लिए परिणाम मेटाडेटा में उपलब्ध होते हैं। उदाहरण के लिए, यदि किसी अनुरोध में ऑटो-एक्सपोज़र सक्षम है, तो एचएएल को अनुरोध के एक्सपोज़र, लाभ और फ़्रेम अवधि फ़ील्ड (और संभावित रूप से फ़्लैश फ़ील्ड, एई मोड के आधार पर) को अधिलेखित करना चाहिए। प्रासंगिक नियंत्रणों की सूची है:

नियंत्रण नाम इकाई टिप्पणियाँ
android.control.mode enum: बंद, ऑटो, USE_SCENE_MODE उच्च स्तरीय 3ए नियंत्रण। जब बंद पर सेट किया जाता है, तो HAL द्वारा सभी 3A नियंत्रण अक्षम हो जाता है। एप्लिकेशन को कैप्चर पैरामीटर के लिए फ़ील्ड स्वयं सेट करनी होगी। जब ऑटो पर सेट किया जाता है, तो android.control.* में अलग-अलग एल्गोरिदम नियंत्रण प्रभावी होते हैं, जैसे कि android.control.afMode। जब USE_SCENE_MODE पर सेट किया जाता है, तो android.control.* में व्यक्तिगत नियंत्रण अधिकतर अक्षम हो जाते हैं, और HAL अपनी इच्छानुसार दृश्य मोड सेटिंग्स (जैसे ACTION, SUNSET, या PARTY) में से एक को लागू करता है।
android.control.afMode enum OFF का अर्थ है android.lens.focusDistance के माध्यम से फोकस करने वाले लेंस का मैन्युअल नियंत्रण।
android.control.aeMode enum OFF का अर्थ है android.sensor.exposureTime / .sensitivity / .frameDuration के माध्यम से एक्सपोज़र/लाभ/फ़्रेम अवधि का मैन्युअल नियंत्रण
android.control.awbMode enum OFF का अर्थ है श्वेत संतुलन का मैन्युअल नियंत्रण।