camera3_capture_request-Strukturreferenz
#include < camera3.h >
Datenfelder | |
uint32_t | Rahmennummer |
const camera_metadata_t * | Einstellungen |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | Ausgabepuffer |
detaillierte Beschreibung
camera3_capture_request_t:
Eine einzelne Anfrage zur Bilderfassung/Puffer-Neuverarbeitung, die vom Framework in „process_capture_request()“ an das Kamera-HAL-Gerät gesendet wird.
Die Anfrage enthält die für diese Aufnahme zu verwendenden Einstellungen und den Satz von Ausgabepuffern, in die die resultierenden Bilddaten geschrieben werden sollen. Sie kann optional einen Eingabepuffer enthalten. In diesem Fall dient die Anfrage dazu, diesen Eingabepuffer erneut zu verarbeiten, anstatt einen neuen zu erfassen Bild mit dem Kamerasensor. Die Aufnahme wird durch die Frame_Nummer identifiziert.
Als Antwort muss das Kamera-HAL-Gerät asynchron eine camera3_capture_result- Struktur an das Framework senden, indem es den Rückruf „process_capture_result()“ verwendet.
Felddokumentation
uint32_t Frame_Nummer |
Die Bildnummer ist eine aufsteigende Ganzzahl, die vom Framework festgelegt wird, um diese Aufnahme eindeutig zu identifizieren. Es muss im Ergebnisaufruf zurückgegeben werden und wird auch zur Identifizierung der Anforderung in asynchronen Benachrichtigungen verwendet, die an camera3_callback_ops_t.notify() gesendet werden.
camera3_stream_buffer_t * input_buffer |
Der Eingabestream-Puffer, der für diese Anfrage verwendet werden soll, falls vorhanden.
Wenn input_buffer NULL ist, handelt es sich bei der Anforderung um eine neue Aufnahme vom Imager. Wenn input_buffer gültig ist, besteht die Anforderung darin, das in input_buffer enthaltene Bild erneut zu verarbeiten.
Im letzteren Fall muss die HAL den release_fence des input_buffer auf einen gültigen Synchronisierungszaun oder auf -1 setzen, wenn die HAL keine Synchronisierung unterstützt, bevor Process_Capture_Request() zurückkehrt.
Der HAL muss auf den Acquire-Sync-Fence des Eingabepuffers warten, bevor er darauf zugreift.
<= CAMERA_DEVICE_API_VERSION_3_1:
Jeder hier enthaltene Eingabepuffer wurde vor seiner Aufnahme in eine Anfrage über register_stream_buffers() bei der HAL registriert.
>= CAMERA_DEVICE_API_VERSION_3_2:
Die Puffer wurden nicht bei der HAL vorregistriert. Nachfolgende Anforderungen können Puffer wiederverwenden oder völlig neue Puffer bereitstellen.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * Output_buffers |
Ein Array von num_output_buffers Stream-Puffer, die mit Bilddaten aus dieser Erfassung/Neuverarbeitung gefüllt werden. Der HAL muss auf die Erfassungsgrenzen jedes Stream-Puffers warten, bevor er darauf schreibt.
Die HAL übernimmt den Besitz der tatsächlichen buffer_handle_t-Einträge in „output_buffers“; Das Framework greift nicht auf sie zu, bis sie in einem camera3_capture_result_t zurückgegeben werden.
<= CAMERA_DEVICE_API_VERSION_3_1:
Alle hier enthaltenen Puffer wurden vor ihrer Aufnahme in eine Anfrage über register_stream_buffers() bei der HAL registriert.
>= CAMERA_DEVICE_API_VERSION_3_2:
Einige oder alle der hier enthaltenen Puffer sind möglicherweise brandneu in dieser Anfrage (da sie noch nie von der HAL gesehen wurden).
const camera_metadata_t * Einstellungen |
Der Einstellungspuffer enthält die Erfassungs- und Verarbeitungsparameter für die Anfrage. Als Sonderfall gibt ein NULL-Einstellungspuffer an, dass die Einstellungen mit der zuletzt übermittelten Erfassungsanforderung identisch sind. Ein NULL-Puffer kann nicht als erste übermittelte Anfrage nach einem configure_streams()-Aufruf verwendet werden.
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ camera3.h