mirror of
https://github.com/nyanmisaka/mpp.git
synced 2025-10-07 10:00:55 +08:00
[jpege]: Support writing EXIF and MPF data
EXIF and MPF data can be write by send user data via KEY_USER_DATAS. Change-Id: Ib9b5a117433437c202bf354d59dc404c76a4db5f Signed-off-by: Johnson Ding <johnson.ding@rock-chips.com>
This commit is contained in:

committed by
Herman Chen

parent
ecf7531cf8
commit
7b680e6e6f
@@ -599,10 +599,22 @@ static MPP_RET jpege_add_Prefix(MppPacket pkt, RK_S32 *len, RK_U8 uuid[16],
|
||||
RK_S32 i = 0, app_size = 0;
|
||||
|
||||
mpp_writer_init(bits, ptr + length, buf_size - length);
|
||||
/* add user data to APP7 */
|
||||
mpp_writer_put_raw_bits(bits, 0xFFE7, 16);
|
||||
/* length */
|
||||
mpp_writer_put_raw_bits(bits, size + 2, 16);
|
||||
|
||||
if ((size > 8) && user_data[0] == 0xFF && user_data[1] == 0xE1 &&
|
||||
user_data[4] == 0x45 && user_data[5] == 0x78 &&
|
||||
user_data[6] == 0x69 && user_data[7] == 0x66) {
|
||||
jpege_dbg_func("write EXIF data, total length %d\n", size);
|
||||
} else if ((size > 8) && user_data[0] == 0xFF && user_data[1] == 0xE2 &&
|
||||
user_data[4] == 0x4D && user_data[5] == 0x50 &&
|
||||
user_data[6] == 0x46 && user_data[7] == 0x00) {
|
||||
jpege_dbg_func("write MPF data, total length %d\n", size);
|
||||
} else {
|
||||
/* add user data to APP7 */
|
||||
mpp_writer_put_raw_bits(bits, 0xFFE7, 16);
|
||||
/* length */
|
||||
mpp_writer_put_raw_bits(bits, size + 2, 16);
|
||||
}
|
||||
|
||||
/* data */
|
||||
for (i = 0; i < size; i++)
|
||||
mpp_writer_put_raw_bits(bits, user_data[i], 8);
|
||||
|
Reference in New Issue
Block a user