Ab dem 27. März 2025 empfehlen wir, android-latest-release
anstelle von aosp-main
zu verwenden, um AOSP zu erstellen und Beiträge dazu zu leisten. Weitere Informationen finden Sie unter Änderungen am AOSP.
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Strukturreferenz für camera3_capture_request
#include <
camera3.h
>
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.
Definition in Zeile
2135
der Datei
camera3.h
.
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.
Definition in Zeile
2142
der Datei
camera3.h
.
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.
Definition in Zeile
2177
der Datei
camera3.h
.
uint32_t num_output_buffers
|
Die Anzahl der Ausgabebuffer für diese Erfassungsanfrage. Muss mindestens 1 sein.
Definition in Zeile
2183
der Datei
camera3.h
.
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).
Definition in Zeile
2204
der Datei
camera3.h
.
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.
Definition in Zeile
2151
der Datei
camera3.h
.
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
-
hardware/libhardware/include/hardware/
camera3.h
Alle Inhalte und Codebeispiele auf dieser Seite unterliegen den Lizenzen wie im Abschnitt Inhaltslizenz beschrieben. Java und OpenJDK sind Marken oder eingetragene Marken von Oracle und/oder seinen Tochtergesellschaften.
Zuletzt aktualisiert: 2025-07-27 (UTC).
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-07-27 (UTC)."],[],[],null,["# Android Hardware Abstraction Layer: camera3_capture_request Struct Reference\n\ncamera3_capture_request Struct Reference\n========================================\n\n[Data Fields](#pub-attribs) \ncamera3_capture_request Struct Reference \n\n`\n#include \u003c\n`[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)`\n\u003e\n`\n\n|----------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------|\n| Data Fields ----------- ||\n| uint32_t | [frame_number](/reference/hal/structcamera3__capture__request#a57cc7f4d579276167efca6cf047839b2) |\n| ||\n| const [camera_metadata_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera_common.h) \\* | [settings](/reference/hal/structcamera3__capture__request#adccd8702a549b9f5fb98afa0c4b44a62) |\n| ||\n| [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* | [input_buffer](/reference/hal/structcamera3__capture__request#ac1c94bbde71f06911c6abe85f3a44593) |\n| ||\n| uint32_t | [num_output_buffers](/reference/hal/structcamera3__capture__request#a70d2093ddb1078b68c6688b6cf923380) |\n| ||\n| const [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* | [output_buffers](/reference/hal/structcamera3__capture__request#ab1d50229b27a7cf28ff1374be6650fb6) |\n| ||\n\n\nDetailed Description\n--------------------\n\n\ncamera3_capture_request_t:\n\n\nA single request for image capture/buffer reprocessing, sent to the Camera HAL device by the framework in process_capture_request().\n\n\nThe request contains the settings to be used for this capture, and the set of output buffers to write the resulting image data in. It may optionally contain an input buffer, in which case the request is for reprocessing that input buffer instead of capturing a new image with the camera sensor. The capture is identified by the frame_number.\n\n\nIn response, the camera HAL device must send a\n[camera3_capture_result](/reference/hal/structcamera3__capture__result)\nstructure asynchronously to the framework, using the process_capture_result() callback.\n\n\nDefinition at line\n[2135](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\nField Documentation\n-------------------\n\n\n|-----------------------|\n| uint32_t frame_number |\n\n\nThe frame number is an incrementing integer set by the framework to uniquely identify this capture. It needs to be returned in the result call, and is also used to identify the request in asynchronous notifications sent to\n[camera3_callback_ops_t.notify()](/reference/hal/structcamera3__callback__ops#a6d702d6e962f95105b984b17462619b3)\n.\n\n\nDefinition at line\n[2142](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-----------------------------------------------------------------------------------------------------------------------------------------------|\n| [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* input_buffer |\n\n\nThe input stream buffer to use for this request, if any.\n\n\nIf input_buffer is NULL, then the request is for a new capture from the imager. If input_buffer is valid, the request is for reprocessing the image contained in input_buffer.\n\n\nIn the latter case, the HAL must set the release_fence of the input_buffer to a valid sync fence, or to -1 if the HAL does not support sync, before process_capture_request() returns.\n\n\nThe HAL is required to wait on the acquire sync fence of the input buffer before accessing it.\n\n\n\\\u003c= CAMERA_DEVICE_API_VERSION_3_1:\n\n\nAny input buffer included here will have been registered with the HAL through register_stream_buffers() before its inclusion in a request.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nThe buffers will not have been pre-registered with the HAL. Subsequent requests may reuse buffers, or provide entirely new buffers.\n\n\nDefinition at line\n[2177](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-----------------------------|\n| uint32_t num_output_buffers |\n\n\nThe number of output buffers for this capture request. Must be at least 1.\n\n\nDefinition at line\n[2183](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------------|\n| const [camera3_stream_buffer_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h) \\* output_buffers |\n\n\nAn array of num_output_buffers stream buffers, to be filled with image data from this capture/reprocess. The HAL must wait on the acquire fences of each stream buffer before writing to them.\n\n\nThe HAL takes ownership of the actual buffer_handle_t entries in output_buffers; the framework does not access them until they are returned in a camera3_capture_result_t.\n\n\n\\\u003c= CAMERA_DEVICE_API_VERSION_3_1:\n\n\nAll the buffers included here will have been registered with the HAL through register_stream_buffers() before their inclusion in a request.\n\n\n\\\u003e= CAMERA_DEVICE_API_VERSION_3_2:\n\n\nAny or all of the buffers included here may be brand new in this request (having never before seen by the HAL).\n\n\nDefinition at line\n[2204](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n|-------------------------------------------------------------------------------------------------------------------------------------------------|\n| const [camera_metadata_t](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera_common.h) \\* settings |\n\n\nThe settings buffer contains the capture and processing parameters for the request. As a special case, a NULL settings buffer indicates that the settings are identical to the most-recently submitted capture request. A NULL buffer cannot be used as the first submitted request after a configure_streams() call.\n\n\nDefinition at line\n[2151](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\nof file\n[camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)\n.\n\n*** ** * ** ***\n\nThe documentation for this struct was generated from the following file:\n\n- hardware/libhardware/include/hardware/ [camera3.h](https://android.googlesource.com/platform/hardware/libhardware/+/master/include/hardware/camera3.h)"]]