NVIDIA DRIVE OS Linux API Reference

5.1.6.1 Release
For Test and Development only

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
NvSIPLQuery.hpp
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2019, NVIDIA CORPORATION. All rights reserved.
3  *
4  * NVIDIA CORPORATION and its licensors retain all intellectual property
5  * and proprietary rights in and to this software, related documentation
6  * and any modifications thereto. Any use, reproduction, disclosure or
7  * distribution of this software and related documentation without an express
8  * license agreement from NVIDIA CORPORATION is strictly prohibited.
9  */
10 #ifndef _NVSIPLQUERY_HPP_
11 #define _NVSIPLQUERY_HPP_
12 
13 #include "NvSIPLCommon.hpp"
14 #include "NvSIPLPlatformCfg.hpp"
15 
16 #include <string>
17 #include <cstdint>
18 #include <memory>
19 #include <vector>
20 
28 namespace nvsipl
29 {
30 
51 {
52 public:
53 
54  static constexpr std::uint32_t MAJOR_VER = 0u;
55  static constexpr std::uint32_t MINOR_VER = 0u;
56  static constexpr std::uint32_t PATCH_VER = 0u;
59  struct Version
60  {
61  std::uint32_t uMajor = MAJOR_VER;
62  std::uint32_t uMinor = MINOR_VER;
63  std::uint32_t uPatch = PATCH_VER;
64  };
65 
71  static void GetVersion(Version& version);
72 
82  static std::unique_ptr <INvSIPLQuery> GetInstance(void);
83 
89  virtual SIPLStatus ParseDatabase(void) = 0;
90 
101  virtual SIPLStatus ParseJsonFile(std::string fileName) = 0;
102 
108  const virtual DeviceInfoList* GetDeviceInfoList() const = 0;
109 
115  virtual std::vector <const PlatformCfg*> GetPlatformCfgList() const = 0;
116 
121  virtual SIPLStatus GetPlatformCfg(std::string name,
122  PlatformCfg& oConfig) const = 0;
123 
131  {
132  LINK_0 = 0x0001,
133  LINK_1 = 0x0010,
134  LINK_2 = 0x0100,
135  LINK_3 = 0x1000
136  };
137 
149  virtual SIPLStatus ApplyMask(PlatformCfg& platCfg,
150  const std::vector <std::uint32_t>& vMasks) const = 0;
151 
153  virtual ~INvSIPLQuery() = default;
154 
155 }; //INvSIPLQuery
156 
159 }// namespace nvsipl
160 
161 
162 
163 #endif //_NVSIPLQUERY_HPP_
NVIDIA Sensor Input Processing Library: Camera Platform Configuration
virtual SIPLStatus GetPlatformCfg(std::string name, PlatformCfg &oConfig) const =0
Returns a PlatformCfg object by name.
virtual std::vector< const PlatformCfg * > GetPlatformCfgList() const =0
Returns a list of camera platform configurations supported by NvSIPL Query (libnvsipl_query.so) and NvSIPL Camera (libnvsipl.so).
static constexpr std::uint32_t MAJOR_VER
Indicates a major revision.
Definition: NvSIPLQuery.hpp:54
static constexpr std::uint32_t PATCH_VER
Indicates a patch revision.
Definition: NvSIPLQuery.hpp:56
NVIDIA Sensor Input Processing Library: Common Data Structures - Sensor Input Processing Library (SI...
virtual SIPLStatus ParseDatabase(void)=0
Parses the built-in JSON database and updates the internal state of the implementation class...
std::uint32_t uPatch
Holds a patch revision.
Definition: NvSIPLQuery.hpp:63
Defines a list of all external image devices supported by NvSIPL Query (libnvsipl_query.so) and NvSIPL DeviceBlock (libnvsipl_devblk.so).
SIPLStatus
Defines the status codes returned by functions in Sensor Input Processing Library (SIPL) modules...
Defines the camera platform configuration.
static constexpr std::uint32_t MINOR_VER
Indicates a minor revision.
Definition: NvSIPLQuery.hpp:55
virtual ~INvSIPLQuery()=default
Default destructor.
virtual SIPLStatus ParseJsonFile(std::string fileName)=0
Parses the input JSON file containing a list of user-specified camera platform configuration.
Defines the public data structures and describes the interfaces for NvSIPLQuery.
Definition: NvSIPLQuery.hpp:50
std::uint32_t uMinor
Holds a minor revision.
Definition: NvSIPLQuery.hpp:62
virtual SIPLStatus ApplyMask(PlatformCfg &platCfg, const std::vector< std::uint32_t > &vMasks) const =0
Applies masks to the input platform configuration.
static void GetVersion(Version &version)
Returns the library version.
static std::unique_ptr< INvSIPLQuery > GetInstance(void)
Gets a handle to an instance of INvSIPLQuery.
virtual const DeviceInfoList * GetDeviceInfoList() const =0
Returns a pointer to the list of all external image devices supported by NvSIPL Query (libnvsipl_quer...
EnableMask
Defines link enable masks for deserializers.
Defines the version information for libnvsipl_query.so library.
Definition: NvSIPLQuery.hpp:59
std::uint32_t uMajor
Holds a major revision.
Definition: NvSIPLQuery.hpp:61