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
101 NvMediaISPSelect ispSelect;
102 unsigned int surfaceAttr;
103 unsigned int outputWidth;
104 unsigned int outputHeight;
105 unsigned int inputWidth;
106 unsigned int inputHeight;
107 unsigned int ispOutWidth;
108 unsigned int ispOutHeight;
109 unsigned int ispOutColorStd;
113 const char* configFile;
115 unsigned int mCaptureConfigSetsNum;
116 unsigned int cameraGrp;
117 unsigned int numOfCameras;
118 ExtImgDevMapInfo cameraMap;
119 ExtImgDevice* mExtImgDevice;
125 unsigned int rawBytesPerPixel;
158 unsigned int pixelOrder;
160 unsigned int bitsPerPixel;
170 std::thread imgProducerThread;
177 "/tmp/nvros_cam_0_0",
178 "/tmp/nvros_cam_0_1",
179 "/tmp/nvros_cam_0_2",
184 "/tmp/nvros_cam_1_0",
185 "/tmp/nvros_cam_1_1",
186 "/tmp/nvros_cam_1_2",
191 "/tmp/nvros_cam_2_0",
192 "/tmp/nvros_cam_2_1",
193 "/tmp/nvros_cam_2_2",
199 "/tmp/nvros_cam_3_0",
200 "/tmp/nvros_cam_3_1",
201 "/tmp/nvros_cam_3_2",
208 bool shutdownPipeline;
211 const char* GetCaptureConfigFile();
212 const char* GetEglStreamSocketPath();
217 NvRosErr CreateSensorControlComponent();
220 NvRosErr CreateControlAlgoComponent();
222 NvRosErr AddComponentsIntoPipeline();
254 const unsigned int cameras,
const bool yuv);
312 #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.
NvRosErr SetCaptureConfig(const char *cfgFilePath, const unsigned int camGrp, const unsigned int cameras, const bool yuv)
Sets the configuration parameters for an image capture pipeline and must be called first after the Nv...
#define NVMEDIA_MAX_COMPONENTS_PER_PIPELINE
Maximum number of IPP components in IPP pipeline.
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]