3A मोड और स्टेटस ट्रांज़िशन

इस पेज पर, Android डिवाइस के लिए 3A मोड और स्टेट मशीनों के बारे में बताया गया है. कैमरे का एचएएल इंटरफ़ेस, एचएएल लागू करने और Android फ़्रेमवर्क को मौजूदा 3A स्टेटस की जानकारी देता है. साथ ही, 3A इवेंट को ट्रिगर करता है. यह इंटरफ़ेस, स्टेट मशीन को हाई लेवल पर तय करता है. एचएएल लागू करने की सुविधा, 3A मोड की सेटिंग और स्टेटस ट्रांज़िशन को कंट्रोल करने वाले 3A एल्गोरिदम के लिए ज़िम्मेदार है.

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

3A ऐक्शन को ट्रिगर करने के लिए, अगले अनुरोध की सेटिंग में ट्रिगर की शुरुआत का संकेत देने के लिए, ट्रिगर की सही एंट्री को सेट करना होता है. उदाहरण के लिए, ऑटोफ़ोकस स्कैन शुरू करने के लिए, एक अनुरोध के लिए ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTROL_AF_TRIGGER_START पर सेट किया जाता है. साथ ही, ऑटोफ़ोकस स्कैन रद्द करने के लिए, ANDROID_CONTROL_AF_TRIGGER को ANDROID_CONTRL_AF_TRIGGER_CANCEL पर सेट किया जाता है. ऐसा न करने पर, एंट्री मौजूद नहीं होगी या ANDROID_CONTROL_AF_TRIGGER_IDLE पर सेट हो जाएगी. ट्रिगर एंट्री को IDLE वैल्यू के बजाय किसी दूसरी वैल्यू पर सेट किए गए हर अनुरोध को, अलग से ट्रिगर करने वाले इवेंट के तौर पर माना जाएगा.

सबसे ऊपर के लेवल पर, 3A को ANDROID_CONTROL_MODE सेटिंग से कंट्रोल किया जाता है. यह 3A (ANDROID_CONTROL_MODE_OFF), सामान्य ऑटो मोड (ANDROID_CONTROL_MODE_AUTO), और सीन मोड सेटिंग (ANDROID_CONTROL_USE_SCENE_MODE) में से किसी एक को चुनता है:

  • बंद मोड में, ऑटोफ़ोकस (AF), ऑटोएक्सपोज़र (AE), और ऑटोव्हाइटबैलेंस (AWB) मोड के सभी कंट्रोल बंद रहते हैं. साथ ही, कैप्चर कंट्रोल में से किसी भी कंट्रोल को 3A रूटीन से बदला नहीं जा सकता.
  • ऑटो मोड, AF, AE, और AWB मोड में, सभी अपने अलग-अलग एल्गोरिदम चलाते हैं. साथ ही, इनमें अपने मोड, स्टेटस, और ट्रिगर मेटाडेटा एंट्री होती हैं, जैसा कि अगले सेक्शन में बताया गया है.
  • 3A रूटीन के व्यवहार का पता लगाने के लिए, USE_SCENE_MODE में ANDROID_CONTROL_SCENE_MODE एंट्री की वैल्यू का इस्तेमाल करना ज़रूरी है. FACE_PRIORITY के अलावा, SCENE_MODE में, चुने गए SCENE_MODE के लिए, HAL को ANDROID_CONTROL_AE/AWB/AF_MODE की वैल्यू को बदलना होगा. उदाहरण के लिए, एचएएल, 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_MODE_AUTO एक बार स्वीप करने पर ऑटोफ़ोकस. ऑटो फ़ोकस ट्रिगर होने तक, लेंस में कोई बदलाव नहीं होता.
