summaryrefslogtreecommitdiff
path: root/internal
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2019-01-28 22:21:51 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2019-01-28 22:21:51 +0000
commit938d58078455ad446fb1196cb9978429faff36cc (patch)
tree651b48226356b70dbd99d471abd462bad303aa02 /internal
parent6b9f1f428665620ad0577a2b9bcf5c9834c711aa (diff)
parentcf24597915ce4f06730cd9236f3bfdd07cb87311 (diff)
downloaddynamic_depth-938d58078455ad446fb1196cb9978429faff36cc.tar.gz
Merge changes from topic "dynamic_depth"
* changes: Add Android dynamic depth buffer validation sequence Sync libdynamic_depth to CL #228913159
Diffstat (limited to 'internal')
-rw-r--r--internal/dynamic_depth/app_info.cc6
-rw-r--r--internal/dynamic_depth/camera.cc6
-rw-r--r--internal/dynamic_depth/cameras.cc6
-rw-r--r--internal/dynamic_depth/const.cc2
-rw-r--r--internal/dynamic_depth/const.h4
-rw-r--r--internal/dynamic_depth/container.cc6
-rw-r--r--internal/dynamic_depth/depth_map.cc12
-rw-r--r--internal/dynamic_depth/device.cc24
-rw-r--r--internal/dynamic_depth/dimension.h4
-rw-r--r--internal/dynamic_depth/dynamic_depth.cc135
-rw-r--r--internal/dynamic_depth/earth_pose.cc6
-rw-r--r--internal/dynamic_depth/element.h7
-rw-r--r--internal/dynamic_depth/image.cc8
-rw-r--r--internal/dynamic_depth/imaging_model.cc12
-rw-r--r--internal/dynamic_depth/item.cc11
-rw-r--r--internal/dynamic_depth/light_estimate.cc6
-rw-r--r--internal/dynamic_depth/plane.cc8
-rw-r--r--internal/dynamic_depth/planes.cc6
-rw-r--r--internal/dynamic_depth/point.h4
-rw-r--r--internal/dynamic_depth/point_cloud.cc25
-rw-r--r--internal/dynamic_depth/pose.cc6
-rw-r--r--internal/dynamic_depth/profile.cc6
-rw-r--r--internal/dynamic_depth/profiles.cc6
-rw-r--r--internal/dynamic_depth/vendor_info.cc6
-rw-r--r--internal/xmpmeta/base64.cc6
-rw-r--r--internal/xmpmeta/base64.h6
-rw-r--r--internal/xmpmeta/file.cc6
-rw-r--r--internal/xmpmeta/file.h6
-rw-r--r--internal/xmpmeta/jpeg_io.cc6
-rw-r--r--internal/xmpmeta/md5.cc9
-rw-r--r--internal/xmpmeta/xml/const.cc6
-rw-r--r--internal/xmpmeta/xml/const.h6
-rw-r--r--internal/xmpmeta/xml/deserializer.h6
-rw-r--r--internal/xmpmeta/xml/deserializer_impl.cc7
-rw-r--r--internal/xmpmeta/xml/deserializer_impl.h6
-rw-r--r--internal/xmpmeta/xml/search.cc8
-rw-r--r--internal/xmpmeta/xml/search.h6
-rw-r--r--internal/xmpmeta/xml/serializer.h6
-rw-r--r--internal/xmpmeta/xml/serializer_impl.cc6
-rw-r--r--internal/xmpmeta/xml/serializer_impl.h6
-rw-r--r--internal/xmpmeta/xml/utils.cc6
-rw-r--r--internal/xmpmeta/xml/utils.h6
-rw-r--r--internal/xmpmeta/xmp_const.cc6
-rw-r--r--internal/xmpmeta/xmp_data.cc6
-rw-r--r--internal/xmpmeta/xmp_parser.cc15
-rw-r--r--internal/xmpmeta/xmp_writer.cc58
46 files changed, 293 insertions, 228 deletions
diff --git a/internal/dynamic_depth/app_info.cc b/internal/dynamic_depth/app_info.cc
index d0c4f1c..c56ab84 100644
--- a/internal/dynamic_depth/app_info.cc
+++ b/internal/dynamic_depth/app_info.cc
@@ -8,10 +8,9 @@
#include "xmpmeta/base64.h"
#include "xmpmeta/xml/utils.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -142,4 +141,3 @@ bool AppInfo::ParseFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/camera.cc b/internal/dynamic_depth/camera.cc
index db068e3..e3aaee7 100644
--- a/internal/dynamic_depth/camera.cc
+++ b/internal/dynamic_depth/camera.cc
@@ -4,10 +4,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -279,4 +278,3 @@ bool Camera::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/cameras.cc b/internal/dynamic_depth/cameras.cc
index 7c5c29f..f7b8990 100644
--- a/internal/dynamic_depth/cameras.cc
+++ b/internal/dynamic_depth/cameras.cc
@@ -3,10 +3,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
const char kNodeName[] = "Cameras";
@@ -99,4 +98,3 @@ bool Cameras::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/const.cc b/internal/dynamic_depth/const.cc
index 0a7396d..c7427ff 100644
--- a/internal/dynamic_depth/const.cc
+++ b/internal/dynamic_depth/const.cc
@@ -3,7 +3,6 @@
#include "android-base/logging.h"
#include "base/port.h"
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -111,4 +110,3 @@ const std::string DynamicDepthConst::Namespace(const std::string& node_name) {
return "";
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/const.h b/internal/dynamic_depth/const.h
index 9b56abd..6937412 100644
--- a/internal/dynamic_depth/const.h
+++ b/internal/dynamic_depth/const.h
@@ -6,7 +6,6 @@
#include <string>
#include <vector>
-namespace photos_editing_formats {
namespace dynamic_depth {
struct DynamicDepthConst {
@@ -46,6 +45,5 @@ struct DynamicDepthConst {
};
} // namespace dynamic_depth
-} // namespace photos_editing_formats
-#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_CONST_H_ // NOLINT
+#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_CONST_H_ // NOLINT
diff --git a/internal/dynamic_depth/container.cc b/internal/dynamic_depth/container.cc
index 1e3b9b6..e7a35dd 100644
--- a/internal/dynamic_depth/container.cc
+++ b/internal/dynamic_depth/container.cc
@@ -3,10 +3,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
constexpr char kNamespaceHref[] =
@@ -119,4 +118,3 @@ bool Container::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/depth_map.cc b/internal/dynamic_depth/depth_map.cc
index 4d16c8d..b8a912b 100644
--- a/internal/dynamic_depth/depth_map.cc
+++ b/internal/dynamic_depth/depth_map.cc
@@ -6,11 +6,11 @@
#include "strings/numbers.h"
#include "xmpmeta/base64.h"
-using photos_editing_formats::dynamic_depth::Item;
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::Item;
+using ::dynamic_depth::xmpmeta::EncodeFloatArrayBase64;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
constexpr const char* kNamespaceHref =
@@ -264,13 +264,12 @@ std::unique_ptr<DepthMap> DepthMap::FromData(
}
std::unique_ptr<DepthMap> DepthMap::FromDeserializer(
- const xml::Deserializer& parent_deserializer) {
+ const Deserializer& parent_deserializer) {
std::unique_ptr<Deserializer> deserializer =
parent_deserializer.CreateDeserializer(
DynamicDepthConst::Namespace(DynamicDepthConst::DepthMap()),
DynamicDepthConst::DepthMap());
if (deserializer == nullptr) {
- LOG(ERROR) << "Deserializer must not be null";
return nullptr;
}
@@ -359,4 +358,3 @@ bool DepthMap::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/device.cc b/internal/dynamic_depth/device.cc
index 2cfff99..399ea74 100644
--- a/internal/dynamic_depth/device.cc
+++ b/internal/dynamic_depth/device.cc
@@ -14,15 +14,16 @@
#include "xmpmeta/xmp_parser.h"
#include "xmpmeta/xmp_writer.h"
-using photos_editing_formats::xml::DepthFirstSearch;
-using photos_editing_formats::xml::DeserializerImpl;
-using photos_editing_formats::xml::GetFirstDescriptionElement;
-using photos_editing_formats::xml::Serializer;
-using photos_editing_formats::xml::SerializerImpl;
-using photos_editing_formats::xml::ToXmlChar;
-using photos_editing_formats::xml::XmlConst;
-
-namespace photos_editing_formats {
+using ::dynamic_depth::xmpmeta::CreateXmpData;
+using ::dynamic_depth::xmpmeta::XmpData;
+using ::dynamic_depth::xmpmeta::xml::DepthFirstSearch;
+using ::dynamic_depth::xmpmeta::xml::DeserializerImpl;
+using ::dynamic_depth::xmpmeta::xml::GetFirstDescriptionElement;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::SerializerImpl;
+using ::dynamic_depth::xmpmeta::xml::ToXmlChar;
+using ::dynamic_depth::xmpmeta::xml::XmlConst;
+
namespace dynamic_depth {
namespace {
@@ -61,8 +62,8 @@ std::unique_ptr<Device> ParseFields(const xmlDocPtr& xmlDoc) {
auto app_info =
AppInfo::FromDeserializer(deserializer, DynamicDepthConst::Device());
- std::unique_ptr<DeviceParams>
- params(new DeviceParams(std::move(cameras))); // NOLINT
+ std::unique_ptr<DeviceParams> params(
+ new DeviceParams(std::move(cameras))); // NOLINT
params->container = std::move(container);
params->planes = std::move(planes);
params->earth_pose = std::move(earth_pose);
@@ -310,4 +311,3 @@ void Device::PopulateNamespaces() {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/dimension.h b/internal/dynamic_depth/dimension.h
index 9f68f54..3d792fb 100644
--- a/internal/dynamic_depth/dimension.h
+++ b/internal/dynamic_depth/dimension.h
@@ -1,7 +1,6 @@
#ifndef DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_DIMENSION_H_ // NOLINT
#define DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_DIMENSION_H_ // NOLINT
-namespace photos_editing_formats {
namespace dynamic_depth {
// A struct that contains the width and height of a size or the x and y
@@ -21,6 +20,5 @@ struct Dimension {
};
} // namespace dynamic_depth
-} // namespace photos_editing_formats
-#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_DIMENSION_H_ // NOLINT
+#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_DIMENSION_H_ // NOLINT
diff --git a/internal/dynamic_depth/dynamic_depth.cc b/internal/dynamic_depth/dynamic_depth.cc
index 3b2b114..fa3983e 100644
--- a/internal/dynamic_depth/dynamic_depth.cc
+++ b/internal/dynamic_depth/dynamic_depth.cc
@@ -8,14 +8,14 @@
#include "dynamic_depth/item.h"
#include "image_io/gcontainer/gcontainer.h"
#include "xmpmeta/xmp_data.h"
+#include "xmpmeta/xmp_parser.h"
#include "xmpmeta/xmp_writer.h"
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
-using photos_editing_formats::CreateXmpData;
-using photos_editing_formats::XmpData;
+using ::dynamic_depth::xmpmeta::CreateXmpData;
+using ::dynamic_depth::xmpmeta::XmpData;
constexpr char kImageMimePrefix[] = "image";
@@ -29,22 +29,15 @@ bool IsMimeTypeImage(const string& mime) {
} // namespace
-bool WriteImageAndMetadataAndContainer(const string& out_filename,
- const uint8_t* primary_image_bytes,
- size_t primary_image_bytes_count,
- Device* device) {
+bool WriteImageAndMetadataAndContainer(std::istream* input_jpeg_stream,
+ Device* device,
+ std::ostream* output_jpeg_stream) {
const std::unique_ptr<XmpData> xmp_data = CreateXmpData(true);
device->SerializeToXmp(xmp_data.get());
- std::istringstream input_jpeg_stream(
- std::string(reinterpret_cast<const char*>(primary_image_bytes),
- primary_image_bytes_count));
- std::ofstream output_jpeg_stream;
- output_jpeg_stream.open(out_filename, std::ostream::out);
- bool success = WriteLeftEyeAndXmpMeta(
- out_filename, *xmp_data, &input_jpeg_stream, &output_jpeg_stream);
+ bool success =
+ WriteLeftEyeAndXmpMeta(*xmp_data, input_jpeg_stream, output_jpeg_stream);
if (device->GetContainer() == nullptr) {
- output_jpeg_stream.close();
return success;
}
@@ -55,9 +48,23 @@ bool WriteImageAndMetadataAndContainer(const string& out_filename,
if (payload_size <= 0 || payload.empty()) {
continue;
}
- output_jpeg_stream.write(payload.c_str(), payload_size);
+ output_jpeg_stream->write(payload.c_str(), payload_size);
}
+ return success;
+}
+
+bool WriteImageAndMetadataAndContainer(const string& out_filename,
+ const uint8_t* primary_image_bytes,
+ size_t primary_image_bytes_count,
+ Device* device) {
+ std::istringstream input_jpeg_stream(
+ std::string(reinterpret_cast<const char*>(primary_image_bytes),
+ primary_image_bytes_count));
+ std::ofstream output_jpeg_stream;
+ output_jpeg_stream.open(out_filename, std::ostream::out);
+ bool success = WriteImageAndMetadataAndContainer(&input_jpeg_stream, device,
+ &output_jpeg_stream);
output_jpeg_stream.close();
return success;
}
@@ -115,11 +122,101 @@ bool GetItemPayload(const string& input_image_filename,
}
std::string std_payload;
- bool success = image_io::gcontainer::ParseFileAfterImage(
- input_image_filename, file_offset, file_length, &std_payload);
+ bool success =
+ ::photos_editing_formats::image_io::gcontainer::ParseFileAfterImage(
+ input_image_filename, file_offset, file_length, &std_payload);
*out_payload = std_payload;
return success;
}
+extern "C" int32_t ValidateAndroidDynamicDepthBuffer(const char* buffer, size_t buffer_length) {
+ XmpData xmp_data;
+ const string image_data(buffer, buffer_length);
+ ReadXmpFromMemory(image_data, /*XmpSkipExtended*/ false, &xmp_data);
+
+ // Check device presence
+ std::unique_ptr<Device> device = Device::FromXmp(xmp_data);
+ if (device == nullptr) {
+ LOG(ERROR) << "Dynamic depth device element not present!";
+ return -1;
+ }
+
+ // Check profiles
+ const Profiles* profiles = device->GetProfiles();
+ if (profiles == nullptr) {
+ LOG(ERROR) << "No Profile found in the dynamic depth metadata";
+ return -1;
+ }
+
+ const std::vector<const Profile*> profile_list = profiles->GetProfiles();
+ // Stop at the first depth photo profile found.
+ bool depth_photo_profile_found = false;
+ int camera_index = 0;
+ for (auto profile : profile_list) {
+ depth_photo_profile_found = !profile->GetType().compare("DepthPhoto");
+ if (depth_photo_profile_found) {
+ // Use the first one if available.
+ auto indices = profile->GetCameraIndices();
+ if (!indices.empty()) {
+ camera_index = indices[0];
+ } else {
+ camera_index = -1;
+ }
+ break;
+ }
+ }
+
+ if (!depth_photo_profile_found || camera_index < 0) {
+ LOG(ERROR) << "No dynamic depth profile found";
+ return -1;
+ }
+
+ auto cameras = device->GetCameras();
+ if (cameras == nullptr || camera_index > cameras->GetCameras().size() ||
+ cameras->GetCameras()[camera_index] == nullptr) {
+ LOG(ERROR) << "No camera or depth photo data found";
+ return -1;
+ }
+
+ auto camera = cameras->GetCameras()[camera_index];
+ auto depth_map = camera->GetDepthMap();
+ if (depth_map == nullptr) {
+ LOG(ERROR) << "No depth map found";
+ return -1;
+ }
+
+ auto depth_uri = depth_map->GetDepthUri();
+ if (depth_uri.empty()) {
+ LOG(ERROR) << "Invalid depth map URI";
+ return -1;
+ }
+
+ auto depth_units = depth_map->GetUnits();
+ if (depth_units != dynamic_depth::DepthUnits::kMeters) {
+ LOG(ERROR) << "Unexpected depth map units";
+ return -1;
+ }
+
+ auto depth_format = depth_map->GetFormat();
+ if (depth_format != dynamic_depth::DepthFormat::kRangeInverse) {
+ LOG(ERROR) << "Unexpected depth map format";
+ return -1;
+ }
+
+ auto near = depth_map->GetNear();
+ auto far = depth_map->GetFar();
+ if ((near < 0.f) || (far < 0.f) || (near > far) || (near == far)) {
+ LOG(ERROR) << "Unexpected depth map near and far values";
+ return -1;
+ }
+
+ auto confidence_uri = depth_map->GetConfidenceUri();
+ if (confidence_uri.empty()) {
+ LOG(ERROR) << "No confidence URI";
+ return -1;
+ }
+
+ return 0;
+}
+
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/earth_pose.cc b/internal/dynamic_depth/earth_pose.cc
index a57aa68..cd5e0a7 100644
--- a/internal/dynamic_depth/earth_pose.cc
+++ b/internal/dynamic_depth/earth_pose.cc
@@ -5,10 +5,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -187,4 +186,3 @@ bool EarthPose::ParseEarthPoseFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/element.h b/internal/dynamic_depth/element.h
index e68829d..90f112f 100644
--- a/internal/dynamic_depth/element.h
+++ b/internal/dynamic_depth/element.h
@@ -6,7 +6,6 @@
#include "xmpmeta/xml/deserializer.h"
#include "xmpmeta/xml/serializer.h"
-namespace photos_editing_formats {
namespace dynamic_depth {
/**
@@ -25,10 +24,10 @@ class Element {
std::unordered_map<string, string>* ns_name_href_map) = 0;
// Serializes this element.
- virtual bool Serialize(xml::Serializer* serializer) const = 0;
+ virtual bool Serialize(
+ ::dynamic_depth::xmpmeta::xml::Serializer* serializer) const = 0;
};
} // namespace dynamic_depth
-} // namespace photos_editing_formats
-#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_ELEMENT_H_ // NOLINT
+#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_ELEMENT_H_ // NOLINT
diff --git a/internal/dynamic_depth/image.cc b/internal/dynamic_depth/image.cc
index 811932e..8a4d36d 100644
--- a/internal/dynamic_depth/image.cc
+++ b/internal/dynamic_depth/image.cc
@@ -4,11 +4,10 @@
#include "dynamic_depth/const.h"
#include "dynamic_depth/item.h"
-using photos_editing_formats::dynamic_depth::Item;
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::Item;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -190,4 +189,3 @@ bool Image::ParseImageFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/imaging_model.cc b/internal/dynamic_depth/imaging_model.cc
index 717b8d7..5c68011 100644
--- a/internal/dynamic_depth/imaging_model.cc
+++ b/internal/dynamic_depth/imaging_model.cc
@@ -7,12 +7,12 @@
#include "strings/numbers.h"
#include "xmpmeta/base64.h"
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::EncodeFloatArrayBase64;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
constexpr char kFocalLengthX[] = "FocalLengthX";
constexpr char kFocalLengthY[] = "FocalLengthY";
@@ -117,13 +117,12 @@ std::unique_ptr<ImagingModel> ImagingModel::FromData(
}
std::unique_ptr<ImagingModel> ImagingModel::FromDeserializer(
- const xml::Deserializer& parent_deserializer) {
+ const Deserializer& parent_deserializer) {
std::unique_ptr<Deserializer> deserializer =
parent_deserializer.CreateDeserializer(
DynamicDepthConst::Namespace(DynamicDepthConst::ImagingModel()),
DynamicDepthConst::ImagingModel());
if (deserializer == nullptr) {
- LOG(ERROR) << "Deserializer must not be null";
return nullptr;
}
@@ -154,7 +153,7 @@ int ImagingModel::GetDistortionCount() const {
return static_cast<int>(floor(params_.distortion.size() / 2));
}
-bool ImagingModel::Serialize(xml::Serializer* serializer) const {
+bool ImagingModel::Serialize(Serializer* serializer) const {
if (serializer == nullptr) {
LOG(ERROR) << "Serializer is null";
return false;
@@ -219,4 +218,3 @@ bool ImagingModel::Serialize(xml::Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/item.cc b/internal/dynamic_depth/item.cc
index a1c2a8f..0a0d630 100644
--- a/internal/dynamic_depth/item.cc
+++ b/internal/dynamic_depth/item.cc
@@ -3,10 +3,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -67,13 +66,12 @@ std::unique_ptr<Item> Item::FromData(const ItemParams& params) {
}
std::unique_ptr<Item> Item::FromDeserializer(
- const xml::Deserializer& parent_deserializer) {
+ const Deserializer& parent_deserializer) {
std::unique_ptr<Deserializer> deserializer =
parent_deserializer.CreateDeserializer(
DynamicDepthConst::Namespace(DynamicDepthConst::Item()),
DynamicDepthConst::Item());
if (deserializer == nullptr) {
- LOG(ERROR) << "Deserializer must not be null";
return nullptr;
}
@@ -110,7 +108,7 @@ const string& Item::GetPayloadToSerialize() const {
return params_.payload_to_serialize;
}
-bool Item::Serialize(xml::Serializer* serializer) const {
+bool Item::Serialize(Serializer* serializer) const {
if (serializer == nullptr) {
LOG(ERROR) << "Serializer is null";
return false;
@@ -136,4 +134,3 @@ bool Item::Serialize(xml::Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/light_estimate.cc b/internal/dynamic_depth/light_estimate.cc
index 9ce3bab..af039e9 100644
--- a/internal/dynamic_depth/light_estimate.cc
+++ b/internal/dynamic_depth/light_estimate.cc
@@ -4,10 +4,9 @@
#include "dynamic_depth/const.h"
#include "xmpmeta/base64.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
constexpr int kColorCorrectionSize = 3;
@@ -125,4 +124,3 @@ bool LightEstimate::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/plane.cc b/internal/dynamic_depth/plane.cc
index 7e3914e..2f2df3e 100644
--- a/internal/dynamic_depth/plane.cc
+++ b/internal/dynamic_depth/plane.cc
@@ -5,10 +5,10 @@
#include "strings/numbers.h"
#include "xmpmeta/base64.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::EncodeFloatArrayBase64;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -71,7 +71,6 @@ std::unique_ptr<Plane> Plane::FromDeserializer(
DynamicDepthConst::Namespace(DynamicDepthConst::Plane()),
DynamicDepthConst::Plane());
if (deserializer == nullptr) {
- LOG(ERROR) << "Deserializer must not be null";
return nullptr;
}
@@ -174,4 +173,3 @@ bool Plane::ParsePlaneFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/planes.cc b/internal/dynamic_depth/planes.cc
index 5eb767f..a390335 100644
--- a/internal/dynamic_depth/planes.cc
+++ b/internal/dynamic_depth/planes.cc
@@ -3,11 +3,10 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-namespace photos_editing_formats {
namespace dynamic_depth {
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
// Private constructor.
Planes::Planes() = default;
@@ -113,4 +112,3 @@ bool Planes::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/point.h b/internal/dynamic_depth/point.h
index c6eecbb..480b958 100644
--- a/internal/dynamic_depth/point.h
+++ b/internal/dynamic_depth/point.h
@@ -1,7 +1,6 @@
#ifndef DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_POINT_H_ // NOLINT
#define DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_POINT_H_ // NOLINT
-namespace photos_editing_formats {
namespace dynamic_depth {
// A struct that contains the width and height of a size or the x and y
@@ -20,6 +19,5 @@ struct Point {
};
} // namespace dynamic_depth
-} // namespace photos_editing_formats
-#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_POINT_H_ // NOLINT
+#endif // DYNAMIC_DEPTH_INTERNAL_DYNAMIC_DEPTH_POINT_H_ // NOLINT
diff --git a/internal/dynamic_depth/point_cloud.cc b/internal/dynamic_depth/point_cloud.cc
index f35e9c1..a2aa442 100644
--- a/internal/dynamic_depth/point_cloud.cc
+++ b/internal/dynamic_depth/point_cloud.cc
@@ -6,10 +6,10 @@
#include "xmpmeta/base64.h"
#include "xmpmeta/xml/utils.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::EncodeFloatArrayBase64;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -43,9 +43,9 @@ std::unique_ptr<PointCloud> PointCloud::FromData(
return nullptr;
}
- if (points.size() % 3 != 0) {
- LOG(ERROR) << "Points must be (x, y, z) tuples, so the size must be "
- << "divisible by 3, got " << points.size();
+ if (points.size() % 4 != 0) {
+ LOG(ERROR) << "Points must be (x, y, z, c) tuples, so the size must be "
+ << "divisible by 4, got " << points.size();
return nullptr;
}
@@ -72,7 +72,7 @@ std::unique_ptr<PointCloud> PointCloud::FromDeserializer(
}
int PointCloud::GetPointCount() const {
- return static_cast<int>(points_.size() / 3);
+ return static_cast<int>(points_.size() / 4);
}
const std::vector<float>& PointCloud::GetPoints() const { return points_; }
@@ -89,7 +89,7 @@ bool PointCloud::Serialize(Serializer* serializer) const {
return false;
}
- // No error checking (e.g. points_.size() % 3 == 0), because serialization
+ // No error checking (e.g. points_.size() % 4 == 0), because serialization
// shouldn't be blocked by this.
string base64_encoded_points;
if (!EncodeFloatArrayBase64(points_, &base64_encoded_points)) {
@@ -98,7 +98,7 @@ bool PointCloud::Serialize(Serializer* serializer) const {
}
// Write required fields.
- int point_count = static_cast<int>(points_.size() / 3);
+ int point_count = static_cast<int>(points_.size() / 4);
if (!serializer->WriteProperty(
DynamicDepthConst::PointCloud(), kPointCount,
::dynamic_depth::strings::SimpleItoa(point_count))) {
@@ -131,13 +131,13 @@ bool PointCloud::ParseFields(const Deserializer& deserializer) {
return false;
}
- if (points.size() % 3 != 0) {
+ if (points.size() % 4 != 0) {
LOG(ERROR) << "Parsed " << points.size() << " values but expected the size "
- << "to be divisible by 3 for (x, y, z) tuple representation";
+ << "to be divisible by 4 for (x, y, z, c) tuple representation";
return false;
}
- int parsed_points_count = static_cast<int>(points.size() / 3);
+ int parsed_points_count = static_cast<int>(points.size() / 4);
if (parsed_points_count != point_count) {
LOG(ERROR) << "Parsed PointCount = " << point_count << " but "
<< parsed_points_count << " points were found";
@@ -161,4 +161,3 @@ bool PointCloud::ParseFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/pose.cc b/internal/dynamic_depth/pose.cc
index 7e02588..63c0740 100644
--- a/internal/dynamic_depth/pose.cc
+++ b/internal/dynamic_depth/pose.cc
@@ -5,10 +5,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -173,4 +172,3 @@ bool Pose::ParsePoseFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/profile.cc b/internal/dynamic_depth/profile.cc
index 079f9c2..c24629f 100644
--- a/internal/dynamic_depth/profile.cc
+++ b/internal/dynamic_depth/profile.cc
@@ -3,10 +3,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -135,4 +134,3 @@ bool Profile::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/profiles.cc b/internal/dynamic_depth/profiles.cc
index b23b5d7..bc49d1d 100644
--- a/internal/dynamic_depth/profiles.cc
+++ b/internal/dynamic_depth/profiles.cc
@@ -3,10 +3,9 @@
#include "android-base/logging.h"
#include "dynamic_depth/const.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
void Profiles::GetNamespaces(
@@ -96,4 +95,3 @@ bool Profiles::Serialize(Serializer* serializer) const {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/dynamic_depth/vendor_info.cc b/internal/dynamic_depth/vendor_info.cc
index db73840..f3b9dbe 100644
--- a/internal/dynamic_depth/vendor_info.cc
+++ b/internal/dynamic_depth/vendor_info.cc
@@ -5,10 +5,9 @@
#include "xmpmeta/base64.h"
#include "xmpmeta/xml/utils.h"
-using photos_editing_formats::xml::Deserializer;
-using photos_editing_formats::xml::Serializer;
+using ::dynamic_depth::xmpmeta::xml::Deserializer;
+using ::dynamic_depth::xmpmeta::xml::Serializer;
-namespace photos_editing_formats {
namespace dynamic_depth {
namespace {
@@ -105,4 +104,3 @@ bool VendorInfo::ParseFields(const Deserializer& deserializer) {
}
} // namespace dynamic_depth
-} // namespace photos_editing_formats
diff --git a/internal/xmpmeta/base64.cc b/internal/xmpmeta/base64.cc
index 3bdf5d7..a87e654 100644
--- a/internal/xmpmeta/base64.cc
+++ b/internal/xmpmeta/base64.cc
@@ -3,7 +3,8 @@
#include "android-base/logging.h"
#include "strings/escaping.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
bool EncodeBase64RawData(const uint8* data, size_t data_size, string* output) {
@@ -81,4 +82,5 @@ bool EncodeDoubleArrayBase64(const std::vector<double>& data, string* output) {
bool DecodeDoubleArrayBase64(const string& data, std::vector<double>* output) {
return InternalDecodeArrayBase64<double>(data, output);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/base64.h b/internal/xmpmeta/base64.h
index 8439e90..285e3f1 100644
--- a/internal/xmpmeta/base64.h
+++ b/internal/xmpmeta/base64.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
// Decodes the base64-encoded input range. Supports decoding of both web-safe
// and regular base64."Web-safe" base-64 replaces + with - and / with _, and
// omits trailing = padding characters.
@@ -34,6 +35,7 @@ bool EncodeDoubleArrayBase64(const std::vector<double>& data, string* output);
// Base64-decodes the given double array.
bool DecodeDoubleArrayBase64(const string& data, std::vector<double>* output);
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_BASE64_H_ // NOLINT
diff --git a/internal/xmpmeta/file.cc b/internal/xmpmeta/file.cc
index 5559219..621323c 100644
--- a/internal/xmpmeta/file.cc
+++ b/internal/xmpmeta/file.cc
@@ -3,7 +3,8 @@
#include <cstdio>
#include "android-base/logging.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
using std::string;
@@ -56,4 +57,5 @@ string JoinPath(const string& dirname, const string& basename) {
}
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/file.h b/internal/xmpmeta/file.h
index 43410b8..f6f8423 100644
--- a/internal/xmpmeta/file.h
+++ b/internal/xmpmeta/file.h
@@ -3,7 +3,8 @@
#include <string>
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
void WriteStringToFileOrDie(const std::string &data,
const std::string &filename);
@@ -13,6 +14,7 @@ void ReadFileToStringOrDie(const std::string &filename, std::string *data);
// absolute path then JoinPath ignores dirname and simply returns basename.
std::string JoinPath(const std::string &dirname, const std::string &basename);
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_FILE_H_ // NOLINT
diff --git a/internal/xmpmeta/jpeg_io.cc b/internal/xmpmeta/jpeg_io.cc
index 5464cb8..385195e 100644
--- a/internal/xmpmeta/jpeg_io.cc
+++ b/internal/xmpmeta/jpeg_io.cc
@@ -5,7 +5,8 @@
#include "android-base/logging.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
// File markers.
@@ -191,4 +192,5 @@ void WriteSections(const std::vector<Section>& sections,
}
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/md5.cc b/internal/xmpmeta/md5.cc
index 8c44267..8ee5e1b 100644
--- a/internal/xmpmeta/md5.cc
+++ b/internal/xmpmeta/md5.cc
@@ -7,7 +7,8 @@
#include "base/integral_types.h"
#include "strings/escaping.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const int kMd5DigestSize = 16;
@@ -134,7 +135,8 @@ void MD5Final(uint8 digest[16], MD5Context* ctx) {
// The core of the MD5 algorithm, this alters an existing MD5 hash to
// reflect the addition of 16 longwords of new data. MD5Update blocks
// the data and converts bytes into longwords for this routine.
-DDEPTH_NO_UNSIGNED_OVERFLOW_CHECK void MD5Transform(uint32 buf[4], const uint32 in[16]) {
+DDEPTH_NO_UNSIGNED_OVERFLOW_CHECK void MD5Transform(uint32 buf[4],
+ const uint32 in[16]) {
uint32 a = buf[0];
uint32 b = buf[1];
uint32 c = buf[2];
@@ -231,4 +233,5 @@ string MD5Hash(const string& to_hash) {
kMd5DigestSize);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/const.cc b/internal/xmpmeta/xml/const.cc
index 8f0eb5c..5af3c16 100644
--- a/internal/xmpmeta/xml/const.cc
+++ b/internal/xmpmeta/xml/const.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xml/const.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
const char* XmlConst::EncodingStr() { return "UTF-8"; }
@@ -30,4 +31,5 @@ const char* XmlConst::Separator() { return ":"; }
const char* XmlConst::Version() { return "1.0"; }
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/const.h b/internal/xmpmeta/xml/const.h
index 8a8a056..8a1998a 100644
--- a/internal/xmpmeta/xml/const.h
+++ b/internal/xmpmeta/xml/const.h
@@ -1,7 +1,8 @@
#ifndef DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
#define DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
struct XmlConst {
@@ -24,6 +25,7 @@ struct XmlConst {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_CONST_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/deserializer.h b/internal/xmpmeta/xml/deserializer.h
index e717950..4624e1f 100644
--- a/internal/xmpmeta/xml/deserializer.h
+++ b/internal/xmpmeta/xml/deserializer.h
@@ -8,7 +8,8 @@
#include "base/integral_types.h"
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Performs deserialization.
@@ -60,6 +61,7 @@ class Deserializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_DESERIALIZER_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/deserializer_impl.cc b/internal/xmpmeta/xml/deserializer_impl.cc
index 6214a0c..eb44d38 100644
--- a/internal/xmpmeta/xml/deserializer_impl.cc
+++ b/internal/xmpmeta/xml/deserializer_impl.cc
@@ -11,7 +11,8 @@
#include "xmpmeta/xml/utils.h"
#include "xmpmeta/xmp_parser.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
namespace {
@@ -63,7 +64,6 @@ bool GetStringProperty(const xmlNodePtr node, const string& prefix,
return true;
}
}
- LOG(WARNING) << "Could not find string attribute: " << property;
return false;
}
@@ -318,4 +318,5 @@ bool DeserializerImpl::ParseDoubleArray(const string& prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/deserializer_impl.h b/internal/xmpmeta/xml/deserializer_impl.h
index 65df2d6..426dcea 100644
--- a/internal/xmpmeta/xml/deserializer_impl.h
+++ b/internal/xmpmeta/xml/deserializer_impl.h
@@ -10,7 +10,8 @@
#include "base/port.h"
#include "xmpmeta/xml/deserializer.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Deserializes an XML node.
@@ -88,6 +89,7 @@ class DeserializerImpl : public Deserializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_DESERIALIZER_IMPL_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/search.cc b/internal/xmpmeta/xml/search.cc
index ca2e45c..c4fe8f9 100644
--- a/internal/xmpmeta/xml/search.cc
+++ b/internal/xmpmeta/xml/search.cc
@@ -6,9 +6,10 @@
#include "android-base/logging.h"
#include "xmpmeta/xml/utils.h"
-using photos_editing_formats::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
xmlNodePtr DepthFirstSearch(const xmlDocPtr parent, const char* name) {
@@ -70,4 +71,5 @@ xmlNodePtr DepthFirstSearch(const xmlNodePtr parent, const char* prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/search.h b/internal/xmpmeta/xml/search.h
index c420661..e32e272 100644
--- a/internal/xmpmeta/xml/search.h
+++ b/internal/xmpmeta/xml/search.h
@@ -4,7 +4,8 @@
#include <libxml/tree.h>
// Performs searches an XML tree.
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Depth-first search on the nodes in this XML doc.
@@ -31,6 +32,7 @@ xmlNodePtr DepthFirstSearch(const xmlNodePtr parent, const char* prefix,
const char* name);
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SEARCH_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/serializer.h b/internal/xmpmeta/xml/serializer.h
index 9d35ad8..62f36f7 100644
--- a/internal/xmpmeta/xml/serializer.h
+++ b/internal/xmpmeta/xml/serializer.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Serializes properties for a hierarchy of objects.
@@ -71,6 +72,7 @@ class Serializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SERIALIZER_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/serializer_impl.cc b/internal/xmpmeta/xml/serializer_impl.cc
index c8a6038..0601d79 100644
--- a/internal/xmpmeta/xml/serializer_impl.cc
+++ b/internal/xmpmeta/xml/serializer_impl.cc
@@ -8,7 +8,8 @@
#include "xmpmeta/xml/const.h"
#include "xmpmeta/xml/utils.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Methods specific to SerializerImpl.
@@ -244,4 +245,5 @@ bool SerializerImpl::WriteDoubleArray(const string& prefix,
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/serializer_impl.h b/internal/xmpmeta/xml/serializer_impl.h
index 78131c5..fb53bec 100644
--- a/internal/xmpmeta/xml/serializer_impl.h
+++ b/internal/xmpmeta/xml/serializer_impl.h
@@ -8,7 +8,8 @@
#include "xmpmeta/xml/serializer.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Writes properties, lists, and child nodes into an XML structure.
@@ -172,6 +173,7 @@ class SerializerImpl : public Serializer {
};
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_SERIALIZER_IMPL_H_ // NOLINT
diff --git a/internal/xmpmeta/xml/utils.cc b/internal/xmpmeta/xml/utils.cc
index 87bf0b1..04721db 100644
--- a/internal/xmpmeta/xml/utils.cc
+++ b/internal/xmpmeta/xml/utils.cc
@@ -5,7 +5,8 @@
#include "xmpmeta/xml/const.h"
#include "xmpmeta/xml/search.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
xmlNodePtr GetFirstDescriptionElement(const xmlDocPtr parent) {
@@ -74,4 +75,5 @@ const string XmlDocToString(const xmlDocPtr doc) {
}
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xml/utils.h b/internal/xmpmeta/xml/utils.h
index f0f99e3..4995369 100644
--- a/internal/xmpmeta/xml/utils.h
+++ b/internal/xmpmeta/xml/utils.h
@@ -7,7 +7,8 @@
#include "base/port.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace xml {
// Convenience function to convert an xmlChar* to a char*
@@ -49,6 +50,7 @@ const string GetLiNodeContent(xmlNodePtr node);
const string XmlDocToString(const xmlDocPtr doc);
} // namespace xml
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
#endif // DYNAMIC_DEPTH_INTERNAL_XMPMETA_XML_UTILS_H_ // NOLINT
diff --git a/internal/xmpmeta/xmp_const.cc b/internal/xmpmeta/xmp_const.cc
index 69fc3a9..003d2d1 100644
--- a/internal/xmpmeta/xmp_const.cc
+++ b/internal/xmpmeta/xmp_const.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xmp_const.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
// XMP namespace constants.
const char* XmpConst::Namespace() { return "adobe:ns:meta/"; }
@@ -35,4 +36,5 @@ const int XmpConst::MaxBufferSize() { return 65502; }
const int XmpConst::ExtendedMaxBufferSize() { return 65458; }
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_data.cc b/internal/xmpmeta/xmp_data.cc
index 046052b..45ad585 100644
--- a/internal/xmpmeta/xmp_data.cc
+++ b/internal/xmpmeta/xmp_data.cc
@@ -1,6 +1,7 @@
#include "xmpmeta/xmp_data.h"
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
XmpData::XmpData() : xmp_(nullptr), xmp_extended_(nullptr) {}
@@ -25,4 +26,5 @@ const xmlDocPtr XmpData::ExtendedSection() const { return xmp_extended_; }
xmlDocPtr* XmpData::MutableExtendedSection() { return &xmp_extended_; }
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_parser.cc b/internal/xmpmeta/xmp_parser.cc
index 4ce8991..a0065fd 100644
--- a/internal/xmpmeta/xmp_parser.cc
+++ b/internal/xmpmeta/xmp_parser.cc
@@ -16,12 +16,13 @@
#include "xmpmeta/xml/utils.h"
#include "xmpmeta/xmp_const.h"
-using photos_editing_formats::xml::DepthFirstSearch;
-using photos_editing_formats::xml::DeserializerImpl;
-using photos_editing_formats::xml::FromXmlChar;
-using photos_editing_formats::xml::GetFirstDescriptionElement;
+using ::dynamic_depth::xmpmeta::xml::DepthFirstSearch;
+using ::dynamic_depth::xmpmeta::xml::DeserializerImpl;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::GetFirstDescriptionElement;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const char kJpgExtension[] = "jpg";
@@ -235,7 +236,6 @@ bool GetStringProperty(const xmlNodePtr node, const char* prefix,
return true;
}
}
- LOG(WARNING) << "Could not find string attribute: " << property;
return false;
}
@@ -330,4 +330,5 @@ bool ReadXmpHeader(std::istream* input_stream, bool skip_extended,
return ExtractXmpMeta(skip_extended, input_stream, xmp_data);
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth
diff --git a/internal/xmpmeta/xmp_writer.cc b/internal/xmpmeta/xmp_writer.cc
index 73e5a65..fc78ad1 100644
--- a/internal/xmpmeta/xmp_writer.cc
+++ b/internal/xmpmeta/xmp_writer.cc
@@ -18,11 +18,13 @@
#include "xmpmeta/xmp_data.h"
#include "xmpmeta/xmp_parser.h"
-using photos_editing_formats::xml::FromXmlChar;
-using photos_editing_formats::xml::ToXmlChar;
-using photos_editing_formats::xml::XmlConst;
+using ::dynamic_depth::xmpmeta::xml::FromXmlChar;
+using ::dynamic_depth::xmpmeta::xml::GetFirstDescriptionElement;
+using ::dynamic_depth::xmpmeta::xml::ToXmlChar;
+using ::dynamic_depth::xmpmeta::xml::XmlConst;
-namespace photos_editing_formats {
+namespace dynamic_depth {
+namespace xmpmeta {
namespace {
const char kXmlStartTag = '<';
@@ -249,8 +251,7 @@ bool UpdateSections(const string& main_buffer, const string& extended_buffer,
void LinkXmpStandardAndExtendedSections(const string& extended_buffer,
xmlDocPtr standard_section) {
- xmlNodePtr description_node =
- xml::GetFirstDescriptionElement(standard_section);
+ xmlNodePtr description_node = GetFirstDescriptionElement(standard_section);
xmlNsPtr xmp_note_ns_ptr =
xmlNewNs(description_node, ToXmlChar(XmpConst::NoteNamespace()),
ToXmlChar(XmpConst::HasExtensionPrefix()));
@@ -277,15 +278,15 @@ bool WriteLeftEyeAndXmpMeta(const string& left_data, const string& filename,
std::istringstream input_jpeg_stream(left_data);
std::ofstream output_jpeg_stream;
output_jpeg_stream.open(filename, std::ostream::out);
- bool success = WriteLeftEyeAndXmpMeta(filename, xmp_data, &input_jpeg_stream,
- &output_jpeg_stream);
+ bool success =
+ WriteLeftEyeAndXmpMeta(xmp_data, &input_jpeg_stream, &output_jpeg_stream);
output_jpeg_stream.close();
return success;
}
-bool WriteLeftEyeAndXmpMeta(const string& filename, const XmpData& xmp_data,
- std::istringstream* input_jpeg_stream,
- std::ofstream* output_jpeg_stream) {
+bool WriteLeftEyeAndXmpMeta(const XmpData& xmp_data,
+ std::istream* input_jpeg_stream,
+ std::ostream* output_jpeg_stream) {
if (input_jpeg_stream == nullptr || output_jpeg_stream == nullptr) {
LOG(ERROR) << "Input and output streams must both be non-null";
return false;
@@ -311,40 +312,9 @@ bool WriteLeftEyeAndXmpMeta(const string& filename, const XmpData& xmp_data,
return false;
}
- // Write the sections to the output stream.
- if (!output_jpeg_stream->is_open()) {
- output_jpeg_stream->open(filename, std::ostream::out);
- }
-
- WriteSections(sections, output_jpeg_stream);
- return true;
-}
-
-bool AddXmpMetaToJpegStream(std::istream* input_jpeg_stream,
- const XmpData& xmp_data,
- std::ostream* output_jpeg_stream) {
- // Get a list of sections from the input stream.
- ParseOptions parse_options;
- std::vector<Section> sections = Parse(parse_options, input_jpeg_stream);
-
- string extended_buffer;
- if (xmp_data.ExtendedSection() != nullptr) {
- SerializeMeta(xmp_data.ExtendedSection(), &extended_buffer);
- LinkXmpStandardAndExtendedSections(extended_buffer,
- xmp_data.StandardSection());
- }
- string main_buffer;
- SerializeMeta(xmp_data.StandardSection(), &main_buffer);
-
- // Update the input sections with the XMP data.
- if (!XmpSectionsAndSerializedDataValid(xmp_data, main_buffer,
- extended_buffer) ||
- !UpdateSections(main_buffer, extended_buffer, &sections)) {
- return false;
- }
-
WriteSections(sections, output_jpeg_stream);
return true;
}
-} // namespace photos_editing_formats
+} // namespace xmpmeta
+} // namespace dynamic_depth