From d920dbed88809a35baeef85d2609715876898b4c Mon Sep 17 00:00:00 2001 From: Nicolas Pope <nwpope@utu.fi> Date: Fri, 9 Aug 2019 12:37:22 +0300 Subject: [PATCH] Fixes for multiple buffer swaps --- components/rgbd-sources/include/ftl/rgbd/source.hpp | 2 +- components/rgbd-sources/src/source.cpp | 11 +++++++---- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/components/rgbd-sources/include/ftl/rgbd/source.hpp b/components/rgbd-sources/include/ftl/rgbd/source.hpp index 694f3f2ea..55cb8554e 100644 --- a/components/rgbd-sources/include/ftl/rgbd/source.hpp +++ b/components/rgbd-sources/include/ftl/rgbd/source.hpp @@ -76,7 +76,7 @@ class Source : public ftl::Configurable { /** * Between frames, do any required buffer swaps. */ - void swap() { if (impl_) impl_->swap(); LOG(INFO) << "SWAP SV " << timestamp_; } + void swap() { if (impl_) impl_->swap(); } /** * Do any post-grab processing. This function diff --git a/components/rgbd-sources/src/source.cpp b/components/rgbd-sources/src/source.cpp index 913fe4acb..c5efd26fc 100644 --- a/components/rgbd-sources/src/source.cpp +++ b/components/rgbd-sources/src/source.cpp @@ -244,7 +244,7 @@ bool Source::compute(int N, int B) { return true; } else if (impl_ && impl_->compute(N,B)) { timestamp_ = impl_->timestamp_; - cv::Mat tmp; + /*cv::Mat tmp; rgb_.create(impl_->rgb_.size(), impl_->rgb_.type()); depth_.create(impl_->depth_.size(), impl_->depth_.type()); tmp = rgb_; @@ -252,10 +252,13 @@ bool Source::compute(int N, int B) { impl_->rgb_ = tmp; tmp = depth_; depth_ = impl_->depth_; - impl_->depth_ = tmp; + impl_->depth_ = tmp;*/ - //impl_->rgb_.copyTo(rgb_); - //impl_->depth_.copyTo(depth_); + // TODO:(Nick) Reduce buffer copies + impl_->rgb_.copyTo(rgb_); + impl_->depth_.copyTo(depth_); + //rgb_ = impl_->rgb_; + //depth_ = impl_->depth_; return true; } return false; -- GitLab