mirror of
https://github.com/opencv/opencv.git
synced 2025-06-25 05:32:14 +08:00

- desync() is a new (and for now, the only one) intrinsic which splits the graph execution into asynchronous parts when running in Streaming mode; - desync() makes no effect when compiling in Traditional mode; - Added tests on desync() working in various scenarios; - Extended GStreamingExecutor to support desync(); also extended GStreamingCompiled() with a new version of pull() returning a vector of optional values; - Fixed various issues with storing the type information & proper construction callbacks for GArray<> and GOpaque; - Introduced a new infer(Roi,GMat) overload with a sample; - Introduced an internal API for Islands to control fusion procedure (to fuse or not to fuse); - Introduced handleStopStream() callback for island executables; - Added GCompileArgs to metadata of the graph (required for other features).
59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
// This file is part of OpenCV project.
|
|
// It is subject to the license terms in the LICENSE file found in the top-level directory
|
|
// of this distribution and at http://opencv.org/license.html.
|
|
//
|
|
// Copyright (C) 2018 Intel Corporation
|
|
|
|
|
|
#ifndef OPENCV_GAPI_GOBJREF_HPP
|
|
#define OPENCV_GAPI_GOBJREF_HPP
|
|
|
|
#include "opencv2/gapi/util/variant.hpp"
|
|
#include "opencv2/gapi/garg.hpp"
|
|
|
|
namespace cv
|
|
{
|
|
|
|
namespace gimpl
|
|
{
|
|
// HostCtor was there, but then moved to public
|
|
// Redeclare here to avoid changing tons of code
|
|
using HostCtor = cv::detail::HostCtor;
|
|
|
|
using ConstVal = util::variant
|
|
< util::monostate
|
|
, cv::Scalar
|
|
, cv::detail::VectorRef
|
|
>;
|
|
|
|
struct RcDesc
|
|
{
|
|
int id; // id is unique but local to shape
|
|
GShape shape; // pair <id,shape> IS the unique ID
|
|
HostCtor ctor; // FIXME: is it really used here? Or in <Data>?
|
|
|
|
bool operator==(const RcDesc &rhs) const
|
|
{
|
|
// FIXME: ctor is not checked (should be?)
|
|
return id == rhs.id && shape == rhs.shape;
|
|
}
|
|
|
|
bool operator< (const RcDesc &rhs) const
|
|
{
|
|
return (id == rhs.id) ? shape < rhs.shape : id < rhs.id;
|
|
}
|
|
};
|
|
} // gimpl
|
|
|
|
namespace detail
|
|
{
|
|
template<> struct GTypeTraits<cv::gimpl::RcDesc>
|
|
{
|
|
static constexpr const ArgKind kind = ArgKind::GOBJREF;
|
|
};
|
|
}
|
|
|
|
} // cv
|
|
|
|
#endif // OPENCV_GAPI_GOBJREF_HPP
|