diff options
author | Eino-Ville Talvala <etalvala@google.com> | 2012-09-19 11:42:40 -0700 |
---|---|---|
committer | Eino-Ville Talvala <etalvala@google.com> | 2012-09-19 11:42:40 -0700 |
commit | ada3a97820dd48d513350d1365a3040d570bab6e (patch) | |
tree | 809cbfbf8b5a96cc82b22fd4f9e7139af3010b77 | |
parent | 4fbd199696b088ab9cf1d7696b6885987ba9a913 (diff) | |
download | libhardware-ada3a97820dd48d513350d1365a3040d570bab6e.tar.gz |
Camera2: Add JPEG transport header
To simplify passing compressed JPEG data between the HAL and the
camera service, add a transport header for use with JPEG streams.
Bug: 7108816
Change-Id: I91060051f59032e66eaaab3ee9f651badd1f2ac0
-rw-r--r-- | include/hardware/camera2.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/include/hardware/camera2.h b/include/hardware/camera2.h index e6b99b7d..8587fc53 100644 --- a/include/hardware/camera2.h +++ b/include/hardware/camera2.h @@ -114,6 +114,26 @@ enum { }; /** + * 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 CAMERA2_JPEG_BLOB_ID. + */ +typedef struct camera2_jpeg_blob { + uint16_t jpeg_blob_id; + uint32_t jpeg_size; + uint8_t jpeg_data[0]; +}; + +enum { + CAMERA2_JPEG_BLOB_ID = 0x00FF +}; + +/** * Input reprocess stream queue management. A set of these methods is provided * to the HAL device in allocate_reprocess_stream(); they are used to interact * with the reprocess stream's input gralloc buffer queue. |