NVIDIA DRIVE OS Linux SDK API Reference

6.0.10.0 Release
INvSiplControlAuto.hpp
Go to the documentation of this file.
1 /*
2  * SPDX-FileCopyrightText: Copyright (c) 2020-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
3  * SPDX-License-Identifier: LicenseRef-NvidiaProprietary
4  *
5  * NVIDIA CORPORATION, its affiliates and licensors retain all intellectual
6  * property and proprietary rights in and to this material, related
7  * documentation and any modifications thereto. Any use, reproduction,
8  * disclosure or distribution of this material and related documentation
9  * without an express license agreement from NVIDIA CORPORATION or
10  * its affiliates is strictly prohibited.
11  */
12 
13 /* NVIDIA SIPL Control Auto Interface */
14 
15 #ifndef NVSIPLCONTROLAUTOINTERFACE_HPP
16 #define NVSIPLCONTROLAUTOINTERFACE_HPP
17 
18 
19 #include "NvSIPLCommon.hpp"
20 #include "NvSiplControlAutoDef.hpp"
21 
35 namespace nvsipl
36 {
37 
47 
48 public:
81  virtual SIPLStatus Process(const SiplControlAutoInputParam& inParams,
82  SiplControlAutoOutputParam& outParams) = 0;
83 
118  virtual SIPLStatus GetNoiseProfile(const SiplControlEmbedInfo& currFrameEmbedInfo,
119  const uint32_t maxSupportedNoiseProfiles,
120  uint32_t& noiseProfile) {
121  static_cast<void>(currFrameEmbedInfo);
122  static_cast<void>(maxSupportedNoiseProfiles);
123  noiseProfile = 0U;
124  return NVSIPL_STATUS_OK;
125  }
126 
156  virtual SIPLStatus Reset() {
158  }
159 
161  virtual ~ISiplControlAuto() = default;
162 
163 protected:
165  ISiplControlAuto() = default;
166 
167 private:
168 
170  ISiplControlAuto(ISiplControlAuto const &) = delete;
172  ISiplControlAuto& operator= (ISiplControlAuto const &) & = delete;
173 
175  ISiplControlAuto(ISiplControlAuto &&) = delete;
177  ISiplControlAuto& operator= (ISiplControlAuto &&) & = delete;
178 };
179 
182 } // namespace nvsipl
183 
184 #endif // NVSIPLCONTROLAUTOINTERFACE_HPP
nvsipl::NVSIPL_STATUS_NOT_SUPPORTED
@ NVSIPL_STATUS_NOT_SUPPORTED
Indicates an unsupported operation or argument was encountered.
Definition: NvSIPLCommon.hpp:163
NvSIPLCommon.hpp
NVIDIA SIPL: Common Data Structures - SIPL
nvsipl::NVSIPL_STATUS_OK
@ NVSIPL_STATUS_OK
Indicates the operation completed successfully without errors.
Definition: NvSIPLCommon.hpp:157
nvsipl::SiplControlAutoOutputParam
AE/AWB Output parameters.
Definition: NvSIPLControlAutoDef.hpp:233
nvsipl::ISiplControlAuto::Reset
virtual SIPLStatus Reset()
Function to reset to the state right after initialization.
Definition: INvSiplControlAuto.hpp:156
nvsipl::ISiplControlAuto::~ISiplControlAuto
virtual ~ISiplControlAuto()=default
SIPL Control Auto Interface class default destructor.
nvsipl::SIPLStatus
SIPLStatus
Defines the status codes returned by functions in SIPL modules.
Definition: NvSIPLCommon.hpp:152
nvsipl::SiplControlAutoInputParam
Input parameters for processing AE/AWB.
Definition: NvSIPLControlAutoDef.hpp:211
nvsipl::SiplControlEmbedInfo
Parsed frame embedded information.
Definition: NvSIPLControlAutoDef.hpp:72
nvsipl::ISiplControlAuto::GetNoiseProfile
virtual SIPLStatus GetNoiseProfile(const SiplControlEmbedInfo &currFrameEmbedInfo, const uint32_t maxSupportedNoiseProfiles, uint32_t &noiseProfile)
Function to get noise profile from captured frame embedded data.
Definition: INvSiplControlAuto.hpp:118
nvsipl
Contains the classes and variables for implementation of SIPL.
Definition: INvSiplControlAuto.hpp:35
nvsipl::ISiplControlAuto::ISiplControlAuto
ISiplControlAuto()=default
SIPL Control Auto Interface class default constructor.
nvsipl::ISiplControlAuto
Defines SIPL Control Auto Interface Class.
Definition: INvSiplControlAuto.hpp:46
nvsipl::ISiplControlAuto::Process
virtual SIPLStatus Process(const SiplControlAutoInputParam &inParams, SiplControlAutoOutputParam &outParams)=0
Function to process auto (AE-AWB) algorithm.