AF_MODE_MACRO एक बार स्वीप करने पर, ऑब्जेक्ट के करीब ऑटोफ़ोकस करने की सुविधा. ऑटो फ़ोकस ट्रिगर होने तक, लेंस में कोई बदलाव नहीं होता
AF_MODE_CONTINUOUS_VIDEO वीडियो रिकॉर्ड करने के लिए, ऑब्जेक्ट पर लगातार फ़ोकस करने की सुविधा. तुरंत ट्रिगर करने पर, फ़ोकस मौजूदा पोज़िशन पर लॉक हो जाता है. रद्द करने पर, लगातार फ़ोकस करने की सुविधा फिर से चालू हो जाती है.
AF_MODE_CONTINUOUS_PICTURE शटर लैग के बिना स्टिल कैप्चर करने के लिए, तेज़ी से लगातार फ़ोकस करने की सुविधा. ट्रिगर करने पर, फ़िलहाल चल रही स्वीप खत्म होने के बाद फ़ोकस लॉक हो जाता है. रद्द करने पर, लगातार फ़ोकस करने की सुविधा फिर से शुरू हो जाती है.
AF_MODE_EDOF बेहतर और ज़्यादा डेप्थ ऑफ़ फ़ील्ड फ़ोकसिंग. ऑटोफ़ोकस स्कैन नहीं होता, इसलिए किसी स्कैन को ट्रिगर करने या रद्द करने का कोई असर नहीं पड़ता. एचएएल की मदद से, इमेज अपने-आप फ़ोकस हो जाती हैं.
ANDROID_CONTROL_AF_STATE डाइनैमिक मेटाडेटा, जिसमें एएफ़ एल्गोरिदम की मौजूदा स्थिति के बारे में बताया गया हो. इसकी जानकारी, नतीजे के मेटाडेटा में एचएएल देता है.
AF_STATE_INACTIVE फ़ोकस नहीं किया गया है या एल्गोरिदम रीसेट हो गया है. Lens इनपुट काम नहीं कर रहा है. हमेशा MODE_OFF या MODE_EDOF के लिए स्टेटस. डिवाइस खोलने पर, यह इस स्थिति में शुरू होना चाहिए.
AF_STATE_PASSIVE_SCAN फ़िलहाल, ऑब्जेक्ट पर फ़ोकस बनाए रखने वाला एल्गोरिदम, ऑब्जेक्ट को बेहतर तरीके से फ़ोकस करने के लिए स्कैन कर रहा है. लेंस हिल रहा हो.
AF_STATE_PASSIVE_FOCUSED लगातार फ़ोकस करने वाले एल्गोरिदम को लगता है कि वह अच्छी तरह फ़ोकस कर रहा है. लेंस हिल नहीं रहा है. एचएएल अपने-आप इस स्थिति से बाहर आ सकता है.
AF_STATE_PASSIVE_UNFOCUSED लगातार फ़ोकस करने वाले एल्गोरिदम को लगता है कि फ़ोकस ठीक से नहीं है. लेंस हिल नहीं रहा है. एचएएल अपने-आप इस स्थिति से बाहर आ सकता है.
AF_STATE_ACTIVE_SCAN उपयोगकर्ता की ओर से ट्रिगर किया गया स्कैन चल रहा है.
AF_STATE_FOCUSED_LOCKED एएफ़ एल्गोरिदम को लगता है कि फ़ोकस किया गया है. लेंस हिल नहीं रहा है.
AF_STATE_NOT_FOCUSED_LOCKED ऑटो फ़ोकस (एएफ़) एल्गोरिदम फ़ोकस नहीं कर पा रहा है. लेंस हिल नहीं रहा है.
ANDROID_CONTROL_AF_TRIGGER ऑटोफ़ोकस स्कैन शुरू करने के लिए कंट्रोल. इसका मतलब, मोड और स्थिति पर निर्भर करता है. अनुरोध की सेटिंग में फ़्रेमवर्क से सेट किया जाता है.
AF_TRIGGER_IDLE कोई मौजूदा ट्रिगर नहीं है.
AF_TRIGGER_START ऑटो फ़ोकस (एएफ़) स्कैन शुरू करने के लिए ट्रिगर करें. इसका असर मोड और स्टेटस पर निर्भर करता है.
AF_TRIGGER_CANCEL अगर एएफ़ स्कैन चल रहा है, तो उसे रद्द करें और एल्गोरिदम को डिफ़ॉल्ट पर रीसेट करें.
अन्य मेटाडेटा एंट्री
ANDROID_CONTROL_AF_REGIONS फ़ील्ड ऑफ़ व्यू (एफ़ओवी) के उन इलाकों को चुनने के लिए कंट्रोल जिनका इस्तेमाल, बेहतर फ़ोकस तय करने के लिए किया जाना चाहिए. यह उन सभी AF मोड पर लागू होता है जो फ़ोकस के लिए स्कैन करते हैं. अनुरोध की सेटिंग में फ़्रेमवर्क से सेट किया जाता है.

