Cleanup
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -43,6 +43,7 @@
|
|||||||
# *.ipr
|
# *.ipr
|
||||||
|
|
||||||
# CMake
|
# CMake
|
||||||
|
cmake-build/
|
||||||
cmake-build-*/
|
cmake-build-*/
|
||||||
|
|
||||||
# Mongo Explorer plugin
|
# Mongo Explorer plugin
|
||||||
|
|||||||
@@ -51,8 +51,9 @@ namespace openVulkanoCpp::AR
|
|||||||
|
|
||||||
ArRecorder::~ArRecorder() = default;
|
ArRecorder::~ArRecorder() = default;
|
||||||
|
|
||||||
void ArRecorder::WriteColorImage(ArFrame* arFrame, MultiPartArchiveWriter* colorWriter, bool highRes)
|
void ArRecorder::WriteColorImage(ArFrame* arFrame, MultiPartArchiveWriter* colorWriter, bool highRes) const
|
||||||
{
|
{
|
||||||
|
BlockProfiler profile("Save AR Frame - Image");
|
||||||
std::string fileName = GetFileName(arFrame->GetFrameId(), "jpg");
|
std::string fileName = GetFileName(arFrame->GetFrameId(), "jpg");
|
||||||
#ifndef TURBO_JPEG
|
#ifndef TURBO_JPEG
|
||||||
if (arFrame->GetCameraImageAsJpeg([&fileName, this](const char* data, size_t len){ m_colorWriter->AddFile(fileName.c_str(), data, len); }))
|
if (arFrame->GetCameraImageAsJpeg([&fileName, this](const char* data, size_t len){ m_colorWriter->AddFile(fileName.c_str(), data, len); }))
|
||||||
@@ -101,6 +102,7 @@ namespace openVulkanoCpp::AR
|
|||||||
|
|
||||||
void ArRecorder::WriteDepthImage(ArFrame* arFrame, MultiPartArchiveWriter* depthWriter, MultiPartArchiveWriter* confWriter)
|
void ArRecorder::WriteDepthImage(ArFrame* arFrame, MultiPartArchiveWriter* depthWriter, MultiPartArchiveWriter* confWriter)
|
||||||
{
|
{
|
||||||
|
//BlockProfiler profile("Save AR Frame - Depth");
|
||||||
if (!m_depthWriter || !m_confidenceWriter) return;
|
if (!m_depthWriter || !m_confidenceWriter) return;
|
||||||
auto depthImg = arFrame->GetDepthImage();
|
auto depthImg = arFrame->GetDepthImage();
|
||||||
std::vector<std::pair<const void*, size_t>> buffers(2);
|
std::vector<std::pair<const void*, size_t>> buffers(2);
|
||||||
@@ -131,28 +133,25 @@ namespace openVulkanoCpp::AR
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ArRecorder::WriteMetadata(ArFrame* frame, MultiPartArchiveWriter* metaWriter)
|
||||||
|
{
|
||||||
|
BlockProfiler profileMeta("Save AR Frame - Meta");
|
||||||
|
std::string metaContent = frame->GetFrameMetadata().ToXML();
|
||||||
|
std::string fileName = GetFileName(frame->GetFrameId(), "meta");
|
||||||
|
metaWriter->AddFile(fileName.c_str(), metaContent.c_str(), metaContent.size());
|
||||||
|
}
|
||||||
|
|
||||||
void ArRecorder::Write(ArFrame* frame, bool highRes)
|
void ArRecorder::Write(ArFrame* frame, bool highRes)
|
||||||
{
|
{
|
||||||
if (frame->IsSaved()) return;
|
if (frame->IsSaved()) return;
|
||||||
frame->SetSaved();
|
frame->SetSaved();
|
||||||
bool useHighResWriter = highRes && m_settings.highResFramesInSeparateArchive;
|
bool useHighResWriter = highRes && m_settings.highResFramesInSeparateArchive;
|
||||||
BlockProfiler profile("Save AR Frame");
|
BlockProfiler profile("Save AR Frame");
|
||||||
{
|
WriteMetadata(frame, useHighResWriter ? m_highResWriter.get() : m_metadataWriter.get());
|
||||||
BlockProfiler profileMeta("Save AR Frame - Meta");
|
WriteColorImage(frame, useHighResWriter ? m_highResWriter.get() : m_colorWriter.get(), highRes);
|
||||||
std::string metaContent = frame->GetFrameMetadata().ToXML();
|
WriteDepthImage(frame,
|
||||||
std::string fileName = GetFileName(frame->GetFrameId(), "meta");
|
useHighResWriter ? m_highResWriter.get() : m_depthWriter.get(),
|
||||||
(useHighResWriter ? m_highResWriter : m_metadataWriter)->AddFile(fileName.c_str(), metaContent.c_str(), metaContent.size());
|
useHighResWriter ? m_highResWriter.get() : m_confidenceWriter.get());
|
||||||
}
|
|
||||||
{
|
|
||||||
BlockProfiler profile("Save AR Frame - Image");
|
|
||||||
WriteColorImage(frame, useHighResWriter ? m_highResWriter.get() : m_colorWriter.get(), highRes);
|
|
||||||
}
|
|
||||||
{
|
|
||||||
//BlockProfiler profile("Save AR Frame - Depth");
|
|
||||||
WriteDepthImage(frame,
|
|
||||||
useHighResWriter ? m_highResWriter.get() : m_depthWriter.get(),
|
|
||||||
useHighResWriter ? m_highResWriter.get() : m_confidenceWriter.get());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ArRecorder::Start()
|
void ArRecorder::Start()
|
||||||
|
|||||||
@@ -80,7 +80,8 @@ namespace openVulkanoCpp::AR
|
|||||||
AsyncProcessor m_asyncProcessor;
|
AsyncProcessor m_asyncProcessor;
|
||||||
|
|
||||||
void Write(ArFrame* frame, bool highRes = false);
|
void Write(ArFrame* frame, bool highRes = false);
|
||||||
void WriteColorImage(ArFrame* arFrame, MultiPartArchiveWriter* colorWriter, bool highRes);
|
void WriteMetadata(ArFrame* frame, MultiPartArchiveWriter* metaWriter);
|
||||||
|
void WriteColorImage(ArFrame* arFrame, MultiPartArchiveWriter* colorWriter, bool highRes) const;
|
||||||
void WriteDepthImage(ArFrame *arFrame, MultiPartArchiveWriter* depthWriter, MultiPartArchiveWriter* confWriter);
|
void WriteDepthImage(ArFrame *arFrame, MultiPartArchiveWriter* depthWriter, MultiPartArchiveWriter* confWriter);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user