Справочник по структуре camera2_stream_ops

Справочник по структуре camera2_stream_ops

#include < camera2.h >

Поля данных

интервал(* dequeue_buffer )(const struct camera2_stream_ops *w, buffer_handle_t **buffer)
интервал(* enqueue_buffer )(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer)
интервал(* cancel_buffer )(const struct camera2_stream_ops *w, buffer_handle_t *buffer)
интервал(* set_crop )(const struct camera2_stream_ops *w, int слева, int сверху, int справа, int снизу)

Подробное описание

Интерфейс очереди выходного потока изображений. Набор этих методов предоставляется устройству HAL в allocate_stream() и используется для взаимодействия с очередью буфера gralloc для этого потока. Их нельзя вызывать до тех пор, пока не вернется результат allocate_stream.

Определение в строке 73 файла camera2.h .

Полевая документация

int(* cancel_buffer)(const struct camera2_stream_ops *w, buffer_handle_t *buffer)

Вернуть буфер в очередь, не отмечая его как заполненный.

Определение в строке 102 файла camera2.h .

int(* dequeue_buffer)(const struct camera2_stream_ops *w, buffer_handle_t **buffer)

Получите буфер для заполнения из очереди. Размер и формат буфера фиксированы для данного потока (определенного в allocate_stream), а шаг следует запрашивать из модуля gralloc платформы. Буфер gralloc будет выделен на основе флагов использования, предоставленных allocate_stream, и будет заблокирован для использования.

Определение в строке 81 файла camera2.h .

int(* enqueue_buffer)(const struct camera2_stream_ops *w, int64_t timestamp, buffer_handle_t *buffer)

Отправьте заполненный буфер в поток, который будет использоваться потребителем.

Временная метка представляет собой время начала экспозиции первой строки изображения; оно должно быть от монотонных часов и измеряется в наносекундах. Временные метки не обязательно должны быть сопоставимы между разными камерами или последовательными экземплярами одной и той же камеры. Однако они должны быть сопоставимы между потоками с одной и той же камеры. Если один захват создает буферы для нескольких потоков, каждый поток должен иметь одинаковую метку времени для этого буфера, и эта метка времени должна совпадать с меткой времени в метаданных выходного кадра.

Определение в строке 96 файла camera2.h .

int(* set_crop)(const struct camera2_stream_ops *w, int слева, int сверху, int справа, int снизу)

Установите окно обрезки для последующих буферов, поставленных в очередь. Параметры измеряются в пикселях относительно ширины и высоты буфера.

Определение в строке 108 файла camera2.h .


Документация для этой структуры была создана из следующего файла:
  • Аппаратное обеспечение/libhardware/include/hardware/ camera2.h