3A-Modi und Statusübergang

Auf dieser Seite werden die 3A-Modi und die Zustandsmaschinen für ein Android-Gerät beschrieben. Über die HAL-Schnittstelle der Kamera, die die Statusmaschinen auf hoher Ebene definiert, können die HAL-Implementierung und das Android-Framework die aktuellen 3A-Status kommunizieren und 3A-Ereignisse auslösen. Die HAL-Implementierung ist für die 3A-Algorithmen verantwortlich, die die 3A-Moduseinstellungen und Statusübergänge steuern.

Wenn das Gerät geöffnet ist, müssen alle einzelnen 3A-Status „STATE_INACTIVE“ sein. Durch die Streamkonfiguration wird 3A nicht zurückgesetzt. Beispielsweise muss der fixierte Fokus während des gesamten configure()-Anrufs beibehalten werden.

Um eine 3A-Aktion auszulösen, müssen Sie lediglich den entsprechenden Triggereintrag in den Einstellungen für die nächste Anfrage festlegen, um den Start des Triggers anzugeben. Beispielsweise wird der Auslöser für den Start eines Autofokus-Scans durch Festlegen des Eintrags ANDROID_CONTROL_AF_TRIGGER auf ANDROID_CONTROL_AF_TRIGGER_START für eine Anfrage ausgelöst. Das Abbrechen eines Autofokus-Scans wird durch Festlegen von ANDROID_CONTROL_AF_TRIGGER auf ANDROID_CONTROL_AF_TRIGGER_CANCEL ausgelöst. Andernfalls ist der Eintrag nicht vorhanden oder auf ANDROID_CONTROL_AF_TRIGGER_IDLE festgelegt. Jede Anfrage mit einem Triggereintrag, der nicht auf IDLE gesetzt ist, wird als unabhängiges Triggerereignis behandelt.

Auf der obersten Ebene wird 3A durch die Einstellung ANDROID_CONTROL_MODE gesteuert. Es wird zwischen „Kein 3A“ (ANDROID_CONTROL_MODE_OFF), dem normalen AUTO-Modus (ANDROID_CONTROL_MODE_AUTO) und der Einstellung „Szenenmodus verwenden“ (ANDROID_CONTROL_USE_SCENE_MODE) ausgewählt:

  • Im Modus „AUS“ sind die einzelnen Modi für Autofokus (AF), automatische Belichtung (AE) und automatischen Weißabgleich (AWB) deaktiviert und keine der Aufnahmesteuerungen kann von den 3A-Routinen überschrieben werden.
  • Im AUTO-Modus werden für AF, AE und AWB jeweils eigene unabhängige Algorithmen ausgeführt. Außerdem haben sie eigene Metadateneinträge für Modus, Status und Trigger, wie im nächsten Abschnitt aufgeführt.
  • In USE_SCENE_MODE muss der Wert des Eintrags ANDROID_CONTROL_SCENE_MODE verwendet werden, um das Verhalten von 3A-Abläufen zu bestimmen. Bei anderen SCENE_MODEs als FACE_PRIORITY muss die HAL die Werte von ANDROID_CONTROL_AE/AWB/AF_MODE überschreiben, um den bevorzugten Modus für den ausgewählten SCENE_MODE festzulegen. Beispielsweise kann die HAL SCENE_MODE_NIGHT bevorzugen, um den AF-Modus CONTINUOUS_FOCUS zu verwenden. Die Auswahl von AE/AWB/AF_MODE durch den Nutzer bei der Szene muss für diese Szenenmodi ignoriert werden.
  • Bei SCENE_MODE_FACE_PRIORITY funktionieren die AE-/AWB-/AFMODE-Steuerungen wie bei ANDROID_CONTROL_MODE_AUTO. Die 3A-Abläufe müssen jedoch die Belichtung und den Fokus auf alle erkannten Gesichter in der Szene ausrichten.

Einstellungen für den Autofokus und Ergebnisseinträge

