Riferimento alla struttura camera3_capture_request
#include <
camera3.h
>
Campi dati |
|
uint32_t | frame_number |
const camera_metadata_t * | Impostazioni |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const camera3_stream_buffer_t * | output_buffers |
Descrizione dettagliata
camera3_capture_request_t:
Una singola richiesta di elaborazione di nuovo del buffer/dell'acquisizione di immagini, inviata al dispositivo HAL della fotocamera dal framework in process_capture_request().
La richiesta contiene le impostazioni da utilizzare per questa acquisizione e l'insieme di buffer di output in cui scrivere i dati delle immagini risultanti. Se vuoi, può contenere un buffer di input, nel qual caso la richiesta riguarda la rielaborazione di questo buffer anziché l'acquisizione di una nuova immagine con il sensore della fotocamera. L'acquisizione è identificata dal numero di frame.
In risposta, il dispositivo HAL della fotocamera deve inviare al framework una struttura camera3_capture_result in modo asincrono, utilizzando il callback process_capture_result().
Documentazione dei campi
uint32_t frame_number |
Il numero di frame è un numero intero incrementale impostato dal framework per identificare in modo univoco questa acquisizione. Deve essere restituito nella chiamata del risultato e viene utilizzato anche per identificare la richiesta nelle notifiche asincrone inviate a camera3_callback_ops_t.notify() .
camera3_stream_buffer_t * input_buffer |
Il buffer dello stream di input da utilizzare per questa richiesta, se presente.
Se input_buffer è NULL, la richiesta riguarda una nuova acquisizione dall'imager. Se input_buffer è valido, la richiesta riguarda la rielaborazione dell'immagine contenuta in input_buffer.
In quest'ultimo caso, l'HAL deve impostare release_fence dell'input_buffer su una barriera di sincronizzazione valida o su -1 se l'HAL non supporta la sincronizzazione prima del ritorno di process_capture_request().
L'HAL è tenuto ad attendere la recinzione di sincronizzazione di acquisizione del buffer di input prima di accedervi.
<= CAMERA_DEVICE_API_VERSION_3_1:
Qualsiasi buffer di input incluso qui sarà stato registrato nell'HAL tramite register_stream_buffers() prima di essere incluso in una richiesta.
>= CAMERA_DEVICE_API_VERSION_3_2:
I buffer non saranno stati preregistrati con l'HAL. Le richieste successive possono riutilizzare i buffer o fornire buffer completamente nuovi.
uint32_t num_output_buffers |
const camera3_stream_buffer_t * output_buffers |
Un array di num_output_buffers stream buffer, da compilare con i dati delle immagini di questa acquisizione/rielaborazione. L'HAL deve attendere le recinti di acquisizione di ogni buffer dello stream prima di scrivere.
L'HAL acquisisce la proprietà delle voci buffer_handle_t effettive in output_buffers; il framework non vi accede finché non vengono restituite in camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Tutti i buffer inclusi qui saranno stati registrati nell'HAL tramite register_stream_buffers() prima della loro inclusione in una richiesta.
>= CAMERA_DEVICE_API_VERSION_3_2:
Uno o tutti i buffer inclusi qui potrebbero essere nuovi in questa richiesta (non sono mai stati visti dall'HAL).
const camera_metadata_t * settings |
Il buffer delle impostazioni contiene i parametri di acquisizione ed elaborazione per la richiesta. Come caso speciale, un buffer delle impostazioni NULL indica che le impostazioni sono identiche alla richiesta di acquisizione inviata più di recente. Un buffer NULL non può essere utilizzato come prima richiesta inviata dopo una chiamata a configure_streams().
La documentazione di questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ camera3.h