merge in klp-release history after reset to klp-dev
diff --git a/QCamera2/HAL/QCameraPostProc.h b/QCamera2/HAL/QCameraPostProc.h
index 230f6df..873e05e 100644
--- a/QCamera2/HAL/QCameraPostProc.h
+++ b/QCamera2/HAL/QCameraPostProc.h
@@ -75,7 +75,7 @@
qcamera_release_data_t release_data; // any data needs to be release after notify
} qcamera_data_argm_t;
-#define MAX_EXIF_TABLE_ENTRIES 14
+#define MAX_EXIF_TABLE_ENTRIES 16
class QCameraExif
{
public:
diff --git a/QCamera2/HAL3/QCamera3HWI.cpp b/QCamera2/HAL3/QCamera3HWI.cpp
index 1f06a67..b63ace4 100644
--- a/QCamera2/HAL3/QCamera3HWI.cpp
+++ b/QCamera2/HAL3/QCamera3HWI.cpp
@@ -180,7 +180,8 @@
mMinProcessedFrameDuration(0),
mMinJpegFrameDuration(0),
mMinRawFrameDuration(0),
- m_pPowerModule(NULL)
+ m_pPowerModule(NULL),
+ mHdrHint(false)
{
mCameraDevice.common.tag = HARDWARE_DEVICE_TAG;
mCameraDevice.common.version = CAMERA_DEVICE_API_VERSION_3_0;
@@ -380,6 +381,11 @@
if (rc == NO_ERROR) {
if (m_pPowerModule) {
if (m_pPowerModule->powerHint) {
+ if(mHdrHint == true) {
+ m_pPowerModule->powerHint(m_pPowerModule, POWER_HINT_VIDEO_ENCODE,
+ (void *)"state=3");
+ mHdrHint = false;
+ }
m_pPowerModule->powerHint(m_pPowerModule, POWER_HINT_VIDEO_ENCODE,
(void *)"state=0");
}
@@ -471,6 +477,18 @@
mMetadataChannel->stop();
}
+#ifdef HAS_MULTIMEDIA_HINTS
+ if(mHdrHint == true) {
+ if (m_pPowerModule) {
+ if (m_pPowerModule->powerHint) {
+ m_pPowerModule->powerHint(m_pPowerModule, POWER_HINT_VIDEO_ENCODE,
+ (void *)"state=3");
+ mHdrHint = false;
+ }
+ }
+ }
+#endif
+
pthread_mutex_lock(&mMutex);
camera3_stream_t *inputStream = NULL;
@@ -586,6 +604,15 @@
break;
case HAL_PIXEL_FORMAT_YCbCr_420_888:
stream_config_info.type[i] = CAM_STREAM_TYPE_CALLBACK;
+#ifdef HAS_MULTIMEDIA_HINTS
+ if (m_pPowerModule) {
+ if (m_pPowerModule->powerHint) {
+ m_pPowerModule->powerHint(m_pPowerModule,
+ POWER_HINT_VIDEO_ENCODE, (void *)"state=2");
+ mHdrHint = true;
+ }
+ }
+#endif
break;
case HAL_PIXEL_FORMAT_BLOB:
stream_config_info.type[i] = CAM_STREAM_TYPE_NON_ZSL_SNAPSHOT;
diff --git a/QCamera2/HAL3/QCamera3HWI.h b/QCamera2/HAL3/QCamera3HWI.h
index 27717db..cc4cc61 100755
--- a/QCamera2/HAL3/QCamera3HWI.h
+++ b/QCamera2/HAL3/QCamera3HWI.h
@@ -246,6 +246,9 @@
power_module_t *m_pPowerModule; // power module
+#ifdef HAS_MULTIMEDIA_HINTS
+ bool mHdrHint;
+#endif
static const QCameraMap EFFECT_MODES_MAP[];
static const QCameraMap WHITE_BALANCE_MODES_MAP[];
static const QCameraMap SCENE_MODES_MAP[];
diff --git a/QCamera2/HAL3/QCamera3PostProc.h b/QCamera2/HAL3/QCamera3PostProc.h
index b970c24..0b30295 100755
--- a/QCamera2/HAL3/QCamera3PostProc.h
+++ b/QCamera2/HAL3/QCamera3PostProc.h
@@ -71,7 +71,7 @@
mm_jpeg_output_t out_data; // ptr to jpeg output buf
} qcamera_jpeg_evt_payload_t;
-#define MAX_EXIF_TABLE_ENTRIES 14
+#define MAX_EXIF_TABLE_ENTRIES 16
class QCamera3Exif
{
public: