Od 27 marca 2025 r. zalecamy używanie android-latest-release
zamiast aosp-main
do kompilowania i wspołtworzenia AOSP. Więcej informacji znajdziesz w artykule o zmianach w AOSP.
Zadbaj o dobrą organizację dzięki kolekcji
Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Informacje o strukturze camera3_capture_request
#include <
camera3.h
>
camera3_capture_request_t:
pojedyncze żądanie ponownego przetworzenia obrazu lub bufora, wysłane do urządzenia z usługą Camera HAL przez framework w ramach funkcji process_capture_request();
Prośba zawiera ustawienia, które mają być używane do tego przechwycenia, oraz zestaw buforów wyjściowych, do których mają być zapisane dane obrazu. Opcjonalnie może zawierać bufor wejściowy. W takim przypadku żądanie dotyczy ponownego przetworzenia tego bufora wejściowego zamiast rejestrowania nowego obrazu za pomocą czujnika aparatu. Zdjęcie jest identyfikowane przez parametr frame_number.
W odpowiedzi urządzenie HAL aparatu musi przesłać do frameworku asynchronicznie strukturę
camera3_capture_result
za pomocą wywołania z powrotem process_capture_result().
Definicja w wierszu
2135
pliku
camera3.h
.
Numer ramki to rosnąca liczba całkowita ustawiana przez system w celu jednoznacznego identyfikowania tego ujęcia. Musi być zwracany w wywołaniu metody wyniku. Służy też do identyfikowania żądania w powiadomieniach asynchronicznych wysyłanych do metody
camera3_callback_ops_t.notify().
Definicja w wierszu
2142
pliku
camera3.h
.
Bufor strumienia wejściowego, który ma być użyty w przypadku tego żądania (jeśli istnieje).
Jeśli input_buffer ma wartość NULL, prośba dotyczy nowego obrazu z urządzenia do skanowania. Jeśli input_buffer jest prawidłowy, żądanie dotyczy ponownego przetworzenia obrazu zawartego w input_buffer.
W tym drugim przypadku interfejs HAL musi ustawić parametr release_fence obiektu input_buffer na prawidłową barierę synchronizacji lub na -1, jeśli interfejs HAL nie obsługuje synchronizacji, zanim process_capture_request() zwróci wartość.
Przed uzyskaniem dostępu do bufora wejściowego HAL musi poczekać na zablokowanie synchronizacji.
<= CAMERA_DEVICE_API_VERSION_3_1:
Każdy bufor wejściowy uwzględniony tutaj zostanie zarejestrowany w HAL za pomocą funkcji register_stream_buffers() przed uwzględnieniem go w żądaniu.
>= CAMERA_DEVICE_API_VERSION_3_2:
Bufory nie będą wstępnie rejestrowane w HAL. Kolejne żądania mogą używać tych samych buforów lub udostępniać zupełnie nowe.
Definicja w wierszu
2177
pliku
camera3.h
.
uint32_t num_output_buffers
|
Liczba buforów wyjściowych dla tego żądania przechwytywania. Minimalna wartość to 1.
Definicja w wierszu
2183
w pliku
camera3.h
.
Tablica num_output_buffers buforów strumienia, które mają być wypełnione danymi obrazu z tego przechwycenia lub ponownego przetwarzania. Zanim zacznie zapisywać dane, HAL musi poczekać na zablokowanie dostępu do każdego bufora strumienia.
HAL przejmuje własność rzeczywistych wpisów buffer_handle_t w output_buffers; framework nie ma do nich dostępu, dopóki nie zostaną zwrócone w camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Wszystkie uwzględnione tutaj bufory zostaną zarejestrowane w HAL za pomocą funkcji register_stream_buffers() przed uwzględnieniem ich w prośbie.
>= CAMERA_DEVICE_API_VERSION_3_2:
Każdy z tych buforów może być zupełnie nowy w tym żądaniu (czyli HAL nie widział go wcześniej).
Definicja w wierszu
2204
w pliku
camera3.h
.
Bufor ustawień zawiera parametry przechwytywania i przetwarzania żądania. W szczególnym przypadku bufor ustawień NULL wskazuje, że ustawienia są identyczne z ostatnio przesłanym żądaniem przechwytywania. Bufor NULL nie może być używany jako pierwsze przesłane żądanie po wywołaniu funkcji configure_streams().
Definicja w wierszu
2151
pliku
camera3.h
.
Dokumentacja tego typu danych została wygenerowana z tego pliku:
-
hardware/libhardware/include/hardware/
camera3.h
Treść strony i umieszczone na niej fragmenty kodu podlegają licencjom opisanym w Licencji na treści. Java i OpenJDK są znakami towarowymi lub zastrzeżonymi znakami towarowymi należącymi do firmy Oracle lub jej podmiotów stowarzyszonych.
Ostatnia aktualizacja: 2025-07-27 UTC.
[[["Łatwo zrozumieć","easyToUnderstand","thumb-up"],["Rozwiązało to mój problem","solvedMyProblem","thumb-up"],["Inne","otherUp","thumb-up"]],[["Brak potrzebnych mi informacji","missingTheInformationINeed","thumb-down"],["Zbyt skomplikowane / zbyt wiele czynności do wykonania","tooComplicatedTooManySteps","thumb-down"],["Nieaktualne treści","outOfDate","thumb-down"],["Problem z tłumaczeniem","translationIssue","thumb-down"],["Problem z przykładami/kodem","samplesCodeIssue","thumb-down"],["Inne","otherDown","thumb-down"]],["Ostatnia aktualizacja: 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)"]]