summaryrefslogtreecommitdiffstats
path: root/core/jni
diff options
context:
space:
mode:
authorRuben Brunk <rubenbrunk@google.com>2014-07-23 13:23:00 -0700
committerRuben Brunk <rubenbrunk@google.com>2014-07-25 23:29:11 +0000
commitb1971dc8a69b8cee91208b7d3017c52b36e55721 (patch)
tree7870a0a13f5ca53af7459b909c1562876caf91f9 /core/jni
parent3480d903f2afea8fc23a7d4f17d30d1aff80584e (diff)
downloadframeworks_base-b1971dc8a69b8cee91208b7d3017c52b36e55721.zip
frameworks_base-b1971dc8a69b8cee91208b7d3017c52b36e55721.tar.gz
frameworks_base-b1971dc8a69b8cee91208b7d3017c52b36e55721.tar.bz2
camera2: Add noiseModel when saving DNG tag.
Bug: 16369384 Change-Id: I3c84dd3e5f3279bcfe56637b23f37c3b6984774d
Diffstat (limited to 'core/jni')
-rw-r--r--core/jni/android_hardware_camera2_DngCreator.cpp23
1 files changed, 19 insertions, 4 deletions
diff --git a/core/jni/android_hardware_camera2_DngCreator.cpp b/core/jni/android_hardware_camera2_DngCreator.cpp
index 3a3328f..eaadfb2 100644
--- a/core/jni/android_hardware_camera2_DngCreator.cpp
+++ b/core/jni/android_hardware_camera2_DngCreator.cpp
@@ -1173,8 +1173,8 @@ static void DngCreator_init(JNIEnv* env, jobject thiz, jobject characteristicsPt
calibrationTransform1[ctr++] = entry1.data.r[i].denominator;
}
- BAIL_IF_INVALID(writer->addEntry(TAG_CAMERACALIBRATION1, entry1.count, calibrationTransform1,
- TIFF_IFD_0), env, TAG_CAMERACALIBRATION1, writer);
+ BAIL_IF_INVALID(writer->addEntry(TAG_CAMERACALIBRATION1, entry1.count,
+ calibrationTransform1, TIFF_IFD_0), env, TAG_CAMERACALIBRATION1, writer);
if (!singleIlluminant) {
camera_metadata_entry entry2 =
@@ -1188,8 +1188,8 @@ static void DngCreator_init(JNIEnv* env, jobject thiz, jobject characteristicsPt
calibrationTransform2[ctr++] = entry2.data.r[i].denominator;
}
- BAIL_IF_INVALID(writer->addEntry(TAG_CAMERACALIBRATION2, entry2.count, calibrationTransform1,
- TIFF_IFD_0), env, TAG_CAMERACALIBRATION2, writer);
+ BAIL_IF_INVALID(writer->addEntry(TAG_CAMERACALIBRATION2, entry2.count,
+ calibrationTransform1, TIFF_IFD_0), env, TAG_CAMERACALIBRATION2, writer);
}
}
@@ -1294,6 +1294,21 @@ static void DngCreator_init(JNIEnv* env, jobject thiz, jobject characteristicsPt
}
{
+ // Setup sensor noise model
+ camera_metadata_entry entry =
+ results.find(ANDROID_SENSOR_NOISE_PROFILE);
+
+ if (entry.count > 0) {
+ BAIL_IF_INVALID(writer->addEntry(TAG_NOISEPROFILE, entry.count,
+ entry.data.d, TIFF_IFD_0), env,
+ TAG_NOISEPROFILE, writer);
+ } else {
+ ALOGW("%s: No noise profile found in result metadata. Image quality may be reduced.",
+ __FUNCTION__);
+ }
+ }
+
+ {
// Setup opcode List 2
camera_metadata_entry entry1 =
characteristics.find(ANDROID_LENS_INFO_SHADING_MAP_SIZE);