ऑटो एक्सपोज़र सेटिंग और नतीजों की एंट्री

मुख्य मेटाडेटा एंट्री
ANDROID_CONTROL_AE_MODE ऑटो एक्सपोज़र के मौजूदा मोड को चुनने के लिए कंट्रोल. अनुरोध की सेटिंग में, फ़्रेमवर्क से सेट किया जाता है.
AE_MODE_OFF ऑटो एक्सपोज़र बंद है. उपयोगकर्ता एक्सपोज़र, गेन, फ़्रेम की अवधि, और फ़्लैश को कंट्रोल करता है.
AE_MODE_ON स्टैंडर्ड ऑटो एक्सपोज़र, जिसमें फ़्लैश कंट्रोल बंद है. उपयोगकर्ता, फ़्लैश को फ़ायर या टॉर्च मोड पर सेट कर सकता है.
AE_MODE_ON_AUTO_FLASH स्टैंडर्ड ऑटो एक्सपोज़र, जिसमें फ़्लैश को पहले से कैप्चर करने और स्टिल कैप्चर के लिए, एचएएल के विवेक के आधार पर चालू किया जाता है. फ़्लैश के लिए उपयोगकर्ता कंट्रोल की सुविधा बंद है.
AE_MODE_ON_ALWAYS_FLASH स्टैंडर्ड ऑटो एक्सपोज़र, जिसमें फ़्लैश हमेशा कैप्चर के लिए चालू रहता है और HAL के हिसाब से, पहले से कैप्चर करने के लिए भी चालू रहता है. उपयोगकर्ता के पास फ़्लैश को कंट्रोल करने की सुविधा बंद है.
AE_MODE_ON_AUTO_FLASH_REDEYE स्टैंडर्ड ऑटो एक्सपोज़र, जिसमें फ़्लैश को पहले से कैप्चर करने और स्टिल कैप्चर के लिए, एचएएल के विवेक के हिसाब से चालू किया जाता है. फ़ोटो खींचने से पहले की जाने वाली तैयारी के आखिर में फ़्लैश बर्स्ट का इस्तेमाल करें, ताकि फ़ोटो में लाल आंखों की समस्या कम हो. फ़्लैश के लिए उपयोगकर्ता कंट्रोल की सुविधा बंद है.
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY कम रोशनी वाला मोड, कम रोशनी में झलक वाली स्ट्रीम की चमक को अपने-आप अडजस्ट कर देता है. इससे कम रोशनी में, मोशन ब्लर और नॉइज़ बढ़ सकता है. डिवाइस बनाने वाली कंपनियों को यह पक्का करना होगा कि फ़्रेम रेट 10 fps से कम न हो.
ANDROID_CONTROL_AE_STATE एई एल्गोरिदम की मौजूदा स्थिति के बारे में बताने वाला डाइनैमिक मेटाडेटा. इसकी जानकारी, नतीजे के मेटाडेटा में एचएएल से मिलती है.
AE_STATE_INACTIVE मोड स्विच करने के बाद, एई की शुरुआती स्थिति. डिवाइस खोलने पर, यह इस स्थिति में शुरू होना चाहिए.
AE_STATE_SEARCHING एई, अच्छी वैल्यू पर नहीं पहुंच रहा है और एक्सपोज़र पैरामीटर में बदलाव कर रहा है.
AE_STATE_CONVERGED एई को मौजूदा सीन के लिए अच्छी एक्सपोज़र वैल्यू मिली हैं और एक्सपोज़र पैरामीटर में बदलाव नहीं हो रहा है. बेहतर समाधान खोजने के लिए, एचएएल अपने-आप इस स्थिति से बाहर निकल सकता है.
AE_STATE_LOCKED AE_LOCK कंट्रोल की मदद से, AE लॉक किया गया है. एक्सपोज़र वैल्यू में बदलाव नहीं हो रहा है.
AE_STATE_FLASH_REQUIRED एचएएल ने एक्सपोज़र को कंवर्ज कर दिया है, लेकिन उसका मानना है कि ज़रूरत के मुताबिक चमकदार फ़ोटो लेने के लिए, फ़्लैश की ज़रूरत है. इसका इस्तेमाल यह तय करने के लिए किया जाता है कि शटर-लैग वाला फ़्रेम इस्तेमाल किया जा सकता है या नहीं.
AE_STATE_PRECAPTURE एचएएल, कैप्चर से पहले के क्रम में है. एई मोड के आधार पर, इस मोड में मेज़र करने के लिए फ़्लैश चालू किया जा सकता है या लाल आंखों को कम करने के लिए फ़्लैश के कई पल्से भेजे जा सकते हैं.
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER अच्छी क्वालिटी की इमेज कैप्चर करने से पहले, मीटरिंग सीक्वेंस शुरू करने के लिए कंट्रोल. अनुरोध की सेटिंग में फ़्रेमवर्क से सेट किया जाता है.
PRECAPTURE_TRIGGER_IDLE कोई मौजूदा ट्रिगर नहीं है.
PRECAPTURE_TRIGGER_START रिकॉर्डिंग से पहले की जाने वाली गतिविधियां शुरू करना. आने वाले समय में हाई रिज़ॉल्यूशन में कैप्चर करने के लिए, एचएएल को एक्सपोज़र/व्हाइट बैलेंस को बेहतर बनाने के लिए, बाद के अनुरोधों का इस्तेमाल करना चाहिए.
अन्य मेटाडेटा एंट्री
ANDROID_CONTROL_AE_LOCK एई कंट्रोल को उनकी मौजूदा वैल्यू पर लॉक करने के लिए कंट्रोल.
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION एई एल्गोरिदम के टारगेट ब्राइटनेस पॉइंट में बदलाव करने के लिए कंट्रोल.
ANDROID_CONTROL_AE_TARGET_FPS_RANGE एई एल्गोरिदम के लिए, टारगेट फ़्रेम रेट की सीमा चुनने का कंट्रोल. AE रूटीन, फ़्रेम रेट को इन सीमाओं के बाहर नहीं बदल सकता.
ANDROID_CONTROL_AE_REGIONS फ़ील्ड ऑफ़ व्यू (एफ़ओवी) के उन इलाकों को चुनने के लिए कंट्रोल जिनका इस्तेमाल, एक्सपोज़र के अच्छे लेवल का पता लगाने के लिए किया जाना चाहिए. यह 'बंद' के अलावा, एई के सभी मोड पर लागू होता है.