Hauptmetadateneinträge
ANDROID_CONTROL_AF_MODE Steuerelement zum Auswählen des aktuellen Autofokusmodus. Wird vom Framework in den Anfrageeinstellungen festgelegt.
AF_MODE_OFF Der Autofokus ist deaktiviert. Die Objektivposition wird direkt vom Framework/der App gesteuert.
AF_MODE_AUTO Einmalige Autofokus-Suche Das Objektiv bewegt sich nur, wenn der Autofokus ausgelöst wird.
AF_MODE_MACRO Nahaufnahmen mit automatischer Fokussierung durch einmaliges Schwenken Keine Objektivbewegung, es sei denn, der Autofokus wird ausgelöst
AF_MODE_CONTINUOUS_VIDEO Für die Videoaufzeichnung ist eine kontinuierliche und flüssige Fokussierung möglich. Wenn der Auslöser sofort ausgelöst wird, wird der Fokus an der aktuellen Position fixiert. Wenn Sie die Funktion abbrechen, wird die kontinuierliche Fokussierung fortgesetzt.
AF_MODE_CONTINUOUS_PICTURE Schnelle kontinuierliche Fokussierung für die Aufnahme von Standbildern ohne Verschlussverzögerung. Durch das Auslösen wird der Fokus fixiert, sobald der derzeit aktive Scan beendet ist. Wenn Sie das abbrechen, wird die kontinuierliche Fokussierung fortgesetzt.
AF_MODE_EDOF Erweiterte Fokussierung mit großer Schärfentiefe. Es gibt keinen Autofokus-Scan. Das Auslösen oder Abbrechen hat daher keine Auswirkungen. Bilder werden automatisch vom HAL fokussiert.
ANDROID_CONTROL_AF_STATE Dynamische Metadaten, die den aktuellen Status des AF-Algorithmus beschreiben, der vom HAL in den Ergebnismetadaten gemeldet wird.
AF_STATE_INACTIVE Es wurde keine Fokussierung vorgenommen oder der Algorithmus wurde zurückgesetzt. Die Linse bewegt sich nicht. Immer der Status für MODE_OFF oder MODE_EDOF. Wenn das Gerät geöffnet wird, muss es in diesem Status gestartet werden.
AF_STATE_PASSIVE_SCAN Ein Algorithmus für den kontinuierlichen Autofokus sucht derzeit nach einem scharfen Bild. Das Objektiv bewegt sich.
AF_STATE_PASSIVE_FOCUSED Ein Algorithmus für den kontinuierlichen Autofokus geht davon aus, dass die Aufnahme scharf ist. Das Objektiv bewegt sich nicht. Der HAL kann diesen Status spontan verlassen.
AF_STATE_PASSIVE_UNFOCUSED Ein Algorithmus für den kontinuierlichen Fokus geht davon aus, dass das Bild nicht richtig scharf ist. Das Objektiv bewegt sich nicht. Der HAL kann diesen Status spontan verlassen.
AF_STATE_ACTIVE_SCAN Ein vom Nutzer ausgelöster Scan ist in Bearbeitung.
AF_STATE_FOCUSED_LOCKED Der AF-Algorithmus ist der Meinung, dass die Aufnahme scharf ist. Das Objektiv bewegt sich nicht.
AF_STATE_NOT_FOCUSED_LOCKED Der AF-Algorithmus konnte nicht scharfstellen. Das Objektiv bewegt sich nicht.
ANDROID_CONTROL_AF_TRIGGER Steuerelement zum Starten eines Autofokus-Scans. Die Bedeutung hängt vom Modus und Status ab. Wird vom Framework in den Anfrageeinstellungen festgelegt.
AF_TRIGGER_IDLE Kein aktueller Trigger.
AF_TRIGGER_START Start des AF-Scans auslösen Die Wirkung hängt vom Modus und vom Status ab.
AF_TRIGGER_CANCEL Falls ein AF-Scan ausgeführt wird, wird er abgebrochen und der Algorithmus auf die Standardeinstellung zurückgesetzt.
Zusätzliche Metadateneinträge
ANDROID_CONTROL_AF_REGIONS Steuerelement zum Auswählen der Bereiche des Sichtfelds, die für die Bestimmung des richtigen Fokus verwendet werden sollen. Das gilt für alle AF-Modi, bei denen der Fokus automatisch scharf gestellt wird. Wird vom Framework in den Anfrageeinstellungen festgelegt.

Einstellungen für die automatische Belichtung und Ergebniseinträge

