Référence de la struct camera3_capture_request
#include <
camera3.h
>
Champs de données |
|
uint32_t | frame_number |
const Camera_metadata_t * | Paramètres |
Camera3_stream_buffer_t * | input_buffer |
uint32_t | num_output_buffers |
const Camera3_stream_buffer_t * | output_buffers |
Description détaillée
camera3_capture_request_t:
Une seule requête de capture d'image/retraitement du tampon, envoyée à l'appareil HAL de l'appareil photo par le framework dans process_capture_request().
La requête contient les paramètres à utiliser pour cette capture et l'ensemble de tampons de sortie dans lesquels écrire les données d'image obtenues. Il peut éventuellement contenir un tampon d'entrée, auquel cas la requête vise à retravailler ce tampon d'entrée au lieu de capturer une nouvelle image avec le capteur de la caméra. La capture est identifiée par le numéro d'image.
En réponse, l'appareil HAL de l'appareil photo doit envoyer une structure camera3_capture_result de manière asynchrone au framework, à l'aide du rappel process_capture_result().
Documentation des champs
uint32_t frame_number |
Le numéro de frame est un entier incrémentiel défini par le framework pour identifier de manière unique cette capture. Il doit être renvoyé dans l'appel de résultat et sert également à identifier la requête dans les notifications asynchrones envoyées à camera3_callback_ops_t.notify() .
Camera3_stream_buffer_t * input_buffer |
Tampon du flux d'entrée à utiliser pour cette requête, le cas échéant.
Si input_buffer est NULL, la requête concerne une nouvelle capture de l'imageur. Si input_buffer est valide, la requête vise à retravailler l'image contenue dans input_buffer.
Dans ce dernier cas, le HAL doit définir le release_fence du tampon d'entrée sur une barrière de synchronisation valide ou sur -1 si le HAL n'est pas compatible avec la synchronisation, avant le retour de process_capture_request().
Le HAL doit attendre la barrière de synchronisation d'acquisition du tampon d'entrée avant d'y accéder.
<= CAMERA_DEVICE_API_VERSION_3_1:
Tout tampon d'entrée inclus ici aura été enregistré auprès du HAL via register_stream_buffers() avant d'être inclus dans une requête.
>= CAMERA_DEVICE_API_VERSION_3_2:
Les tampons n'auront pas été pré-enregistrés auprès du HAL. Les requêtes ultérieures peuvent réutiliser des tampons ou en fournir de nouveaux.
uint32_t num_output_buffers |
const Camera3_stream_buffer_t * output_buffers |
Tableau de tampons de flux num_output_buffers, à remplir avec les données d'image de cette capture/retraitement. Le HAL doit attendre les barrières d'acquisition de chaque tampon de flux avant de les écrire.
Le HAL prend possession des entrées buffer_handle_t réelles dans output_buffers. Le framework n'y accède pas tant qu'elles ne sont pas renvoyées dans un camera3_capture_result_t.
<= CAMERA_DEVICE_API_VERSION_3_1:
Tous les tampons inclus ici auront été enregistrés auprès du HAL via register_stream_buffers() avant d'être inclus dans une requête.
>= CAMERA_DEVICE_API_VERSION_3_2:
Tous les tampons inclus ici peuvent être nouveaux dans cette requête (ils n'ont jamais été vus par le HAL auparavant).
const camera_metadata_t * settings |
Le tampon de paramètres contient les paramètres de capture et de traitement de la requête. Dans un cas particulier, un tampon de paramètres NULL indique que les paramètres sont identiques à la requête de capture la plus récente. Un tampon NULL ne peut pas être utilisé comme première requête envoyée après un appel configure_streams().
La documentation de ce struct a été générée à partir du fichier suivant :
- hardware/libhardware/include/hardware/ camera3.h