3A Tryby i przejście między stanami

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.