Referencia de la estructura camera3_capture_request
#include <
camera3.h
>
Campos de datos |
|
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 |
Descripción detallada
camera3_capture_request_t:
Una sola solicitud de captura de imágenes o reprocesamiento de búferes que el framework envía al dispositivo HAL de la cámara en process_capture_request().
La solicitud contiene la configuración que se usará para esta captura y el conjunto de búferes de salida en los que se escribirán los datos de imagen resultantes. De manera opcional, puede contener un búfer de entrada, en cuyo caso la solicitud es para volver a procesar ese búfer de entrada en lugar de capturar una imagen nueva con el sensor de la cámara. El número de fotogramas identifica la captura.
En respuesta, el dispositivo de la HAL de la cámara debe enviar una estructura camera3_capture_result de forma asíncrona al framework con la devolución de llamada process_capture_result().
Documentación de campos
uint32_t frame_number |
El número de fotogramas es un número entero incremental que establece el framework para identificar de forma única esta captura. Se debe mostrar en la llamada de resultado y también se usa para identificar la solicitud en las notificaciones asíncronas que se envían a camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
El búfer de flujo de entrada que se usará para esta solicitud, si corresponde.
Si input_buffer es NULL, la solicitud es para una nueva captura del generador de imágenes. Si input_buffer es válido, la solicitud es para volver a procesar la imagen contenida en input_buffer.
En el último caso, el HAL debe establecer el release_fence del input_buffer en una barrera de sincronización válida o en -1 si el HAL no admite la sincronización, antes de que se devuelva process_capture_request().
El HAL debe esperar en la cerca de sincronización de adquisición del búfer de entrada antes de acceder a él.
<= CAMERA_DEVICE_API_VERSION_3_1:
Cualquier búfer de entrada que se incluya aquí se habrá registrado con el HAL a través de register_stream_buffers() antes de su inclusión en una solicitud.
>= CAMERA_DEVICE_API_VERSION_3_2:
Los búferes no se habrán registrado previamente en el HAL. Las solicitudes posteriores pueden volver a usar los búferes o proporcionar búferes completamente nuevos.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Es un array de búferes de transmisión de num_output_buffers que se completarán con datos de imagen de esta captura o este procesamiento. El sistema HAL debe esperar en los cierres de adquisición de cada búfer de transmisión antes de escribir en ellos.
El sistema HAL se apropia de las entradas buffer_handle_t reales en output_buffers. El framework no las accede hasta que se muestran en un camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Todos los búferes incluidos aquí se habrán registrado con el HAL a través de register_stream_buffers() antes de su inclusión en una solicitud.
>= CAMERA_DEVICE_API_VERSION_3_2:
Es posible que todos los búferes incluidos aquí sean nuevos en esta solicitud (el HAL nunca los haya visto antes).
const camera_metadata_t * settings |
El búfer de configuración contiene los parámetros de captura y procesamiento de la solicitud. Como caso especial, un búfer de configuración NULL indica que la configuración es idéntica a la solicitud de captura que se envió más recientemente. No se puede usar un búfer NULL como la primera solicitud enviada después de una llamada a configure_streams().
La documentación de esta struct se generó a partir del siguiente archivo:
- hardware/libhardware/include/hardware/ camera3.h