9 #ifndef __NVROSIMGPIPELINE_H_
10 #define __NVROSIMGPIPELINE_H_
16 #include "nvmedia_isp.h"
22 #include "nvros_egl_utils/nvros_egl_utils.h"
27 #define MAX_AGGREGATE_IMAGES 4
28 #define MAX_STRING_SIZE 256
29 #define IMAGE_BUFFERS_POOL_SIZE 3
30 #define CAMERA_PORTS 4
100 NvMediaISPSelect ispSelect;
101 unsigned int surfaceAttr;
102 unsigned int outputWidth;
103 unsigned int outputHeight;
104 unsigned int inputWidth;
105 unsigned int inputHeight;
106 unsigned int ispOutWidth;
107 unsigned int ispOutHeight;
108 unsigned int ispOutColorStd;
111 const char* configFile;
113 unsigned int mCaptureConfigSetsNum;
114 unsigned int cameraGrp;
115 unsigned int numOfCameras;
116 ExtImgDevMapInfo cameraMap;
117 ExtImgDevice* mExtImgDevice;
123 unsigned int rawBytesPerPixel;
156 unsigned int pixelOrder;
158 unsigned int bitsPerPixel;
168 std::thread imgProducerThread;
175 "/tmp/nvros_cam_0_0",
176 "/tmp/nvros_cam_0_1",
177 "/tmp/nvros_cam_0_2",
182 "/tmp/nvros_cam_1_0",
183 "/tmp/nvros_cam_1_1",
184 "/tmp/nvros_cam_1_2",
189 "/tmp/nvros_cam_2_0",
190 "/tmp/nvros_cam_2_1",
191 "/tmp/nvros_cam_2_2",
197 "/tmp/nvros_cam_3_0",
198 "/tmp/nvros_cam_3_1",
199 "/tmp/nvros_cam_3_2",
206 bool shutdownPipeline;
209 const char* GetCaptureConfigFile();
210 const char* GetEglStreamSocketPath();
215 NvRosErr CreateSensorControlComponent();
218 NvRosErr CreateControlAlgoComponent();
220 NvRosErr AddComponentsIntoPipeline();
250 const unsigned int cameras);
308 #endif // __NVROSIMGPIPELINE_H_
#define NvMediaSurfaceType
Defines the set of NvMedia surface types.
void NvMediaIPPManager
A handle representing IPP manager object.
void NvMediaIPPPipeline
A handle representing IPP pipeline object.
char inputFormat[MAX_STRING_SIZE]
Class to initialize the EGLStream for the following roles: EGLOUTPUT_CONSUMER, CUDA_CONSUMER, CUDA_PRODUCER, IMAGE_PRODUCER.
EGLStream in mailbox mode.
Holds configuration parameters for capturing image frames.
char interface[MAX_STRING_SIZE]
NvRosErr InitPipeline()
Initializes the NvRosImgPipeline which internally initializes the NvMediaIPPPipeline.
char description[MAX_STRING_SIZE]
unsigned int embeddedDataLinesBottom
unsigned int brdcstSensorAddr
struct NvMediaDevice NvMediaDevice
An opaque handle representing an NvMediaDevice object.
unsigned int serAddr[MAX_AGGREGATE_IMAGES]
#define MAX_AGGREGATE_IMAGES
struct nvros::_CaptureConfigParams CaptureConfigParams
Holds configuration parameters for capturing image frames.
void NvMediaIPPComponent
A handle representing an IPP component object.
#define NVMEDIA_MAX_PIPELINES_PER_MANAGER
Maximum number of IPP pipelines in IPP manager.
Creates image capture pipelines for NvROS on the NVIDIA DRIVE⢠AGX platform through AR0231 imaging s...
NvRosErr ShutdownPipeline()
Shuts down the NvRosImgPipeline and uninitializes all settings prior to starting the pipeline...
char resolution[MAX_STRING_SIZE]
char board[MAX_STRING_SIZE]
Holds required window system related parameters when initializing EGLStream.
#define NVMEDIA_MAX_COMPONENTS_PER_PIPELINE
Maximum number of IPP components in IPP pipeline.
NvRosErr SetCaptureConfig(const char *cfgFilePath, const unsigned int camGrp, const unsigned int cameras)
Sets the configuration parameters for an image capture pipeline and must be called first after the Nv...
unsigned int e2pAddr[MAX_AGGREGATE_IMAGES]
NvRosErr StartPipeline()
Starts the NvRosImgPipeline and must be called after SetCaptureConfig and InitPipeline.
NvRosErr StopPipeline()
Stops the NvRosImgPipeline put into execution by StartPipeline.
enum nvros::_NvRosErrCode NvRosErr
Declares error codes for all NvROS modules and packages.
char name[MAX_STRING_SIZE]
unsigned int embeddedDataLinesTop
char surfaceFormat[MAX_STRING_SIZE]
Holds EGL related parameters.
char inputDevice[MAX_STRING_SIZE]
NVIDIA Robot Operating System : Common Enums, Macros, and Constants
unsigned int brdcstSerAddr
unsigned int e2pPhysicalAddr
unsigned int sensorAddr[MAX_AGGREGATE_IMAGES]