// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #pragma once #include "core/buffer.hpp" #include "libvideostitch/input.hpp" #include "libvideostitch/imuData.hpp" #include "libvideostitch/orah/exposureData.hpp" namespace VideoStitch { namespace Input { struct PotentialFrame { Input::ReadStatus status; Core::Buffer frame; }; struct MetadataChunk { std::vector<IMU::Measure> imu; std::vector<std::map<videoreaderid_t, Metadata::Exposure>> exposure; std::vector<std::map<videoreaderid_t, Metadata::WhiteBalance>> whiteBalance; std::vector<std::map<videoreaderid_t, Metadata::ToneCurve>> toneCurve; bool hasExposureData() const { for (const auto& map : exposure) { if (map.size()) { return true; } } for (const auto& map : whiteBalance) { if (map.size()) { return true; } } for (const auto& map : toneCurve) { if (map.size()) { return true; } } return false; } void clear() { imu.clear(); exposure.clear(); whiteBalance.clear(); toneCurve.clear(); } }; } // namespace Input } // namespace VideoStitch