DngCreator: Avoid moving absent tag entries

Tags 'TAG_OPCODELIST2' and 'TAG_OPCODELIST3' could be
absent from the main image IFD. Check for their presence
first before moving in the thumbnail sub IFD.

Bug: 112526551
Test: Camera CTS
Change-Id: I7039a533777ca95524d4c7d586ca4b40739cd2e5
diff --git a/core/jni/android_hardware_camera2_DngCreator.cpp b/core/jni/android_hardware_camera2_DngCreator.cpp
index b1bb555..c977437 100644
--- a/core/jni/android_hardware_camera2_DngCreator.cpp
+++ b/core/jni/android_hardware_camera2_DngCreator.cpp
@@ -1971,8 +1971,14 @@
         tagsToMove.add(TAG_DEFAULTSCALE);
         tagsToMove.add(TAG_DEFAULTCROPORIGIN);
         tagsToMove.add(TAG_DEFAULTCROPSIZE);
-        tagsToMove.add(TAG_OPCODELIST2);
-        tagsToMove.add(TAG_OPCODELIST3);
+
+        if (nullptr != writer->getEntry(TAG_OPCODELIST2, TIFF_IFD_0).get()) {
+            tagsToMove.add(TAG_OPCODELIST2);
+        }
+
+        if (nullptr != writer->getEntry(TAG_OPCODELIST3, TIFF_IFD_0).get()) {
+            tagsToMove.add(TAG_OPCODELIST3);
+        }
 
         if (moveEntries(writer, TIFF_IFD_0, TIFF_IFD_SUB1, tagsToMove) != OK) {
             jniThrowException(env, "java/lang/IllegalStateException", "Failed to move entries");