use functions for context access instead of member access

pull/3471/head
kallaballa 2 years ago
parent 75b9730876
commit f72cdf6320
  1. 18
      modules/v4d/src/detail/clvacontext.cpp

@ -16,27 +16,33 @@ CLVAContext::CLVAContext(FrameBufferContext& mainFbContext) : mainFbContext_(mai
bool CLVAContext::capture(std::function<void(cv::UMat&)> fn, cv::UMat& output) { bool CLVAContext::capture(std::function<void(cv::UMat&)> fn, cv::UMat& output) {
cv::Size fbSize = mainFbContext_.size(); cv::Size fbSize = mainFbContext_.size();
#ifndef __EMSCRIPTEN__ #ifndef __EMSCRIPTEN__
if (!context_.empty()) { if (hasContext()) {
CLExecScope_t scope(context_); CLExecScope_t scope(getCLExecContext());
#endif #endif
fn(readFrame_); fn(readFrame_);
if (readFrame_.empty())
return false;
resizePreserveAspectRatio(readFrame_, readRGBBuffer_, mainFbContext_.size());
cv::cvtColor(readRGBBuffer_, output, cv::COLOR_RGB2BGRA);
#ifndef __EMSCRIPTEN__ #ifndef __EMSCRIPTEN__
} else { } else {
CLExecScope_t scope(mainFbContext_.getCLExecContext());
readFrame_ = cv::UMat();
fn(readFrame_); fn(readFrame_);
}
#endif
if (readFrame_.empty()) if (readFrame_.empty())
return false; return false;
resizePreserveAspectRatio(readFrame_, readRGBBuffer_, mainFbContext_.size()); resizePreserveAspectRatio(readFrame_, readRGBBuffer_, mainFbContext_.size());
cv::cvtColor(readRGBBuffer_, output, cv::COLOR_RGB2BGRA); cv::cvtColor(readRGBBuffer_, output, cv::COLOR_RGB2BGRA);
}
#endif
return true; return true;
} }
void CLVAContext::write(std::function<void(const cv::UMat&)> fn, cv::UMat& input) { void CLVAContext::write(std::function<void(const cv::UMat&)> fn, cv::UMat& input) {
#ifndef __EMSCRIPTEN__ #ifndef __EMSCRIPTEN__
if (!context_.empty()) { if (hasContext()) {
CLExecScope_t scope(context_); CLExecScope_t scope(getCLExecContext());
#endif #endif
cv::cvtColor(input, writeRGBBuffer_, cv::COLOR_BGRA2RGB); cv::cvtColor(input, writeRGBBuffer_, cv::COLOR_BGRA2RGB);
fn(writeRGBBuffer_); fn(writeRGBBuffer_);

Loading…
Cancel
Save