ऑटो व्हाइट बैलेंस की सेटिंग और नतीजे की एंट्री

मुख्य मेटाडेटा एंट्री
ANDROID_CONTROL_AWB_MODE मौजूदा व्हाइट-बैलेंस मोड चुनने के लिए कंट्रोल.
AWB_MODE_OFF अपने-आप सफ़ेद बैलेंस होने की सुविधा बंद है. उपयोगकर्ता, कलर मैट्रिक्स को कंट्रोल करता है.
AWB_MODE_AUTO ऑटोमैटिक व्हाइट बैलेंस चालू है; 3A कलर ट्रांसफ़ॉर्म को कंट्रोल करता है, हो सकता है कि वह किसी सामान्य मैट्रिक्स के बजाय ज़्यादा जटिल ट्रांसफ़ॉर्म का इस्तेमाल करे.
AWB_MODE_INCANDESCENT व्हाइट बैलेंस की सेटिंग को तय किया गया है. यह सेटिंग, घर के अंदर टंगस्टन (इंकन्सेंडेसेंट) लाइट के लिए अच्छी है. यह लाइट, करीब 2700K की होती है.
AWB_MODE_FLUORESCENT फ़्लोरोसेंट लाइटिंग के लिए, व्हाइट बैलेंस की सेटिंग तय की गई है. यह सेटिंग, करीब-करीब 5,000K के लिए सही है.
AWB_MODE_WARM_FLUORESCENT फ़्लोरोसेंट लाइटिंग के लिए, व्हाइट बैलेंस की सेटिंग को तय किया गया है. यह सेटिंग, करीब-करीब 3000K के लिए सही है.
AWB_MODE_DAYLIGHT व्हाइट बैलेंस की सेटिंग को तय किया गया है, जो दिन की रोशनी के लिए अच्छी है. यह सेटिंग करीब 5500K की होती है.
AWB_MODE_CLOUDY_DAYLIGHT व्हाइट बैलेंस की सेटिंग, 6500K के आस-पास होती है. यह सेटिंग, बादल छाए होने पर दिन के उजाले में वीडियो रिकॉर्ड करने के लिए अच्छी होती है.
AWB_MODE_TWILIGHT व्हाइट बैलेंस की सेटिंग को तय किया गया है. यह सेटिंग, सूर्यास्त/सूरज निकलने के समय के लिए अच्छी है. यह सेटिंग, करीब 15,000K की होती है.
AWB_MODE_SHADE व्हाइट बैलेंस की सेटिंग को तय किया गया है. यह सेटिंग, उन जगहों के लिए अच्छी है जहां सीधे तौर पर सूरज की रोशनी नहीं पड़ती. यह सेटिंग करीब 7500K होती है.
ANDROID_CONTROL_AWB_STATE डाइनैमिक मेटाडेटा, जिसमें AWB एल्गोरिदम की मौजूदा स्थिति के बारे में जानकारी होती है. इसे नतीजे के मेटाडेटा में, एचएएल की ओर से रिपोर्ट किया जाता है.
AWB_STATE_INACTIVE मोड स्विच करने के बाद, AWB की शुरुआती स्थिति. डिवाइस खोलने पर, यह इस स्थिति में शुरू होना चाहिए.
AWB_STATE_SEARCHING AWB सही वैल्यू पर नहीं पहुंच रहा है और रंग अडजस्टमेंट पैरामीटर बदल रहा है.
AWB_STATE_CONVERGED एडवांस वाइट बैलेंस (एडब्ल्यूबी) को मौजूदा सीन के लिए, रंग अडजस्टमेंट की अच्छी वैल्यू मिली हैं और पैरामीटर में बदलाव नहीं हो रहा है. बेहतर समाधान खोजने के लिए, एचएएल अपने-आप इस स्थिति से बाहर आ सकता है.
AWB_STATE_LOCKED AWB को AWB_LOCK कंट्रोल से लॉक किया गया है. रंग में बदलाव करने की वैल्यू नहीं बदल रही हैं.
अन्य मेटाडेटा एंट्री
ANDROID_CONTROL_AWB_LOCK AWB के रंग में बदलाव करने की सुविधा को उसकी मौजूदा वैल्यू पर लॉक करने के लिए कंट्रोल.
ANDROID_CONTROL_AWB_REGIONS फ़ील्ड ऑफ़ व्यू (एफ़ओवी) के उन हिस्सों को चुनने के लिए कंट्रोल जिनका इस्तेमाल, बेहतर कलर बैलेंस तय करने के लिए किया जाना चाहिए. यह सिर्फ़ ऑटो व्हाइट बैलेंस मोड पर लागू होता है.

