diff options
author | Ruben Brunk <rubenbrunk@google.com> | 2014-07-23 13:23:00 -0700 |
---|---|---|
committer | Ruben Brunk <rubenbrunk@google.com> | 2014-07-25 23:29:11 +0000 |
commit | b1971dc8a69b8cee91208b7d3017c52b36e55721 (patch) | |
tree | 7870a0a13f5ca53af7459b909c1562876caf91f9 /core/jni | |
parent | 3480d903f2afea8fc23a7d4f17d30d1aff80584e (diff) | |
download | frameworks_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.cpp | 23 |
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); |