camera3_capture_request Riferimento struttura
#include < camera3.h >
Campi dati | |
uint32_t | numero_frame |
const camera_metadata_t * | impostazioni |
camera3_stream_buffer_t * | input_buffer |
uint32_t | num_buffer_di_output |
const camera3_stream_buffer_t * | output_buffer |
Descrizione dettagliata
camera3_capture_request_t:
Una singola richiesta per l'acquisizione di immagini/rielaborazione del buffer, inviata al dispositivo Camera HAL 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 dell'immagine risultanti. Facoltativamente può contenere un buffer di input, nel qual caso la richiesta riguarda la rielaborazione di quel buffer di input invece di acquisirne uno nuovo immagine con il sensore della fotocamera. La cattura è identificata dal frame_number.
In risposta, il dispositivo HAL della fotocamera deve inviare una struttura camera3_capture_result in modo asincrono al framework, utilizzando il callback process_capture_result().
Documentazione sul campo
uint32_t numero_frame |
Il numero di fotogramma è 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 del flusso 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 di input_buffer su un limite di sincronizzazione valido o su -1 se l'HAL non supporta la sincronizzazione, prima che process_capture_request() ritorni.
L'HAL deve attendere il recinto 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 con l'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_buffer |
const camera3_stream_buffer_t * output_buffers |
Un array di buffer di flusso num_output_buffers, da riempire con i dati di immagine da questa acquisizione/rielaborazione. L'HAL deve attendere le recinzioni di acquisizione di ciascun buffer di flusso prima di scrivervi.
L'HAL assume la proprietà delle effettive voci buffer_handle_t in output_buffers; il framework non vi accede finché non vengono restituiti in un camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Tutti i buffer qui inclusi saranno stati registrati con l'HAL tramite Register_stream_buffers() prima della loro inclusione in una richiesta.
>= CAMERA_DEVICE_API_VERSION_3_2:
Alcuni o tutti i buffer qui inclusi potrebbero essere nuovi di zecca in questa richiesta (mai visti prima dall'HAL).
const camera_metadata_t *impostazioni |
Il buffer delle impostazioni contiene i parametri di acquisizione ed elaborazione per la richiesta. Come caso speciale, un buffer di impostazioni NULL indica che le impostazioni sono identiche alla richiesta di acquisizione inviata più recentemente. Non è possibile utilizzare un buffer NULL come prima richiesta inviata dopo una chiamata configure_streams().
La documentazione per questa struttura è stata generata dal seguente file:
- hardware/libhardware/include/hardware/ camera3.h