summaryrefslogtreecommitdiffstats
path: root/camera/Encoder_libjpeg.cpp
diff options
context:
space:
mode:
authorTyler Luu <tluu@ti.com>2012-03-23 17:00:53 -0500
committerDaniel Levin <dendy@ti.com>2012-07-25 08:55:44 -0500
commite7820b2c8722c66f4ba3f8e6e5aa2d41ffb5d25b (patch)
tree900a59664ee674c64a7a4b81f70c673eb3405f69 /camera/Encoder_libjpeg.cpp
parent8a6afd189026a9e0427c6d35fbcac6f5e2b4dc32 (diff)
downloadhardware_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.cpp10
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;