From 7ea912989fba3f7e6360734c2b950603718d5506 Mon Sep 17 00:00:00 2001
From: Nicolas Pope <nwpope@utu.fi>
Date: Thu, 14 May 2020 13:42:52 +0300
Subject: [PATCH] Hack to flip virtual cam when recording

---
 applications/gui/src/camera.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/applications/gui/src/camera.cpp b/applications/gui/src/camera.cpp
index 1ebe9cb4f..f12e38dbb 100644
--- a/applications/gui/src/camera.cpp
+++ b/applications/gui/src/camera.cpp
@@ -7,6 +7,7 @@
 
 #include <opencv2/imgproc.hpp>
 #include <opencv2/imgcodecs.hpp>
+#include <opencv2/cudaarithm.hpp>
 
 #include <ftl/operators/antialiasing.hpp>
 #include <ftl/cuda/normals.hpp>
@@ -426,6 +427,11 @@ void ftl::gui::Camera::_draw(std::vector<ftl::rgbd::FrameSet*> &fss) {
 		//fs2.stale = false;
 		fs2.set(ftl::data::FSFlag::STALE);
 		frame_.swapTo(Channels<0>(Channel::Colour), f);  // Channel::Colour + Channel::Depth
+		if (f.hasChannel(Channel::Colour)) {
+			f.create<cv::cuda::GpuMat>(Channel::Colour2).create(f.get<cv::cuda::GpuMat>(Channel::Colour).size(), f.get<cv::cuda::GpuMat>(Channel::Colour2).type());
+			f.swapChannels(Channel::Colour, Channel::Colour2);
+			cv::cuda::flip(f.get<cv::cuda::GpuMat>(Channel::Colour2), f.get<cv::cuda::GpuMat>(Channel::Colour), 0);
+		}
 		fs2.timestamp = ftl::timer::get_time();
 		fs2.id = 0;
 		record_sender_->post(fs2);
-- 
GitLab