स्टेट मशीन के ट्रांज़िशन के बारे में सामान्य जानकारी

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

यहां दी गई टेबल, हर मोड के हिसाब से हैं.

AF स्टेट मशीन

mode = AF_MODE_OFF या AF_MODE_EDOF
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है एएफ़ बंद है
mode = AF_MODE_AUTO या AF_MODE_MACRO
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है AF_TRIGGER ACTIVE_SCAN

ऑटो-फ़ोकस (एएफ़) स्वीप शुरू करना

अब लेंस हिल रहा है

ACTIVE_SCAN ऑटो-फ़ोकस (एएफ़) स्वीप हो गया FOCUSED_LOCKED

अगर AF सफल होता है

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

ACTIVE_SCAN ऑटो-फ़ोकस (एएफ़) स्वीप हो गया NOT_FOCUSED_LOCKED

अगर AF सफल होता है

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

ACTIVE_SCAN AF_CANCEL इस्तेमाल में नहीं है

ऑटो फ़ोकस (एएफ़) को रद्द करना/रीसेट करना

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

FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है ऑटो फ़ोकस (एएफ़) को रद्द करना/रीसेट करना
FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

नई स्वीप शुरू करना

अब लेंस हिल रहा है

NOT_FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है ऑटो फ़ोकस (एएफ़) को रद्द करना/रीसेट करना
NOT_FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

