การอ้างอิง Struct camera3_jpeg_blob
#include <
camera3.h
>
ฟิลด์ข้อมูล |
|
uint16_t | jpeg_blob_id |
uint32_t | jpeg_size |
คำอธิบายโดยละเอียด
ส่วนหัวของการรับส่งสำหรับบัฟเฟอร์ JPEG ที่บีบอัดในสตรีมเอาต์พุต
หากต้องการจับภาพ JPEG ระบบจะสร้างสตรีมโดยใช้รูปแบบพิกเซล HAL_PIXEL_FORMAT_BLOB เฟรมเวิร์กจะคำนวณขนาดบัฟเฟอร์สำหรับสตรีมโดยอิงตามช่องข้อมูลเมตาแบบคงที่ android.jpeg.maxSize เนื่องจากรูปภาพ JPEG ที่บีบอัดมีขนาดไม่แน่นอน HAL จึงต้องระบุขนาดสุดท้ายของรูปภาพที่บีบอัดโดยใช้โครงสร้างนี้ภายในบัฟเฟอร์สตรีมเอาต์พุต ต้องตั้งค่าช่องรหัส Blob ของ JPEG เป็น CAMERA3_JPEG_BLOB_ID
ส่วนหัวการรับส่งข้อมูลควรอยู่ท้ายบัฟเฟอร์สตรีมเอาต์พุต JPEG ซึ่งหมายความว่า jpeg_blob_id ต้องเริ่มต้นที่ byte[buffer_size - sizeof(camera3_jpeg_blob)] โดยที่ buffer_size คือขนาดของบัฟเฟอร์ gralloc HAL ที่ใช้ส่วนหัวการขนส่งนี้ต้องพิจารณาค่านี้ใน android.jpeg.maxSize ข้อมูล JPEG เองจะเริ่มที่จุดเริ่มต้นของบัฟเฟอร์และควรมีความยาว 4096 ไบต์
เอกสารประกอบในสนาม
เอกสารประกอบสำหรับโครงสร้างนี้สร้างขึ้นจากไฟล์ต่อไปนี้
- hardware/libhardware/include/hardware/ camera3.h