Referência da estrutura camera3_capture_request
#include <
camera3.h
>
Campos de dados |
|
uint32_t | frame_number |
const camera_metadata_t * | configurações |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | output_buffers |
Descrição detalhada
camera3_capture_request_t:
Uma única solicitação de reprocessamento de captura de imagem/buffer, enviada ao dispositivo HAL da câmera pelo framework em process_capture_request().
A solicitação contém as configurações a serem usadas para essa captura e o conjunto de buffers de saída para gravar os dados de imagem resultantes. Ele pode conter um buffer de entrada, caso em que a solicitação é para reprocessar esse buffer de entrada em vez de capturar uma nova imagem com o sensor da câmera. A captura é identificada pelo frame_number.
Em resposta, o dispositivo HAL da câmera precisa enviar uma estrutura camera3_capture_result de forma assíncrona para o framework, usando o callback process_capture_result().
Documentação do campo
uint32_t frame_number |
O número de frames é um número inteiro crescente definido pelo framework para identificar exclusivamente essa captura. Ele precisa ser retornado na chamada de resultado e também é usado para identificar a solicitação em notificações assíncronas enviadas para camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
O buffer de stream de entrada a ser usado para essa solicitação, se houver.
Se input_buffer for NULL, a solicitação será para uma nova captura do imager. Se input_buffer for válido, a solicitação será para reprocessar a imagem contida em input_buffer.
No último caso, o HAL precisa definir o release_fence do input_buffer para uma cerca de sincronização válida ou para -1 se o HAL não oferecer suporte à sincronização, antes de process_capture_request() retornar.
O HAL precisa esperar pela cerca de sincronização de aquisição do buffer de entrada antes de acessá-lo.
<= CAMERA_DEVICE_API_VERSION_3_1:
Qualquer buffer de entrada incluído aqui será registrado no HAL por meio de register_stream_buffers() antes da inclusão em uma solicitação.
>= CAMERA_DEVICE_API_VERSION_3_2:
Os buffers não foram pré-registrados com o HAL. As solicitações subsequentes podem reutilizar buffers ou fornecer buffers totalmente novos.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Uma matriz de buffers de fluxo num_output_buffers, para ser preenchida com dados de imagem dessa captura/reprocessamento. O HAL precisa esperar nas cercas de aquisição de cada buffer de stream antes de gravar nelas.
O HAL assume a propriedade das entradas buffer_handle_t reais em output_buffers. O framework não as acessa até que sejam retornadas em um camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Todos os buffers incluídos aqui serão registrados no HAL por meio de register_stream_buffers() antes da inclusão em uma solicitação.
>= CAMERA_DEVICE_API_VERSION_3_2:
Todos os buffers incluídos aqui podem ser novos nessa solicitação (nunca vistos pelo HAL).
const camera_metadata_t * settings |
O buffer de configurações contém os parâmetros de captura e processamento da solicitação. Como um caso especial, um buffer de configurações NULL indica que as configurações são idênticas à solicitação de captura enviada mais recentemente. Um buffer NULL não pode ser usado como a primeira solicitação enviada após uma chamada configure_streams().
A documentação desse struct foi gerada com base no seguinte arquivo:
- hardware/libhardware/include/hardware/ camera3.h