summaryrefslogtreecommitdiffstats
path: root/camera/inc
diff options
context:
space:
mode:
authorTyler Luu <tluu@ti.com>2011-10-18 19:52:30 -0500
committerIliyan Malchev <malchev@google.com>2011-11-22 09:30:52 -0800
commit4dc82059997c6a3326650ac5cd52e17aeb204a01 (patch)
tree1b593aa4472daa1d4d26e60eec86d8598818c0ce /camera/inc
parent532fc69d2432b108fc8cac4496d0a7f2b969fbfe (diff)
downloadhardware_ti_omap4-4dc82059997c6a3326650ac5cd52e17aeb204a01.zip
hardware_ti_omap4-4dc82059997c6a3326650ac5cd52e17aeb204a01.tar.gz
hardware_ti_omap4-4dc82059997c6a3326650ac5cd52e17aeb204a01.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/inc')
-rwxr-xr-xcamera/inc/Encoder_libjpeg.h16
-rw-r--r--camera/inc/OMXCameraAdapter/OMXCameraAdapter.h6
2 files changed, 21 insertions, 1 deletions
diff --git a/camera/inc/Encoder_libjpeg.h b/camera/inc/Encoder_libjpeg.h
index e3e9ac5..e4dfc0f 100755
--- a/camera/inc/Encoder_libjpeg.h
+++ b/camera/inc/Encoder_libjpeg.h
@@ -43,6 +43,7 @@ typedef void (*encoder_libjpeg_callback_t) (void* main_jpeg,
void* cookie2,
void* cookie3);
+// these have to match strings defined in external/jhead/exif.c
static const char TAG_MODEL[] = "Model";
static const char TAG_MAKE[] = "Make";
static const char TAG_FOCALLENGTH[] = "FocalLength";
@@ -61,6 +62,21 @@ static const char TAG_GPS_VERSION_ID[] = "GPSVersionID";
static const char TAG_GPS_TIMESTAMP[] = "GPSTimeStamp";
static const char TAG_GPS_DATESTAMP[] = "GPSDateStamp";
static const char TAG_ORIENTATION[] = "Orientation";
+static const char TAG_FLASH[] = "Flash";
+static const char TAG_DIGITALZOOMRATIO[] = "DigitalZoomRatio";
+static const char TAG_EXPOSURETIME[] = "ExposureTime";
+static const char TAG_APERTURE[] = "ApertureValue";
+static const char TAG_ISO_EQUIVALENT[] = "ISOSpeedRatings";
+static const char TAG_WHITEBALANCE[] = "WhiteBalance";
+static const char TAG_LIGHT_SOURCE[] = "LightSource";
+static const char TAG_METERING_MODE[] = "MeteringMode";
+static const char TAG_EXPOSURE_PROGRAM[] = "ExposureProgram";
+static const char TAG_COLOR_SPACE[] = "ColorSpace";
+static const char TAG_CPRS_BITS_PER_PIXEL[] = "CompressedBitsPerPixel";
+static const char TAG_FNUMBER[] = "FNumber";
+static const char TAG_SHUTTERSPEED[] = "ShutterSpeedValue";
+static const char TAG_SENSING_METHOD[] = "SensingMethod";
+static const char TAG_CUSTOM_RENDERED[] = "CustomRendered";
class ExifElementsTable {
public:
diff --git a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
index 463032a..981e22d 100644
--- a/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
+++ b/camera/inc/OMXCameraAdapter/OMXCameraAdapter.h
@@ -446,7 +446,8 @@ private:
BaseCameraAdapter::AdapterState state);
status_t convertGPSCoord(double coord, int &deg, int &min, int &sec, int &secDivisor);
status_t setupEXIF();
- status_t setupEXIF_libjpeg(ExifElementsTable*);
+ status_t setupEXIF_libjpeg(ExifElementsTable*, OMX_TI_ANCILLARYDATATYPE*,
+ OMX_TI_WHITEBALANCERESULTTYPE*);
//Focus functionality
status_t doAutoFocus();
@@ -640,6 +641,7 @@ private:
status_t setAutoConvergence(OMX_TI_AUTOCONVERGENCEMODETYPE pACMode, OMX_S32 pManualConverence);
status_t getAutoConvergence(OMX_TI_AUTOCONVERGENCEMODETYPE *pACMode, OMX_S32 *pManualConverence);
+ status_t setExtraData(bool enable, OMX_U32, OMX_EXT_EXTRADATATYPE);
OMX_OTHER_EXTRADATATYPE *getExtradata(OMX_OTHER_EXTRADATATYPE *extraData, OMX_EXTRADATATYPE type);
class CommandHandler : public Thread {
@@ -873,6 +875,8 @@ private:
int mSnapshotCount;
bool mCaptureConfigured;
unsigned int mPendingCaptureSettings;
+ OMX_TI_ANCILLARYDATATYPE* mCaptureAncillaryData;
+ OMX_TI_WHITEBALANCERESULTTYPE* mWhiteBalanceData;
//Temporal bracketing management data
mutable Mutex mBracketingLock;