Hauptmetadateneinträge
ANDROID_CONTROL_AE_MODE Steuerelement zum Auswählen des aktuellen Modus für die automatische Belichtung. Wird vom Framework in den Anfrageeinstellungen festgelegt.
AE_MODE_OFF Die automatische Belichtung ist deaktiviert. Der Nutzer steuert Belichtung, Verstärkung, Framedauer und Blitz.
AE_MODE_ON Standard-Automatikbelichtung, Blitzsteuerung deaktiviert Der Nutzer kann den Blitz auf „Auslösen“ oder „Taschenlampe“ stellen.
AE_MODE_ON_AUTO_FLASH Standard-Autobelichtung, wobei der Blitz nach Ermessen von HAL für die Voraufnahme und die Aufnahme von Standbildern aktiviert wird. Nutzersteuerung des Blitzes deaktiviert
AE_MODE_ON_ALWAYS_FLASH Standard-Autobelichtung, bei der der Blitz immer bei der Aufnahme und nach Ermessen von HAL vor der Aufnahme ausgelöst wird. Nutzersteuerung des Blitzes deaktiviert
AE_MODE_ON_AUTO_FLASH_REDEYE Standard-Autobelichtung mit Blitz, der nach Ermessen von HAL für die Voraufnahme und die Aufnahme von Standbildern aktiviert wird. Verwenden Sie einen Blitzstoß am Ende der Voraufnahmesequenz, um rote Augen im Endbild zu reduzieren. Nutzersteuerung des Blitzes deaktiviert
AE_MODE_ON_LOW_LIGHT_BOOST_BRIGHTNESS_PRIORITY Mit Low Light Boost wird die Helligkeit des Vorschaustreams bei schlechten Lichtverhältnissen automatisch angepasst. Das kann bei schlechten Lichtverhältnissen zu mehr Bewegungsunschärfe und Bildrauschen führen. Gerätehersteller müssen dafür sorgen, dass die Framerate nicht unter 10 fps fällt.
ANDROID_CONTROL_AE_STATE Dynamische Metadaten, die den aktuellen Status des AE-Algorithmus beschreiben, der vom HAL in den Ergebnismetadaten gemeldet wird.
AE_STATE_INACTIVE AE-Status nach dem Moduswechsel. Wenn das Gerät geöffnet wird, muss es in diesem Status gestartet werden.
AE_STATE_SEARCHING Die automatische Belichtungseinstellung ist nicht auf einen guten Wert konvergiert und passt die Belichtungsparameter an.
AE_STATE_CONVERGED Die AE hat für die aktuelle Szene gute Belichtungswerte gefunden und die Belichtungsparameter ändern sich nicht. HAL kann diesen Zustand spontan verlassen, um nach einer besseren Lösung zu suchen.
AE_STATE_LOCKED Die automatische Belichtung wurde mit der AE_LOCK-Steuerung gesperrt. Die Belichtungswerte ändern sich nicht.
AE_STATE_FLASH_REQUIRED Die HAL hat die Belichtung optimiert, ist aber der Meinung, dass für ein ausreichend helles Bild der Blitz erforderlich ist. Wird verwendet, um zu bestimmen, ob ein Frame ohne Verschlussverzögerung verwendet werden kann.
AE_STATE_PRECAPTURE Die HAL befindet sich in der Mitte einer Sequenz vor der Aufnahme. Je nach AE-Modus kann dieser Modus das Auslösen des Blitzes zur Belichtungsmessung oder eine Blitzfolge zur Reduzierung von roten Augen beinhalten.
ANDROID_CONTROL_AE_PRECAPTURE_TRIGGER Steuert das Starten einer Belichtungsreihe, bevor ein hochwertiges Bild aufgenommen wird. Wird vom Framework in den Anfrageeinstellungen festgelegt.
PRECAPTURE_TRIGGER_IDLE Kein aktueller Trigger.
PRECAPTURE_TRIGGER_START Starten Sie eine Sequenz vor der Aufnahme. Die HAL sollte die nachfolgenden Anfragen verwenden, um eine gute Belichtung/einen guten Weißabgleich für eine bevorstehende Aufnahme in hoher Auflösung zu messen.
Zusätzliche Metadateneinträge
ANDROID_CONTROL_AE_LOCK Hiermit können Sie die AE-Einstellungen auf die aktuellen Werte sperren.
ANDROID_CONTROL_AE_EXPOSURE_COMPENSATION Steuerelement zum Anpassen des Zielhelligkeitspunkts des AE-Algorithmus.
ANDROID_CONTROL_AE_TARGET_FPS_RANGE Steuerelement zum Auswählen des Bereichs für die Ziel-Framerate für den AE-Algorithmus. Die AE-Routine kann die Framerate nicht außerhalb dieser Grenzen ändern.
ANDROID_CONTROL_AE_REGIONS Steuerelement zum Auswählen der Bereiche des Sichtfelds, die zur Bestimmung der richtigen Belichtung verwendet werden sollen. Das gilt für alle AE-Modi mit Ausnahme von „AUS“.

