MCPcopy Create free account
hub / github.com/CVCUDA/CV-CUDA / runGuard

Function runGuard

python/mod_cvcuda/operators/OpBrightnessContrast.cpp:51–75  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

49
50template<typename Op, typename Src, typename Dst, typename Call>
51auto runGuard(Op &op, Src &src, Dst &dst, std::optional<Tensor> &brightness, std::optional<Tensor> &contrast,
52 std::optional<Tensor> &brightnessShift, std::optional<Tensor> &contrastCenter,
53 std::optional<Stream> &pstream, Call &&call)
54{
55 if (!pstream)
56 {
57 pstream = Stream::Current();
58 }
59
60 ResourceGuard guard(*pstream);
61 guard.add(LockMode::LOCK_MODE_READ, {src});
62 for (auto &arg : {brightness, contrast, brightnessShift, contrastCenter})
63 {
64 if (arg)
65 {
66 guard.add(LockMode::LOCK_MODE_READ, {*arg});
67 }
68 }
69 guard.add(LockMode::LOCK_MODE_WRITE, {dst});
70 guard.add(LockMode::LOCK_MODE_NONE, {*op});
71
72 call(*pstream, brightness ? *brightness : nvcv::Tensor{nullptr}, contrast ? *contrast : nvcv::Tensor{nullptr},
73 brightnessShift ? *brightnessShift : nvcv::Tensor{nullptr},
74 contrastCenter ? *contrastCenter : nvcv::Tensor{nullptr});
75}
76
77Tensor BrightnessContrastInto(Tensor &dst, Tensor &src, std::optional<Tensor> &brightness,
78 std::optional<Tensor> &contrast, std::optional<Tensor> &brightnessShift,

Callers 2

BrightnessContrastIntoFunction · 0.70

Calls 1

addMethod · 0.45

Tested by

no test coverage detected