Informacje o strukturze camera3_capture_request

Informacje o strukturze camera3_capture_request

#include < camera3.h >

Pola danych

uint32_t  frame_number
 
const camera_metadata_t settings
 
camera3_stream_buffer_t input_buffer
 
uint32_t  num_output_buffers
 
const camera3_stream_buffer_t output_buffers
 

Szczegółowy opis

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 .

Dokumentacja pola

uint32_t frame_number

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 .

const camera3_stream_buffer_t * output_buffers

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 .

const camera_metadata_t * settings

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: