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
This commit is contained in:
Eino-Ville Talvala
2012-09-19 11:42:40 -07:00
parent 4fbd199696
commit ada3a97820

View File

@@ -113,6 +113,26 @@ enum {
CAMERA2_HAL_PIXEL_FORMAT_ZSL = -1 CAMERA2_HAL_PIXEL_FORMAT_ZSL = -1
}; };
/**
* 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 * 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 * to the HAL device in allocate_reprocess_stream(); they are used to interact