diff --git a/components/codecs/include/ftl/codecs/bitrates.hpp b/components/codecs/include/ftl/codecs/bitrates.hpp index 4502b7a3b35d00763e187c0b7a4e3e8e29e1236f..fbacb49790577d8d354e9acff69b275834803a1e 100644 --- a/components/codecs/include/ftl/codecs/bitrates.hpp +++ b/components/codecs/include/ftl/codecs/bitrates.hpp @@ -49,7 +49,7 @@ enum struct definition_t : uint8_t { Invalid }; -definition_t findClosestDefinition(int width, int height); +definition_t findDefinition(int width, int height); /** * Get width in pixels of definition. diff --git a/components/codecs/src/bitrates.cpp b/components/codecs/src/bitrates.cpp index 9474054d258208a08cad65b0f7e05df834569cd4..37889f5a55bf0337d1b3b750538587d1cc81f537 100644 --- a/components/codecs/src/bitrates.cpp +++ b/components/codecs/src/bitrates.cpp @@ -50,10 +50,12 @@ int ftl::codecs::getHeight(definition_t d) { return resolutions[static_cast<int>(d)].height; } -definition_t ftl::codecs::findClosestDefinition(int width, int height) { +definition_t ftl::codecs::findDefinition(int width, int height) { int best = 0; + bool smaller = true; + for(const Resolution res : resolutions) { - if ((res.width >= width) && (res.height >= height)) { + if ((res.width == width) && (res.height == height)) { return static_cast<definition_t>(best); } best++; diff --git a/components/codecs/src/encoder.cpp b/components/codecs/src/encoder.cpp index 428f2f49dd15814af3a81d95e1e79cdeb54273aa..7c7f9a35848441597cd4650fc7d8eaf87bdd01e4 100644 --- a/components/codecs/src/encoder.cpp +++ b/components/codecs/src/encoder.cpp @@ -72,7 +72,7 @@ Encoder::~Encoder() { bool Encoder::encode(const cv::cuda::GpuMat &in, preset_t preset, const std::function<void(const ftl::codecs::Packet&)> &cb) { - const definition_t definition = ftl::codecs::findClosestDefinition(in.size().width, in.size().height); + const definition_t definition = ftl::codecs::findDefinition(in.size().width, in.size().height); const bitrate_t bitrate = bitrate_t::High; return encode(in, definition, bitrate, cb); diff --git a/components/rgbd-sources/src/sources/stereovideo/stereovideo.cpp b/components/rgbd-sources/src/sources/stereovideo/stereovideo.cpp index 9a6f6bf302f740478485fadb3dcafd7a90970381..01afccee4134a66a0e20f80cf41ec65c17dd8543 100644 --- a/components/rgbd-sources/src/sources/stereovideo/stereovideo.cpp +++ b/components/rgbd-sources/src/sources/stereovideo/stereovideo.cpp @@ -92,7 +92,7 @@ void StereoVideoSource::init(const string &file) { pipeline_depth_->append<ftl::operators::DiscontinuityMask>("discontinuity_mask"); pipeline_depth_->append<ftl::operators::AggreMLS>("mls"); // Perform MLS (using smoothing channel) - calib_ = ftl::create<Calibrate>(host_, "calibration", depth_size_, stream_); + calib_ = ftl::create<Calibrate>(host_, "calibration", color_size_, stream_); if (!calib_->isCalibrated()) LOG(WARNING) << "Cameras are not calibrated!"; // Generate camera parameters from camera matrix