NVIDIA DRIVE OS Linux API Reference

5.1.0.2 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 = 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