Strukturreferenz für camera3_jpeg_blob
#include <
camera3.h
>
Datenfelder |
|
uint16_t | jpeg_blob_id |
uint32_t | jpeg_size |
Detaillierte Beschreibung
Transportheader für komprimierte JPEG-Buffer in Ausgabestreams.
Für die Aufnahme von JPEG-Bildern wird ein Stream mit dem Pixelformat HAL_PIXEL_FORMAT_BLOB erstellt. Die Puffergröße für den Stream wird vom Framework anhand des statischen Metadatenfelds „android.jpeg.maxSize“ berechnet. Da komprimierte JPEG-Bilder eine variable Größe haben, muss die HAL die endgültige Größe des komprimierten Bilds mit dieser Struktur im Ausgabestream-Puffer angeben. Das Feld „JPEG-Blob-ID“ muss auf CAMERA3_JPEG_BLOB_ID gesetzt sein.
Der Transportheader sollte sich am Ende des JPEG-Ausgabestream-Buffers befinden. Das bedeutet, dass die jpeg_blob_id bei byte[buffer_size – sizeof(camera3_jpeg_blob)] beginnen muss. Dabei ist buffer_size die Größe des Gralloc-Puffers. Jede HAL, die diese Transport-Header verwendet, muss dies in android.jpeg.maxSize berücksichtigen. Die JPEG-Daten selbst beginnen am Anfang des Buffers und sollten eine Länge von jpeg_size Byte haben.
Felddokumentation
Die Dokumentation für diese Struktur wurde aus der folgenden Datei generiert:
- hardware/libhardware/include/hardware/ camera3.h