Camera3_capture_request Odniesienie do struktury

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().

Definicja w linii 2135 pliku kamera3.h .

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() .

Definicja w linii 2142 pliku kamera3.h .

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.

Definicja w linii 2177 pliku kamera3.h .

uint32_t num_output_buffers

Liczba buforów wyjściowych dla tego żądania przechwytywania. Musi być co najmniej 1.

Definicja w linii 2183 pliku kamera3.h .

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).

Definicja w linii 2204 pliku kamera3.h .

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().

Definicja w linii 2151 pliku kamera3.h .


Dokumentacja tej struktury została wygenerowana z następującego pliku:
  • hardware/libhardware/include/hardware/ camera3.h