Camera3_capture_request Odniesienie do struktury
#include < camera3.h >
Pola danych | |
uint32_t | numer_ramki |
stała kamera_metadane_t * | ustawienia |
kamera3_stream_buffer_t * | bufor_wejściowy |
uint32_t | num_output_buffers |
stała kamera3_stream_buffer_t * | bufory_wyjściowe |
szczegółowy opis
kamera3_capture_request_t:
Pojedyncze żądanie przechwycenia obrazu/przetworzenia bufora wysłane do urządzenia HAL kamery przez platformę w procesie_capture_request().
Żądanie zawiera ustawienia, które mają zostać użyte do tego przechwytywania, oraz zestaw buforów wyjściowych, w których należy zapisać wynikowe dane obrazu. Opcjonalnie może zawierać bufor wejściowy, w którym to przypadku żądanie dotyczy ponownego przetworzenia tego bufora wejściowego zamiast przechwytywania nowego obraz za pomocą czujnika aparatu. Przechwycenie jest identyfikowane poprzez numer_klatki.
W odpowiedzi urządzenie HAL kamery musi asynchronicznie wysłać strukturę Camera3_capture_result do platformy, korzystając z wywołania zwrotnego Process_capture_result().
Dokumentacja terenowa
uint32_t numer_ramki |
Numer ramki to rosnąca liczba całkowita ustawiana przez platformę w celu jednoznacznej identyfikacji tego przechwytywania. Musi zostać zwrócony w wywołaniu wyniku i służy również do identyfikacji żądania w asynchronicznych powiadomieniach wysyłanych do kamery3_callback_ops_t.notify() .
kamera3_stream_buffer_t * bufor_wejściowy |
Bufor strumienia wejściowego, który ma być używany dla tego żądania, jeśli istnieje.
Jeśli input_buffer ma wartość NULL, żądanie dotyczy nowego przechwycenia z imagera. Jeśli input_buffer jest prawidłowy, żądanie dotyczy ponownego przetworzenia obrazu zawartego w input_buffer.
W tym drugim przypadku warstwa HAL musi ustawić parametr release_fence bufora wejściowego na prawidłowe ograniczenie synchronizacji lub na -1, jeśli warstwa HAL nie obsługuje synchronizacji, zanim proces_capture_request() zwróci.
HAL musi poczekać na zabezpieczenie synchronizacji bufora wejściowego przed uzyskaniem do niego dostępu.
<= CAMERA_DEVICE_API_VERSION_3_1:
Każdy bufor wejściowy zawarty w tym miejscu zostanie zarejestrowany w warstwie HAL za pomocą funkcji Register_stream_buffers() przed włączeniem go do żądania.
>= CAMERA_DEVICE_API_VERSION_3_2:
Bufory nie zostaną wstępnie zarejestrowane w HAL. Kolejne żądania mogą ponownie wykorzystywać bufory lub udostępniać zupełnie nowe bufory.
uint32_t num_output_buffers |
const kamera3_stream_buffer_t * bufory_wyjściowe |
Tablica buforów strumieniowych num_output_buffers, które mają zostać wypełnione danymi obrazu z tego przechwytywania/ponownego przetwarzania. HAL musi poczekać na przejęcie barier każdego bufora strumienia przed zapisaniem do nich.
HAL przejmuje na własność rzeczywiste wpisy bufora_handle_t w buforach wyjściowych; framework nie uzyskuje do nich dostępu, dopóki nie zostaną zwrócone w pliku Camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Wszystkie bufory zawarte w tym miejscu zostaną zarejestrowane w warstwie HAL za pomocą funkcji Register_stream_buffers() przed ich włączeniem do żądania.
>= CAMERA_DEVICE_API_VERSION_3_2:
Dowolny lub wszystkie bufory zawarte w tym żądaniu mogą być zupełnie nowe w tym żądaniu (nigdy wcześniej nie widziane przez HAL).
const kamera_metadata_t * ustawienia |
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. Buforu NULL nie można użyć jako pierwszego przesłanego żądania po wywołaniu konfiguracji_streams().
Dokumentacja tej struktury została wygenerowana z następującego pliku:
- hardware/libhardware/include/hardware/ camera3.h