Einstellungen für die automatische Weißabgleichsfunktion und Ergebniseinträge

Hauptmetadateneinträge
ANDROID_CONTROL_AWB_MODE Steuerelement zum Auswählen des aktuellen Weißabgleichsmodus.
AWB_MODE_OFF Der automatische Weißabgleich ist deaktiviert. Nutzer steuert die Farbmatrix.
AWB_MODE_AUTO Der automatische Weißabgleich ist aktiviert. 3A steuert die Farbtransformation, wobei möglicherweise komplexere Transformationen als eine einfache Matrix verwendet werden.
AWB_MODE_INCANDESCENT Feste Weißabgleichseinstellungen, die für Glühlampen (Wolfram) im Innenbereich geeignet sind, etwa 2.700 K.
AWB_MODE_FLUORESCENT Feste Weißabgleichseinstellungen, geeignet für Leuchtstoffröhren, etwa 5.000 K.
AWB_MODE_WARM_FLUORESCENT Feste Weißabgleichseinstellungen für Leuchtstoffröhren, etwa 3.000 K.
AWB_MODE_DAYLIGHT Feste Weißabgleichseinstellungen für Tageslicht, etwa 5.500 K.
AWB_MODE_CLOUDY_DAYLIGHT Feste Weißabgleichseinstellungen für bewölktes Tageslicht, etwa 6.500 K.
AWB_MODE_TWILIGHT Feste Weißabgleichseinstellungen, die sich für Sonnenuntergang/-aufgang eignen, etwa 15.000 K.
AWB_MODE_SHADE Feste Weißabgleichseinstellungen, geeignet für indirekt von der Sonne beleuchtete Bereiche, etwa 7.500 K.
ANDROID_CONTROL_AWB_STATE Dynamische Metadaten, die den aktuellen Status des AWB-Algorithmus beschreiben, der von der HAL in den Ergebnismetadaten gemeldet wird.
AWB_STATE_INACTIVE Der anfängliche AWB-Status nach dem Moduswechsel. Wenn das Gerät geöffnet wird, muss es in diesem Status starten.
AWB_STATE_SEARCHING Die automatische Weißabgleichsfunktion ist nicht auf einen guten Wert konvergiert und ändert die Parameter für die Farbkorrektur.
AWB_STATE_CONVERGED Die automatische Weißabgleichfunktion hat für die aktuelle Szene gute Werte für die Farbkorrektur gefunden und die Parameter ändern sich nicht. HAL kann diesen Zustand spontan verlassen, um nach einer besseren Lösung zu suchen.
AWB_STATE_LOCKED Die automatische Weißabgleichsfunktion wurde mit dem Steuerelement „AWB_LOCK“ gesperrt. Die Werte für die Farbkorrektur ändern sich nicht.
Zusätzliche Metadateneinträge
ANDROID_CONTROL_AWB_LOCK Hiermit können Sie die Farbeinstellungen für die automatische Weißabgleichsfunktion auf die aktuellen Werte sperren.
ANDROID_CONTROL_AWB_REGIONS Steuerelement zum Auswählen der Bereiche des Sichtfelds, die für die Bestimmung einer guten Farbbalance verwendet werden sollen. Das gilt nur für den Modus „Automatische Weißabgleich“.

Allgemeine Hinweise zu Zustandsmaschinenübergängen

Wenn Sie zwischen den Modi AF, AE oder AWB wechseln, wird der Status des Algorithmus immer auf „INAKTIV“ zurückgesetzt. Wenn CONTROL_MODE == USE_SCENE_MODE, werden alle Algorithmusstatus auf INAKTIV zurückgesetzt, wenn zwischen CONTROL_MODE und CONTROL_SCENE_MODE gewechselt wird.

Die folgenden Tabellen beziehen sich auf die einzelnen Modi.

AF-Zustandsmaschinen

mode = AF_MODE_OFF oder AF_MODE_EDOF
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV AF ist deaktiviert
mode = AF_MODE_AUTO oder AF_MODE_MACRO
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV AF_TRIGGER ACTIVE_SCAN

AF-Schwenk starten

