// Copyright (c) 2012-2017 VideoStitch SAS // Copyright (c) 2018 stitchEm #include "diffImageMerger.hpp" #include "imageMapping.hpp" #include "gpu/core1/mergerKernel.hpp" #include "parse/json.hpp" #include "libvideostitch/ptv.hpp" namespace VideoStitch { namespace Core { Potential<ImageMerger> DiffImageMerger::Factory::create(const PanoDefinition& pano, ImageMapping& fromIm, const ImageMerger* to, bool) const { return Potential<ImageMerger>(new DiffImageMerger(pano, fromIm, to)); } ImageMergerFactory* DiffImageMerger::Factory::clone() const { return new Factory(); } Ptv::Value* Core::DiffImageMerger::Factory::serialize() const { Ptv::Value* res = Ptv::Value::emptyObject(); res->push("type", new Parse::JsonValue("diff")); return res; } DiffImageMerger::DiffImageMerger(const PanoDefinition& /*pano*/, ImageMapping& fromIm, const ImageMerger* to) : ImageMerger(fromIm.getImId(), to) {} DiffImageMerger::~DiffImageMerger() {} std::string DiffImageMerger::Factory::hash() const { return "v1_DiffImageMerger"; } Status DiffImageMerger::mergeAsync(TextureTarget t, const PanoDefinition& pano, GPU::Buffer<uint32_t> pbo, GPU::UniqueBuffer<uint32_t>&, const ImageMapping& fromIm, bool, GPU::Stream stream) const { return stitchingError(t, pano, pbo, fromIm, stream); } Status DiffImageMerger::reconstruct(TextureTarget, const PanoDefinition& pano, GPU::Buffer<uint32_t> panoDevOut, bool, GPU::Stream stream) const { return amplitude(pano, panoDevOut, stream); } } // namespace Core } // namespace VideoStitch