नई स्वीप शुरू करना

अब लेंस हिल रहा है

सभी राज्य Mode change इस्तेमाल में नहीं है
mode = AF_MODE_CONTINUOUS_VIDEO
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है एचएएल नया स्कैन शुरू करता है PASSIVE_SCAN

ऑटो-फ़ोकस (एएफ़) स्वीप शुरू करना

अब लेंस हिल रहा है

इस्तेमाल में नहीं है AF_TRIGGER NOT_FOCUSED_LOCKED

AF स्टेटस क्वेरी

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

PASSIVE_SCAN एचएएल, मौजूदा स्कैन पूरा करता है PASSIVE_FOCUSED

ऑटो-फ़ोकस (एएफ़) स्कैन की सुविधा बंद करना

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

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

फ़ोकस सही होने पर, तुरंत बदलाव करना

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

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

फ़ोकस खराब होने पर, तुरंत ट्रांसफ़ॉर्मेशन

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

PASSIVE_SCAN AF_CANCEL इस्तेमाल में नहीं है

लेंस की पोज़िशन रीसेट करना

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

PASSIVE_FOCUSED एचएएल नया स्कैन शुरू करता है PASSIVE_SCAN

ऑटो फ़ोकस स्कैन शुरू करना

अब लेंस हिल रहा है

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

फ़ोकस सही होने पर, तुरंत बदलाव करना

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

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED फ़ोकस खराब होने पर, तुरंत ट्रांसफ़ॉर्मेशन

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

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED कोई इफ़ेक्ट नहीं
FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है AF स्कैन को फिर से शुरू करना
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED कोई इफ़ेक्ट नहीं
NOT_FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है ऑटो फ़ोकस (एएफ़) स्कैन को फिर से शुरू करना
mode = AF_MODE_CONTINUOUS_PICTURE
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है एचएएल नया स्कैन शुरू करता है PASSIVE_SCAN

ऑटो फ़ोकस स्कैन शुरू करना

अब लेंस हिल रहा है

इस्तेमाल में नहीं है AF_TRIGGER NOT_FOCUSED_LOCKED

AF स्टेटस क्वेरी

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

PASSIVE_SCAN एचएएल, मौजूदा स्कैन पूरा करता है PASSIVE_FOCUSED ऑटो-फ़ोकस (एएफ़) स्कैन की सुविधा बंद करना

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

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

फ़ोकस सही होने के बाद, ट्रांसफ़ॉर्मेशन

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

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

फ़ोकस न कर पाने पर होने वाला बदलाव

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

PASSIVE_SCAN AF_CANCEL इस्तेमाल में नहीं है

लेंस की पोज़िशन रीसेट करना

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

PASSIVE_FOCUSED एचएएल नया स्कैन शुरू करता है PASSIVE_SCAN

ऑटो फ़ोकस स्कैन शुरू करना

अब लेंस हिल रहा है

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

फ़ोकस सही होने पर तुरंत बदलाव

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

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED

फ़ोकस खराब होने पर तुरंत ट्रांसफ़ॉर्मेशन

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

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED कोई इफ़ेक्ट नहीं
FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है AF स्कैन को फिर से शुरू करना
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED कोई इफ़ेक्ट नहीं
NOT_FOCUSED_LOCKED AF_CANCEL इस्तेमाल में नहीं है AF स्कैन को फिर से शुरू करना

AE और AWB स्टेट मशीन

AE और AWB स्टेट मशीन ज़्यादातर एक जैसी होती हैं. AE में, ज़्यादा FLASH_REQUIRED और PRECAPTURE स्थितियां होती हैं. इसलिए, AWB स्टेटस मशीन के लिए, उन दो स्थितियों के बारे में बताने वाली नीचे दी गई पंक्तियों को अनदेखा किया जाना चाहिए.