Lens bewegt sich jetzt

ACTIVE_SCAN AF-Suche abgeschlossen FOCUSED_LOCKED

Wenn AF erfolgreich war

Objektiv jetzt gesperrt

ACTIVE_SCAN AF-Suche abgeschlossen NOT_FOCUSED_LOCKED

Wenn AF erfolgreich war

Objektiv jetzt gesperrt

ACTIVE_SCAN AF_CANCEL INAKTIV

AF abbrechen/zurücksetzen

Objektiv jetzt gesperrt

FOCUSED_LOCKED AF_CANCEL INAKTIV AF abbrechen/zurücksetzen
FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

Neuen Durchlauf starten

Lens bewegt sich jetzt

NOT_FOCUSED_LOCKED AF_CANCEL INAKTIV AF abbrechen/zurücksetzen
NOT_FOCUSED_LOCKED AF_TRIGGER ACTIVE_SCAN

Neuen Durchlauf starten

Lens bewegt sich jetzt

Alle Bundesländer Modusänderung INAKTIV
mode = AF_MODE_CONTINUOUS_VIDEO
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV HAL startet einen neuen Scan PASSIVE_SCAN

AF-Schwenk starten

Lens bewegt sich jetzt

INAKTIV AF_TRIGGER NOT_FOCUSED_LOCKED

AF-Statusabfrage

Objektiv jetzt gesperrt

PASSIVE_SCAN HAL schließt aktuellen Scan ab PASSIVE_FOCUSED

AF-Scan beenden

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

Sofortige Transformation, wenn der Fokus stimmt

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

Sofortige Transformation, wenn der Fokus schlecht ist

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_CANCEL INAKTIV

Objektivposition zurücksetzen

Objektiv jetzt gesperrt

PASSIVE_FOCUSED HAL startet einen neuen Scan PASSIVE_SCAN

AF-Scan starten

Lens bewegt sich jetzt

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

Sofortige Transformation, wenn der Fokus stimmt

Objektiv jetzt gesperrt

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED Sofortige Transformation, wenn der Fokus schlecht ist

Objektiv jetzt gesperrt

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED Kein Effekt
FOCUSED_LOCKED AF_CANCEL INAKTIV AF-Scan neu starten
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED Kein Effekt
NOT_FOCUSED_LOCKED AF_CANCEL INAKTIV AF-Scan neu starten
mode = AF_MODE_CONTINUOUS_PICTURE
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV HAL startet einen neuen Scan PASSIVE_SCAN

AF-Scan starten

Lens bewegt sich jetzt

INAKTIV AF_TRIGGER NOT_FOCUSED_LOCKED

AF-Statusabfrage

Objektiv jetzt gesperrt

PASSIVE_SCAN HAL schließt aktuellen Scan ab PASSIVE_FOCUSED AF-Scan beenden

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_TRIGGER FOCUSED_LOCKED

Eventuelle Transformation, sobald der Fokus stimmt

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_TRIGGER NOT_FOCUSED_LOCKED

Eventuelle Transformation, wenn kein Fokus möglich ist

Objektiv jetzt gesperrt

PASSIVE_SCAN AF_CANCEL INAKTIV

Objektivposition zurücksetzen

Objektiv jetzt gesperrt

PASSIVE_FOCUSED HAL startet einen neuen Scan PASSIVE_SCAN

AF-Scan starten

Lens bewegt sich jetzt

PASSIVE_FOCUSED AF_TRIGGER FOCUSED_LOCKED

Sofortige Umwandlung, wenn der Fokus stimmt

Objektiv jetzt gesperrt

PASSIVE_FOCUSED AF_TRIGGER NOT_FOCUSED_LOCKED

Sofortige Transformation bei schlechtem Fokus

Objektiv jetzt gesperrt

FOCUSED_LOCKED AF_TRIGGER FOCUSED_LOCKED Kein Effekt
FOCUSED_LOCKED AF_CANCEL INAKTIV AF-Scan neu starten
NOT_FOCUSED_LOCKED AF_TRIGGER NOT_FOCUSED_LOCKED Kein Effekt
NOT_FOCUSED_LOCKED AF_CANCEL INAKTIV AF-Scan neu starten

AE- und AWB-Zustandsmaschinen

Die AE- und AWB-Zustandsmaschinen sind weitgehend identisch. Für die AE gibt es die zusätzlichen Status „FLASH_REQUIRED“ und „PRECAPTURE“. Zeilen unten, die sich auf diese beiden Status beziehen, sollten daher für die AWB-Zustandsmaschine ignoriert werden.

