Na tej stronie opisano tryby 3A i maszyny stanów na urządzeniu z Androidem. Kamera Interfejs HAL, który definiuje maszyny stanów na wysokim poziomie, umożliwia implementacji HAL i platformie Android komunikowanie się z bieżącymi stanami 3A i uruchamianie zdarzeń 3A. Implementacja HAL odpowiada za algorytmy 3A, które kontrolują ustawienia trybu 3A i przechodzenie między stanami.
Gdy urządzenie jest otwarte, wszystkie stany 3A muszą być STATE_INACTIVE.
Konfiguracja strumienia nie resetuje 3A. Na przykład podczas połączenia configure()
musi być zachowany zablokowany fokus.
Aby wywołać działanie 3A, wystarczy ustawić odpowiedni wpis w ustawieniach następnego żądania, aby wskazać początek działania. Na przykład: wyzwalacz rozpoczęcia skanowania autofokusu to ustawienie wpisu ANDROID_CONTROL_AF_TRIGGER na ANDROID_CONTROL_AF_TRIGGER_START w jednym żądaniu; a anulowanie skanowania autofokusu to ustawienie wpisu ANDROID_CONTROL_AF_TRIGGER na ANDROID_CONTRL_AF_TRIGGER_CANCEL. W przeciwnym razie wpis nie będzie istniał lub będzie miał wartość ANDROID_CONTROL_AF_TRIGGER_IDLE. Każde żądanie z wartością parametru wyzwalacza inną niż IDLE będzie traktowane jako niezależne zdarzenie uruchamiające.
Na najwyższym poziomie 3A jest kontrolowana przez ustawienie ANDROID_CONTROL_MODE. Wybiera między brakiem 3A (ANDROID_CONTROL_MODE_OFF), normalnym trybem AUTO (ANDROID_CONTROL_MODE_AUTO) i użyciem ustawienia trybu sceny (ANDROID_CONTROL_USE_SCENE_MODE):
- W trybie WYŁ. wszystkie tryby automatycznego ustawiania ostrości (AF), automatycznej ekspozycji (AE) i automatycznego balansu bieli (AWB) są wyłączone, a żadne z opcji rejestrowania nie mogą być zastąpione przez rutyny 3A.
- W trybie AUTO tryby AF, AE i AWB mają własne niezależne algorytmy oraz własne wpisy w metadanych trybu, stanu i wyzwalacza, jak podano w następnej sekcji.
- W USE_SCENE_MODE należy użyć wartości wpisu ANDROID_CONTROL_SCENE_MODE do określenia zachowania rutyn 3A. W przypadku SCENE_MODE innych niż FACE_PRIORITY interfejs HAL musi zastąpić wartości ANDROID_CONTROL_AE/AWB/AF_MODE preferowanym trybem dla wybranego SCENE_MODE. Na przykład HAL może preferować SCENE_MODE_NIGHT, aby użyć trybu CONTINUOUS_FOCUS AF. W przypadku tych trybów scen należy zignorować wybór przez użytkownika AE/AWB/AF_MODE.
- W przypadku SCENE_MODE_FACE_PRIORITY elementy sterujące AE/AWB/AFMODE działają tak samo jak w ANDROID_CONTROL_MODE_AUTO, ale procedury 3A muszą skoncentrować się na pomiarze i utrzymywaniu ostrości na twarzach wykrytych w scenie.
Ustawienia autofokusu i wartości wyników
Główne wpisy metadanych | |
---|---|
ANDROID_CONTROL_AF_MODE | Element sterujący służący do wyboru bieżącego trybu autofokusa. Ustawione przez framework w ustawieniach żądania. |
AF_MODE_OFF | AF jest wyłączony; framework lub aplikacja bezpośrednio kontroluje położenie obiektywu. |
AF_MODE_AUTO | Autofokus z jednym przesunięciem. Brak ruchu obiektywu, chyba że zostanie włączony AF. |
AF_MODE_MACRO | Automatyczny autofokus w przybliżeniu po jednym przesunięciu. Brak ruchu obiektywu, chyba że zostanie uruchomiony AF. |
AF_MODE_CONTINUOUS_VIDEO | płynne, ciągłe ustawianie ostrości podczas nagrywania filmów. Wywołanie natychmiastowe blokuje fokus w bieżącej pozycji. Anulowanie powoduje wznowienie ciągłego skupienia. |
AF_MODE_CONTINUOUS_PICTURE | Szybkie ciągłe ustawianie ostrości, aby uzyskać zdjęcia bez opóźnienia migawki. Po jej uruchomieniu blokada ostrości będzie aktywna do zakończenia bieżącego skanowania. Anulowanie powoduje wznowienie ciągłego skupienia. |
AF_MODE_EDOF | Zaawansowane ostrzenie z rozszerzoną głębią ostrości. Nie ma skanowania autofokusu, więc jego uruchomienie lub anulowanie nie ma żadnego wpływu. Obrazy są automatycznie ostrzone przez HAL. |
ANDROID_CONTROL_AF_STATE | dynamiczne metadane opisujące bieżący stan algorytmu AF, przekazywane przez HAL w metadanych wyników; |
AF_STATE_INACTIVE | Nie została przeprowadzona żadna operacja skupiania się na słowach kluczowych ani nie został zresetowany algorytm. Obiektyw się nie porusza. Zawsze stan MODE_OFF lub MODE_EDOF. Gdy urządzenie jest otwarte, musi się uruchamiać w tym stanie. |
AF_STATE_PASSIVE_SCAN | Algorytm ciągłego ustawiania ostrości obecnie sprawdza, czy obraz jest dobrze wyostrzony. Obiektyw się porusza. |
AF_STATE_PASSIVE_FOCUSED | Algorytm ciągłego skupienia uważa, że jest dobrze skoncentrowany. Obiektyw się nie porusza. HAL może spontanicznie opuścić ten stan. |
AF_STATE_PASSIVE_UNFOCUSED | Algorytm ciągłego skupienia uważa, że nie jest dobrze skoncentrowany. Obiektyw się nie porusza. HAL może spontanicznie opuścić ten stan. |
AF_STATE_ACTIVE_SCAN | Trwa skanowanie wywołane przez użytkownika. |
AF_STATE_FOCUSED_LOCKED | Algorytm AF uważa, że jest skupiony. Obiektyw się nie porusza. |
AF_STATE_NOT_FOCUSED_LOCKED | Algorytm AF nie może ustawić ostrości. Obiektyw się nie porusza. |
ANDROID_CONTROL_AF_TRIGGER | Sterowanie rozpoczęciem skanowania autofokusa, którego znaczenie zależy od trybu i stanu. Ustawione przez framework w ustawieniach żądania. |
AF_TRIGGER_IDLE | Brak bieżącego reguły. |
AF_TRIGGER_START | Wyzwalanie rozpoczęcia skanowania AF. Efekt zależy od trybu i stanu. |
AF_TRIGGER_CANCEL | Anuluj bieżące skanowanie AF (jeśli jest aktywne) i przywróć algorytm do ustawień domyślnych. |
Dodatkowe wpisy metadanych | |
---|---|
ANDROID_CONTROL_AF_REGIONS | Element sterujący służący do wybierania obszarów pola widzenia, które mają być używane do określania ostrości. Dotyczy to wszystkich trybów AF, które skanują obraz w celu ustawienia ostrości. Ustawione przez framework w ustawieniach żądania. |
Ustawienia autoekspozycji i wartości wyników
Główne wpisy metadanych | |
---|---|
ANDROID_CONTROL_AE_MODE | Element sterujący do wyboru bieżącego trybu automatycznej ekspozycji. Określany przez framework w ustawieniach żądania. |
AE_MODE_OFF | Automatyczna ekspozycja jest wyłączona. Użytkownik kontroluje ekspozycję, wzmocnienie, czas trwania klatki i błysk. |
AE_MODE_ON | Standardowa automatyczna ekspozycja z wyłączoną kontrolą lampy błyskowej. Użytkownik może ustawić błysk w trybie ciągłym lub trybie latarki. |
AE_MODE_ON_AUTO_FLASH | Standardowa automatyczna ekspozycja z włączoną lampą błyskową według uznania HAL w przypadku wstępnego uchwycenia obrazu i fotografowania. Wyłączenie kontroli lampy błyskowej przez użytkownika. |
AE_MODE_ON_ALWAYS_FLASH | Standardowa automatyczna ekspozycja, w której przypadku lampa błyskowa jest zawsze włączana podczas robienia zdjęć i w ocenie HAL w ramach wstępnego przechwytywania. Wyłączenie kontroli lampy błyskowej przez użytkownika. |
AE_MODE_ON_AUTO_FLASH_REDEYE | Standardowa automatyczna ekspozycja z włączoną lampą błyskową według uznania HAL w przypadku wstępnego uchwycenia obrazu i fotografowania. Użyj wiązki błysku na końcu sekwencji wstępnego uchwycenia, aby zmniejszyć efekt czerwonych oczu na ostatecznym zdjęciu. Wyłączenie kontroli lampy błyskowej przez użytkownika. |
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY | Tryb słabego oświetlenia automatycznie dostosowuje jasność strumienia podglądu w warunkach słabego oświetlenia. Może to spowodować zwiększone rozmycie obrazu i szum w warunkach słabego oświetlenia. Producenci urządzeń muszą zadbać o to, aby liczba klatek na sekundę nie spadała poniżej 10 FPS. |
ANDROID_CONTROL_AE_STATE | dynamiczne metadane opisujące bieżący stan algorytmu AE, przekazywane przez HAL w metadanych wyników; |
AE_STATE_INACTIVE | Początkowy stan AE po przełączeniu trybu. Gdy urządzenie jest otwarte, musi się włączać w tym stanie. |
AE_STATE_SEARCHING | AE nie osiąga dobrej wartości i dostosowuje parametry ekspozycji. |
AE_STATE_CONVERGED | AE znalazło odpowiednie wartości ekspozycji dla bieżącej sceny i parametry ekspozycji się nie zmieniają. HAL może spontanicznie opuścić ten stan, aby znaleźć lepsze rozwiązanie. |
AE_STATE_LOCKED | AE zostało zablokowane za pomocą parametru AE_LOCK. Wartości ekspozycji się nie zmieniają. |
AE_STATE_FLASH_REQUIRED | HAL ma zbliżone naświetlenie, ale uważa, że do uzyskania wystarczająco jasnego zdjęcia potrzebna jest lampa błyskowa. Służy do określenia, czy można użyć klatki z zerowym opóźnieniem migawki. |
AE_STATE_PRECAPTURE | HAL znajduje się w połowie sekwencji przed przechwyceniem. W zależności od trybu AE może on wykorzystywać lampę błyskową do pomiaru lub serię błysków do redukcji efektu czerwonych oczu. |
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER | Element sterujący do uruchamiania sekwencji pomiaru przed zrobieniem zdjęcia o wysokiej jakości. Ustawione przez framework w ustawieniach żądania. |
PRECAPTURE_TRIGGER_IDLE | Brak bieżącego reguły. |
PRECAPTURE_TRIGGER_START | Rozpocznij sekwencję wstępnego przechwytywania. HAL powinien użyć kolejnych żądań do pomiaru dobrej ekspozycji lub balansu bieli na potrzeby przyszłego przechwycenia w wysokiej rozdzielczości. |
Dodatkowe wpisy metadanych | |
---|---|
ANDROID_CONTROL_AE_LOCK | opcja blokowania ustawień AE na ich bieżące wartości; |
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION | Ustawienie do regulowania punktu docelowego jasności algorytmu AE. |
ANDROID_CONTROL_AE_TARGET_FPS_RANGE | Opcja wyboru docelowego zakresu liczby klatek na sekundę dla algorytmu AE. Rutyna AE nie może zmienić liczby klatek na sekundę poza te granice. |
ANDROID_CONTROL_AE_REGIONS | Element sterujący służący do wybierania obszarów pola widzenia, które mają być używane do określania odpowiednich poziomów ekspozycji. Dotyczy to wszystkich trybów AE, z wyjątkiem trybu WYŁ. |
Ustawienia automatycznego balansu bieli i wartości wyników
Główne wpisy metadanych | |
---|---|
ANDROID_CONTROL_AWB_MODE | Element sterujący służący do wyboru bieżącego trybu balansu bieli. |
AWB_MODE_OFF | Automatyczny balans bieli jest wyłączony. Użytkownik kontroluje matrycę kolorów. |
AWB_MODE_AUTO | Włączone jest automatyczne wyważenie bieli; 3A kontroluje przekształcenie kolorów, możliwe, że przy użyciu bardziej złożonych przekształceń niż prosta matryca. |
AWB_MODE_INCANDESCENT | Ustawienia stałego balansu bieli odpowiednie do oświetlenia żarowego (wolframowego) w pomieszczeniu, około 2700 K. |
AWB_MODE_FLUORESCENT | Stały balans bieli, odpowiedni dla oświetlenia fluorescencyjnego, około 5000 K. |
AWB_MODE_WARM_FLUORESCENT | Stały balans bieli, odpowiedni do oświetlenia fluorescencyjnego, około 3000 K. |
AWB_MODE_DAYLIGHT | Ustawienia stałego balansu bieli, dobre do oświetlenia dziennego, około 5500 K. |
AWB_MODE_CLOUDY_DAYLIGHT | Ustawienia balansu bieli w przypadku ciemnego światła dziennego, około 6500 K. |
AWB_MODE_TWILIGHT | Ustawienia stałego balansu bieli, które dobrze sprawdzają się przy zachodzie/wschodzie słońca, około 15 tys. |
AWB_MODE_SHADE | Ustawienia stałego balansu bieli, które są odpowiednie do obszarów oświetlonych pośrednio przez słońce (około 7500 K). |
ANDROID_CONTROL_AWB_STATE | dynamiczne metadane opisujące bieżący stan algorytmu AWB, przekazywane przez HAL w metadanych wyników; |
AWB_STATE_INACTIVE | Początkowy stan AWB po przełączeniu trybu. Gdy urządzenie jest otwarte, musi się uruchamiać w tym stanie. |
AWB_STATE_SEARCHING | AWB nie osiąga dobrej wartości i zmienia parametry regulacji kolorów. |
AWB_STATE_CONVERGED | Automatyczna regulacja balansu bieli znalazła odpowiednie wartości korekcji kolorów dla bieżącej sceny i nie zmienia parametrów. HAL może spontanicznie opuścić ten stan, aby znaleźć lepsze rozwiązanie. |
AWB_STATE_LOCKED | AWB zostało zablokowane za pomocą ustawienia AWB_LOCK. Wartości korekty kolorów się nie zmieniają. |
Dodatkowe wpisy metadanych | |
---|---|
ANDROID_CONTROL_AWB_LOCK | Ustawienie blokowania korekty kolorów AWB do bieżących wartości. |
ANDROID_CONTROL_AWB_REGIONS | Element sterujący do wybierania obszarów pola widzenia, które mają być używane do określania dobrej równowagi kolorów. Dotyczy to tylko trybu automatycznego balansu bieli. |
Ogólne uwagi dotyczące przejścia w stan
Przełączanie się między trybami AF, AE i AWB zawsze powoduje zresetowanie stanu algorytmu do stanu NIEAKTYWNY. Podobnie przełączanie się między opcjami CONTROL_MODE i CONTROL_SCENE_MODE, jeśli CONTROL_MODE == USE_SCENE_MODE, powoduje zresetowanie wszystkich stanów algorytmu do stanu NIEAKTYWNY.
Tabele poniżej zawierają dane dotyczące poszczególnych trybów.
Automaty stanów AF
mode = AF_MODE_OFF or AF_MODE_EDOF | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | AF jest wyłączony |
mode = AF_MODE_AUTO lub AF_MODE_MACRO | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | AF_TRIGGER | ACTIVE_SCAN | Rozpocznij skanowanie AF Obiektyw się porusza |
ACTIVE_SCAN | Przeszukiwanie AF zakończone | FOCUSED_LOCKED | Jeśli AF zakończyło się powodzeniem Obiektyw jest teraz zablokowany |
ACTIVE_SCAN | Przeszukiwanie AF zakończone | NOT_FOCUSED_LOCKED | Jeśli AF zakończyło się powodzeniem Obiektyw jest teraz zablokowany |
ACTIVE_SCAN | AF_CANCEL | NIEAKTYWNA | Anulowanie lub resetowanie AF Obiektyw jest teraz zablokowany |
FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Anulowanie lub resetowanie AF |
FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | Rozpocznij nowe skanowanie Obiektyw się porusza |
NOT_FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Anulowanie lub resetowanie AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | ACTIVE_SCAN | Rozpocznij nowe skanowanie Obiektyw się porusza |
Wszystkie stany | Zmiana trybu | NIEAKTYWNA |
mode = AF_MODE_CONTINUOUS_VIDEO | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | HAL inicjuje nowe skanowanie | PASSIVE_SCAN | Rozpocznij skanowanie AF Obiektyw się porusza |
NIEAKTYWNA | AF_TRIGGER | NOT_FOCUSED_LOCKED | Zapytanie o stan AF Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | HAL kończy bieżące skanowanie | PASSIVE_FOCUSED | Zakończ skanowanie AF Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | natychmiastowa transformacja, jeśli ostrość jest dobra; Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | natychmiastowa transformacja, jeśli ostrość jest zła; Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_CANCEL | NIEAKTYWNA | Resetowanie pozycji obiektywu Obiektyw jest teraz zablokowany |
PASSIVE_FOCUSED | HAL inicjuje nowe skanowanie | PASSIVE_SCAN | Rozpocznij skanowanie AF Obiektyw się porusza |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | natychmiastowa transformacja, jeśli ostrość jest dobra; Obiektyw jest teraz zablokowany |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | natychmiastowa transformacja, jeśli ostrość jest zła;
Obiektyw jest teraz zablokowany |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | Brak efektu |
FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Ponownie uruchom skanowanie AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Brak efektu |
NOT_FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Ponownie uruchom skanowanie AF |
mode = AF_MODE_CONTINUOUS_PICTURE | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | HAL inicjuje nowe skanowanie | PASSIVE_SCAN | Rozpocznij skanowanie AF Obiektyw się porusza |
NIEAKTYWNA | AF_TRIGGER | NOT_FOCUSED_LOCKED | Zapytanie o stan AF Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | HAL kończy bieżące skanowanie | PASSIVE_FOCUSED | Zakończ skanowanie AF
Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_TRIGGER | FOCUSED_LOCKED | Ostateczna transformacja po zakończeniu procesu Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_TRIGGER | NOT_FOCUSED_LOCKED | Ewentualna transformacja, jeśli nie można ustawić ostrości Obiektyw jest teraz zablokowany |
PASSIVE_SCAN | AF_CANCEL | NIEAKTYWNA | Resetowanie pozycji obiektywu Obiektyw jest teraz zablokowany |
PASSIVE_FOCUSED | HAL inicjuje nowe skanowanie | PASSIVE_SCAN | Rozpocznij skanowanie AF Obiektyw się porusza |
PASSIVE_FOCUSED | AF_TRIGGER | FOCUSED_LOCKED | natychmiastowa transformacja, jeśli ostrość jest dobra; Obiektyw jest teraz zablokowany |
PASSIVE_FOCUSED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Natychmiastowe przekształcenie, jeśli ostrość jest zła Obiektyw jest teraz zablokowany |
FOCUSED_LOCKED | AF_TRIGGER | FOCUSED_LOCKED | Brak efektu |
FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Ponownie uruchom skanowanie AF |
NOT_FOCUSED_LOCKED | AF_TRIGGER | NOT_FOCUSED_LOCKED | Brak efektu |
NOT_FOCUSED_LOCKED | AF_CANCEL | NIEAKTYWNA | Ponownie uruchom skanowanie AF |
Maszyny stanów AE i AWB
Maszyny stanów AE i AWB są w większości identyczne. AE ma dodatkowe stany FLASH_REQUIRED i PRECAPTURE. Dlatego wiersze poniżej, które odnoszą się do tych dwóch stanów, powinny być ignorowane przez maszynę stanów AWB.
tryb = AE_MODE_OFF / tryb AWB nie AUTO; | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | AE/AWB wyłączone |
tryb = AE_MODE_ON_* / AWB_MODE_AUTO | |||
---|---|---|---|
Region | Przyczyna przekształcenia | Nowy stan | Uwagi |
NIEAKTYWNA | HAL inicjuje skanowanie AE/AWB | WYSZUKIWANIE | |
NIEAKTYWNA | AE/AWB_LOCK włączone | ZABLOKOWANE | Zablokowane wartości |
WYSZUKIWANIE | HAL kończy skanowanie AE/AWB | CONVERGED | Dobre wartości, które nie ulegają zmianie |
WYSZUKIWANIE | HAL kończy skanowanie AE | FLASH_REQUIRED | Zdjęcie jest zbyt ciemne bez lampy błyskowej. |
WYSZUKIWANIE | AE/AWB_LOCK włączone | ZABLOKOWANE | Zablokowane wartości |
CONVERGED | HAL inicjuje skanowanie AE/AWB | WYSZUKIWANIE | Zablokowane wartości |
CONVERGED | AE/AWB_LOCK włączone | ZABLOKOWANE | Zablokowane wartości |
FLASH_REQUIRED | HAL inicjuje skanowanie AE/AWB | WYSZUKIWANIE | Zablokowane wartości |
FLASH_REQUIRED | AE/AWB_LOCK włączone | ZABLOKOWANE | Zablokowane wartości |
ZABLOKOWANE | AE/AWB_LOCK off | WYSZUKIWANIE | Wartości nie są dobre po odblokowaniu |
ZABLOKOWANE | AE/AWB_LOCK off | CONVERGED | Wartości po odblokowaniu |
ZABLOKOWANE | AE_LOCK off | FLASH_REQUIRED | Dobra ekspozycja, ale za ciemno |
Wszystkie stany AE | PRECAPTURE_START | PRZECHWYTANIE | Rozpoczęcie sekwencji wstępnego przechwytywania |
PRZECHWYTANIE | Sekwencja została zakończona, AE_LOCK wyłączony | CONVERGED | Gotowe do rejestrowania obrazu w wysokiej jakości |
PRZECHWYTANIE | Sekwencja zakończona, AE_LOCK włączony | ZABLOKOWANE | Gotowe do rejestrowania obrazu w wysokiej jakości |
Włączanie sterowania ręcznego
Konfigurowanie blokad 3A na urządzeniu wymaga też użycia kilku elementów sterujących, aby umożliwić bezpośrednie sterowanie aplikacjami.
Model HAL dla kontroli 3A polega na tym, że w przypadku każdego żądania HAL sprawdza stan pól kontroli 3A. Jeśli włączona jest dowolna rutyna 3A, zastępuje ona zmienne kontrolne powiązane z tą rutyną, a wartości zastępcze są dostępne w metadanych dotyczących danego przechwycenia. Jeśli na przykład w żądaniu jest włączona automatyczna ekspozycja, HAL powinien zastąpić pola ekspozycji, wzmocnienia i czasu trwania klatki (oraz potencjalnie pola flash, w zależności od trybu AE) w żądaniu. Lista odpowiednich elementów sterujących:
Nazwa elementu sterującego | Jednostka | Uwagi |
---|---|---|
android.control.mode | enum: OFF, AUTO, USE_SCENE_MODE | Ogólne zabezpieczenia 3A. Gdy ta opcja jest ustawiona na WYŁĄCZONO, wszystkie funkcje sterowania 3A przez HAL są wyłączone. Aplikacja musi sama ustawić pola parametrów rejestrowania. Gdy ustawisz opcję AUTO, będą obowiązywać poszczególne ustawienia algorytmu w android.control.*, takie jak android.control.afMode. Gdy ustawisz USE_SCENE_MODE, poszczególne ustawienia w android.control.* są w większości wyłączone, a HAL implementuje jeden z trybów sceny (np. ACTION, SUNSET lub PARTY). |
android.control.afMode | enum | OFF oznacza ręczne ustawianie ostrości obiektywu za pomocą android.lens.focusDistance. |
android.control.aeMode | enum | OFF oznacza ręczne sterowanie czasem ekspozycji/wzmocnienia/ramki za pomocą android.sensor.exposureTime / .sensitivity / .frameDuration. |
android.control.awbMode | enum | OFF oznacza ręczne sterowanie balansem bieli. |