diff options
author | Tyler Luu <tluu@ti.com> | 2011-10-18 19:52:30 -0500 |
---|---|---|
committer | Iliyan Malchev <malchev@google.com> | 2011-11-22 09:30:52 -0800 |
commit | 4dc82059997c6a3326650ac5cd52e17aeb204a01 (patch) | |
tree | 1b593aa4472daa1d4d26e60eec86d8598818c0ce /camera/inc | |
parent | 532fc69d2432b108fc8cac4496d0a7f2b969fbfe (diff) | |
download | hardware_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-x | camera/inc/Encoder_libjpeg.h | 16 | ||||
-rw-r--r-- | camera/inc/OMXCameraAdapter/OMXCameraAdapter.h | 6 |
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 °, 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; |