mode = AE_MODE_OFF / AWB mode not AUTO
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV AE/AWB deaktiviert
mode = AE_MODE_ON_* / AWB_MODE_AUTO
Bundesland Transformationsgrund Neuer Status Hinweise
INAKTIV HAL initiiert AE/AWB-Scan Suche läuft...
INAKTIV AE/AWB_LOCK aktiviert GESPERRT Werte gesperrt
Suche läuft... HAL beendet AE/AWB-Scan KONVERGIERT Gute Werte, keine Änderungen
Suche läuft... HAL beendet AE-Scan FLASH_REQUIRED Konvergiert, aber ohne Blitz zu dunkel
Suche läuft... AE/AWB_LOCK aktiviert GESPERRT Werte gesperrt
KONVERGIERT HAL initiiert AE/AWB-Scan Suche läuft... Werte gesperrt
KONVERGIERT AE/AWB_LOCK aktiviert GESPERRT Werte gesperrt
FLASH_REQUIRED HAL initiiert AE/AWB-Scan Suche läuft... Werte gesperrt
FLASH_REQUIRED AE/AWB_LOCK aktiviert GESPERRT Werte gesperrt
GESPERRT AE/AWB_LOCK deaktiviert Suche läuft... Werte nach dem Entsperren nicht korrekt
GESPERRT AE/AWB_LOCK deaktiviert KONVERGIERT Werte nach dem Entsperren in Ordnung
GESPERRT AE_LOCK deaktiviert FLASH_REQUIRED Belichtung gut, aber zu dunkel
Alle Bundesstaaten in den Vereinigten Arabischen Emiraten PRECAPTURE_START PRECAPTURE Sequenz vor der Aufnahme starten
PRECAPTURE Sequenz abgeschlossen, AE_LOCK deaktiviert KONVERGIERT Bereit für die Aufnahme von Bildern in hoher Qualität
PRECAPTURE Sequenz abgeschlossen, AE_LOCK aktiviert GESPERRT Bereit für Aufnahmen in hoher Qualität

Manuelle Steuerung aktivieren

Außerdem sind mehrere Steuerelemente für die Konfiguration der 3A-Blöcke des Geräts erforderlich, um eine direkte App-Steuerung zu ermöglichen.

Beim HAL-Modell für die 3A-Kontrolle prüft die HAL bei jeder Anfrage den Status der 3A-Kontrollfelder. Wenn eine 3A-Routine aktiviert ist, werden die zugehörigen Kontrollvariablen von dieser Routine überschrieben. Diese Überschreibungs-Werte sind dann in den Ergebnismetadaten für diese Aufnahme verfügbar. Wenn beispielsweise die automatische Belichtung in einer Anfrage aktiviert ist, sollte die HAL die Felder „Belichtung“, „Verstärkung“ und „Framedauer“ (und gegebenenfalls die Blitzfelder, je nach AE-Modus) der Anfrage überschreiben. Die Liste der relevanten Steuerelemente:

Name des Steuerelements Einheit Hinweise
android.control.mode enum: OFF, AUTO, USE_SCENE_MODE Hochrangige 3A-Kontrolle. Wenn diese Option deaktiviert ist, wird die gesamte 3A-Steuerung durch die HAL deaktiviert. Die Felder für die Aufnahmeparameter müssen von der App selbst festgelegt werden. Wenn „AUTO“ festgelegt ist, werden die einzelnen Algorithmussteuerungen in android.control.* angewendet, z. B. android.control.afMode. Wenn „USE_SCENE_MODE“ festgelegt ist, werden die einzelnen Steuerelemente in „android.control.*“ sind größtenteils deaktiviert und die HAL implementiert eine der Einstellungen für den Szenenmodus (z. B. AKTION, SONNENUNTERGANG oder PARTY) nach Belieben.
android.control.afMode enum „AUS“ bedeutet, dass der Fokus des Objektivs manuell über „android.lens.focusDistance“ gesteuert wird.
android.control.aeMode enum „AUS“ bedeutet manuelle Steuerung von Belichtung/Verstärkung/Framedauer über android.sensor.exposureTime / .sensitivity / .frameDuration
android.control.awbMode enum „AUS“ bedeutet, dass der Weißabgleich manuell eingestellt wird.