diff options
author | Tyler Luu <tluu@ti.com> | 2012-03-23 17:00:53 -0500 |
---|---|---|
committer | Daniel Levin <dendy@ti.com> | 2012-07-25 08:55:44 -0500 |
commit | e7820b2c8722c66f4ba3f8e6e5aa2d41ffb5d25b (patch) | |
tree | 900a59664ee674c64a7a4b81f70c673eb3405f69 /camera/Encoder_libjpeg.cpp | |
parent | 8a6afd189026a9e0427c6d35fbcac6f5e2b4dc32 (diff) | |
download | hardware_ti_omap4-e7820b2c8722c66f4ba3f8e6e5aa2d41ffb5d25b.zip hardware_ti_omap4-e7820b2c8722c66f4ba3f8e6e5aa2d41ffb5d25b.tar.gz hardware_ti_omap4-e7820b2c8722c66f4ba3f8e6e5aa2d41ffb5d25b.tar.bz2 |
CameraHal: Add more Exif data for video snapshot
Fixes b/5582076. Requires changes to Ducati and external/jhead.
1. Add API to get and set ancillary data metadata so
we can use the values to fill in Exif data.
2. Add support for additional tags.
Change-Id: I537e683839c59e92a4a20ff62653b6d46e303f53
Signed-off-by: Tyler Luu <tluu@ti.com>
Signed-off-by: Iliyan Malchev <malchev@google.com>
Diffstat (limited to 'camera/Encoder_libjpeg.cpp')
-rw-r--r-- | camera/Encoder_libjpeg.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/camera/Encoder_libjpeg.cpp b/camera/Encoder_libjpeg.cpp index 5670871..3388048 100644 --- a/camera/Encoder_libjpeg.cpp +++ b/camera/Encoder_libjpeg.cpp @@ -42,6 +42,7 @@ extern "C" { } #define ARRAY_SIZE(array) (sizeof((array)) / sizeof((array)[0])) +#define MIN(x,y) ((x < y) ? x : y) namespace android { struct integer_string_pair { @@ -305,7 +306,7 @@ ExifElementsTable::~ExifElementsTable() { } status_t ExifElementsTable::insertElement(const char* tag, const char* value) { - int value_length = 0; + unsigned int value_length = 0; status_t ret = NO_ERROR; if (!value || !tag) { @@ -331,6 +332,13 @@ status_t ExifElementsTable::insertElement(const char* tag, const char* value) { table[position].GpsTag = FALSE; table[position].Tag = TagNameToValue(tag); exif_tag_count++; + + // jhead isn't taking datetime tag...this is a WA + if (strcmp(tag, TAG_DATETIME) == 0) { + ImageInfo.numDateTimeTags = 1; + memcpy(ImageInfo.DateTime, value, + MIN(ARRAY_SIZE(ImageInfo.DateTime), value_length + 1)); + } } table[position].DataLength = 0; |