Ссылка на структуру camera3_capture_request
#include < camera3.h >
Поля данных | |
uint32_t | номер_фрейма |
const camera_metadata_t * | настройки |
camera3_stream_buffer_t * | входной_буфер |
uint32_t | num_output_buffers |
константная камера3_stream_buffer_t * | выходные_буферы |
Подробное описание
camera3_capture_request_t:
Одиночный запрос на захват изображения/обработку буфера, отправленный на устройство HAL камеры платформой вprocess_capture_request().
Запрос содержит настройки, которые будут использоваться для этого захвата, и набор выходных буферов для записи результирующих данных изображения. Он может дополнительно содержать входной буфер, и в этом случае запрос предназначен для повторной обработки этого входного буфера вместо захвата нового. изображение с сенсора камеры. Захват идентифицируется номером кадра.
В ответ устройство HAL камеры должно асинхронно отправить структуру camera3_capture_result в платформу, используя обратный вызовprocess_capture_result().
Полевая документация
uint32_t номер_фрейма |
Номер кадра — это возрастающее целое число, установленное платформой для уникальной идентификации этого захвата. Его необходимо вернуть в результате вызова, а также он используется для идентификации запроса в асинхронных уведомлениях, отправляемых в camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
Буфер входного потока, который будет использоваться для этого запроса, если таковой имеется.
Если input_buffer имеет значение NULL, то запрашивается новый захват с имидж-сканера. Если input_buffer действителен, запрос предназначен для повторной обработки изображения, содержащегося в input_buffer.
В последнем случае HAL должен установить для Release_fence входного_буфера допустимое ограничение синхронизации или значение -1, если HAL не поддерживает синхронизацию, прежде чем процесс_capture_request() вернет управление.
HAL должен дождаться ограничения синхронизации входного буфера, прежде чем получить к нему доступ.
<= CAMERA_DEVICE_API_VERSION_3_1:
Любой входной буфер, включенный сюда, будет зарегистрирован в HAL с помощью метода Register_stream_buffers() перед его включением в запрос.
>= CAMERA_DEVICE_API_VERSION_3_2:
Буферы не будут предварительно зарегистрированы в HAL. Последующие запросы могут повторно использовать буферы или предоставлять совершенно новые буферы.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Массив потоковых буферов num_output_buffers, который будет заполнен данными изображения из этого захвата/повторной обработки. HAL должен дождаться границ получения каждого буфера потока, прежде чем писать в них.
HAL становится владельцем фактических записей buffer_handle_t в выходных_буферах; платформа не получает к ним доступа, пока они не будут возвращены в camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Все включенные здесь буферы будут зарегистрированы в HAL с помощью метода Register_stream_buffers() перед их включением в запрос.
>= CAMERA_DEVICE_API_VERSION_3_2:
Любой или все включенные сюда буферы могут быть совершенно новыми в этом запросе (никогда ранее не встречавшимися HAL).
const camera_metadata_t * настройки |
Буфер настроек содержит параметры захвата и обработки запроса. В частном случае буфер настроек NULL указывает, что настройки идентичны настройкам последнего отправленного запроса на захват. Буфер NULL не может использоваться в качестве первого отправленного запроса после вызова configure_streams().
Документация для этой структуры была создана из следующего файла:
- Аппаратное обеспечение/libhardware/include/hardware/ camera3.h