mode = AE_MODE_OFF / AWB mode not AUTO
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है एई/एडब्ल्यूबी बंद है
mode = AE_MODE_ON_* / AWB_MODE_AUTO
राज्य ट्रांसफ़ॉर्मेशन की वजह नई स्थिति अहम जानकारी
इस्तेमाल में नहीं है एचएएल, एई/एडब्ल्यूबी स्कैन शुरू करता है खोज रहा है
इस्तेमाल में नहीं है AE/AWB_LOCK चालू है लॉक किया गया वैल्यू लॉक की गईं
खोज रहा है एचएएल, एई/एडब्ल्यूबी स्कैन पूरा करता है CONVERGED अच्छी वैल्यू, जो नहीं बदल रही हैं
खोज रहा है एचएएल, एई स्कैन पूरा करता है FLASH_REQUIRED फ़्लैश के बिना बहुत गहरे रंग की फ़ोटो
खोज रहा है AE/AWB_LOCK चालू है लॉक किया गया वैल्यू लॉक की गईं
CONVERGED एचएएल, एई/एडब्ल्यूबी स्कैन शुरू करता है खोज रहा है वैल्यू लॉक की गईं
CONVERGED AE/AWB_LOCK चालू है लॉक किया गया वैल्यू लॉक की गईं
FLASH_REQUIRED एचएएल, एई/एडब्ल्यूबी स्कैन शुरू करता है खोज रहा है वैल्यू लॉक की गईं
FLASH_REQUIRED AE/AWB_LOCK चालू है लॉक किया गया वैल्यू लॉक की गईं
लॉक किया गया AE/AWB_LOCK बंद है खोज रहा है अनलॉक करने के बाद वैल्यू अच्छी नहीं हैं
लॉक किया गया AE/AWB_LOCK बंद है CONVERGED अनलॉक करने के बाद वैल्यू अच्छी हैं
लॉक किया गया AE_LOCK बंद है FLASH_REQUIRED एक्सपोज़र अच्छा है, लेकिन बहुत गहरे रंग का
संयुक्त अरब अमीरात के सभी राज्य PRECAPTURE_START PRECAPTURE रिकॉर्डिंग से पहले की प्रोसेस शुरू करना
PRECAPTURE सीक्वेंस पूरा हो गया है, AE_LOCK बंद है CONVERGED अच्छी क्वालिटी में कैप्चर करने के लिए तैयार
PRECAPTURE सीक्वेंस पूरा हो गया है, AE_LOCK चालू है लॉक किया गया अच्छी क्वालिटी में कैप्चर करने के लिए तैयार

मैन्युअल कंट्रोल चालू करना

डिवाइस के 3A ब्लॉक को कॉन्फ़िगर करने में भी कई कंट्रोल शामिल होते हैं, ताकि ऐप्लिकेशन को सीधे तौर पर कंट्रोल किया जा सके.

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

कंट्रोल का नाम इकाई अहम जानकारी
android.control.mode enum: OFF, AUTO, USE_SCENE_MODE 3A लेवल का बेहतर कंट्रोल. बंद होने पर, एचएएल के ज़रिए 3A कंट्रोल की सभी सुविधाएं बंद हो जाती हैं. ऐप्लिकेशन को कैप्चर पैरामीटर के लिए फ़ील्ड खुद से सेट करने चाहिए. AUTO पर सेट होने पर, android.control.* में मौजूद अलग-अलग एल्गोरिदम कंट्रोल चालू होते हैं. जैसे, android.control.afMode. USE_SCENE_MODE पर सेट होने पर, android.control में मौजूद अलग-अलग कंट्रोल.* ज़्यादातर बंद रहते हैं. साथ ही, एचएएल अपनी पसंद के हिसाब से सीन मोड की किसी एक सेटिंग (जैसे, ऐक्शन, सनसेट या पार्टी) को लागू करता है.
android.control.afMode enum बंद होने का मतलब है कि android.lens.focusDistance की मदद से, लेंस के फ़ोकस को मैन्युअल तरीके से कंट्रोल किया जा सकता है.
android.control.aeMode enum 'बंद है' का मतलब है कि एक्सपोज़र/गेन/फ़्रेम की अवधि को मैन्युअल तरीके से कंट्रोल किया जा सकता है. इसके लिए, android.sensor.exposureTime / .sensitivity / .frameDuration का इस्तेमाल करें
android.control.awbMode enum बंद होने का मतलब है कि वाइट बैलेंस को मैन्युअल तरीके से कंट्रोल किया जा सकता है.