Strukturreferenz für camera3_capture_request
#include <
camera3.h
>
Datenfelder |
|
uint32_t | frame_number |
const camera_metadata_t * | Einstellungen |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | output_buffers |
Detaillierte Beschreibung
camera3_capture_request_t:
Eine einzelne Anfrage zur erneuten Verarbeitung von Bildaufnahmen/-puffern, die vom Framework in process_capture_request() an das HAL-Gerät der Kamera gesendet wird.
Die Anfrage enthält die Einstellungen, die für diese Aufnahme verwendet werden sollen, und die Ausgabebuffer, in die die resultierenden Bilddaten geschrieben werden sollen. Optional kann sie einen Eingabepuffer enthalten. In diesem Fall wird der Eingabepuffer neu verarbeitet, anstatt ein neues Bild mit dem Kamerasensor aufzunehmen. Die Aufnahme wird durch die frame_number identifiziert.
Als Antwort muss das HAL-Gerät der Kamera asynchron eine camera3_capture_result -Struktur an das Framework senden, wobei der Rückruf process_capture_result() verwendet wird.
Felddokumentation
uint32_t frame_number |
Die Frame-Nummer ist eine inkrementelle Ganzzahl, die vom Framework festgelegt wird, um diese Aufnahme eindeutig zu identifizieren. Er muss im Ergebnisaufruf zurückgegeben werden und wird auch verwendet, um die Anfrage in asynchronen Benachrichtigungen zu identifizieren, 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, wird eine neue Aufnahme vom Bildsensor angefordert. Wenn „input_buffer“ gültig ist, wird das darin enthaltene Bild noch einmal verarbeitet.
Im letzteren Fall muss die HAL den Release-Fence des Eingabepuffers auf einen gültigen Synchronisations-Fence oder auf -1 setzen, wenn die HAL keine Synchronisierung unterstützt, bevor process_capture_request() zurückgegeben wird.
Die HAL muss auf die Acquire-Synchronisationsschranke des Eingabepuffers warten, bevor sie darauf zugreifen kann.
<= CAMERA_DEVICE_API_VERSION_3_1:
Alle hier enthaltenen Eingabebuffer wurden vor ihrer Aufnahme in eine Anfrage über register_stream_buffers() bei der HAL registriert.
>= CAMERA_DEVICE_API_VERSION_3_2:
Die Puffer wurden nicht vorab bei der HAL registriert. Für nachfolgende Anfragen können Puffer wiederverwendet oder vollständig neue Puffer bereitgestellt werden.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Ein Array von num_output_buffers-Streamspeichern, die mit Bilddaten aus dieser Erfassung/Neuverarbeitung gefüllt werden. Die HAL muss auf die Acquire-Grenzen jedes Stream-Buffers warten, bevor sie darauf schreiben kann.
Die HAL übernimmt die Inhaberschaft der tatsächlichen buffer_handle_t-Einträge in output_buffers. Das Framework greift erst darauf zu, wenn sie in einer 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:
Alle oder einige der hier enthaltenen Puffer können in dieser Anfrage brandneu sein (d. h. noch nie zuvor von der HAL gesehen).
const camera_metadata_t * settings |
Der Einstellungs-Puffer enthält die Erfassungs- und Verarbeitungsparameter für die Anfrage. Ein NULL-Einstellungen-Puffer ist ein Sonderfall und gibt an, dass die Einstellungen mit der zuletzt gesendeten Aufnahmeanfrage identisch sind. Ein NULL-Puffer kann nicht als erste eingereichte 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