Android Hardware Abstraction Layer
Transport header for compressed JPEG buffers in output streams.
To capture JPEG images, a stream is created using the pixel format HAL_PIXEL_FORMAT_BLOB, and the static metadata field android.jpeg.maxSize is used as the buffer size. Since compressed JPEG images are of variable size, the HAL needs to include the final size of the compressed image using this structure inside the output stream buffer. The JPEG blob ID field must be set to CAMERA3_JPEG_BLOB_ID.
Transport header should be at the end of the JPEG output stream buffer. That means the jpeg_blob_id must start at byte[android.jpeg.maxSize - sizeof(camera3_jpeg_blob)]. Any HAL using this transport header must account for it in android.jpeg.maxSize. The JPEG data itself starts at the beginning of the buffer and should be jpeg_size bytes long.