NVIDIA DRIVE OS Linux SDK API Reference

5.1.12.0 Release

 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 = 1u;
55  static constexpr std::uint32_t MINOR_VER = 0u;
56  static constexpr std::uint32_t PATCH_VER = 0u;
64  struct Version
65  {
66  std::uint32_t uMajor = MAJOR_VER;
67  std::uint32_t uMinor = MINOR_VER;
68  std::uint32_t uPatch = PATCH_VER;
69  };
70 
76  static void GetVersion(Version& version);
77 
87  static std::unique_ptr <INvSIPLQuery> GetInstance(void);
88 
94  virtual SIPLStatus ParseDatabase(void) = 0;
95 
106  virtual SIPLStatus ParseJsonFile(std::string fileName) = 0;
107 
113  const virtual DeviceInfoList* GetDeviceInfoList() const = 0;
114 
120  virtual std::vector <const PlatformCfg*> GetPlatformCfgList() const = 0;
121 
126  virtual SIPLStatus GetPlatformCfg(std::string name,
127  PlatformCfg& oConfig) const = 0;
128 
136  {
137  LINK_0 = 0x0001,
138  LINK_1 = 0x0010,
139  LINK_2 = 0x0100,
140  LINK_3 = 0x1000
141  };
142 
154  virtual SIPLStatus ApplyMask(PlatformCfg& platCfg,
155  const std::vector <std::uint32_t>& vMasks) const = 0;
156 
158  virtual ~INvSIPLQuery() = default;
159 
160 }; //INvSIPLQuery
161 
164 }// namespace nvsipl
165 
166 
167 
168 #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:68
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:67
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 NvSIPLQuery_API.
Definition: NvSIPLQuery.hpp:64
std::uint32_t uMajor
Holds a major revision.
Definition: NvSIPLQuery.hpp:66