Referência da estrutura camera3_capture_request

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().

Definição na linha 2135 do arquivo camera3.h .

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() .

Definição na linha 2142 do arquivo camera3.h .

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.

Definição na linha 2177 do arquivo camera3.h .

uint32_t num_output_buffers

O número de buffers de saída para essa solicitação de captura. Precisa ser pelo menos 1.

Definição na linha 2183 do arquivo camera3.h .

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).

Definição na linha 2204 do arquivo camera3.h .

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().

Definição na linha 2151 do arquivo camera3.h .


A documentação desse struct foi gerada com base no seguinte arquivo: