9 #ifndef _NVROSEGLUTIL_H_
10 #define _NVROSEGLUTIL_H_
13 #include <EGL/eglext.h>
17 #include "egl_extensions.h"
358 EGLStreamKHR
EglStreamInit(EGLDisplay display,
const char* socket_path);
370 EGLint
GetStreamState(EGLDisplay display, EGLStreamKHR eglStream);
429 typedef struct _EglDeviceState {
430 EGLDeviceEXT egl_dev;
433 uint32_t drm_conn_id;
434 EGLStreamKHR egl_str;
435 EGLOutputLayerEXT egl_lyr;
438 EglDeviceState* eglDeviceState;
446 NvRosErr WindowSystemTerminate(
void);
448 EGLStreamKHR InitConsumerEglStream(EGLDisplay display,
const char* socket_path);
449 EGLStreamKHR InitProducerEglStream(EGLDisplay display,
const char* socket_path);
450 NvRosErr EGLStreamSendFd(
const char* socket_name,
int fd);
451 int EGLStreamReceiveFd(
const char* socket_name);
452 NvRosErr InitEglOutputConsumer(EGLDisplay display, EGLStreamKHR eglStream);
453 NvRosErr InitCudaConsumer(EGLDisplay display, EGLStreamKHR eglStream,
_ConsumerType
Declares all EGL consumer types supported by NvMedia EGLStream library.
struct nvros::_EglUtilState EglUtilState
Holds EGL related parameters.
NvRosErr EglStreamFinish(EGLDisplay display, EGLStreamKHR eglStream)
Closes the EGLStream that is set up by the same NvRosEglUtil object.
enum nvros::_WinSys WinSys
Declares all window systems supported by NvMedia EGLStream library.
uint8_t winOffsetX
Offset of window in the horizontal direction.
_WinSys
Declares all window systems supported by NvMedia EGLStream library.
NvRosEglUtil(ConsumerType cons_type, WinSys win_sys_type, OpMode op_mode)
Instantiates NvRosEglUtil class for the EGL consumer role.
CUcontext context
Handle to the CUDA context.
EGLDisplay display
Handle to the EGLDisplay.
struct nvros::_EglUtilOptions EglUtilOptions
Holds required window system related parameters when initializing EGLStream.
Class to initialize the EGLStream for the following roles: EGLOUTPUT_CONSUMER, CUDA_CONSUMER, CUDA_PRODUCER, IMAGE_PRODUCER.
~NvRosEglUtil()
Destroys NvRosEglUtil object.
EGLStream in mailbox mode.
enum nvros::_ProducerType ProducerType
Declares all EGL producer types supported by NvMedia EGLStream library.
EGLDisplay display
References EGLDisplay when creating the EGLStream.
EGLContext context
References EGLContext.
EGLint height
Height of the EGLDisplay.
_OpMode
Declares modes of operation for EGLStream.
CUeglStreamConnection cuEglConn
Handle to the CUDA EGLStream connection.
NvMediaStatus
Defines all possible error codes.
EGLint yoffset
Offset in the vertical direction.
NvRosErr EglUtilInit(EglUtilOptions *options, EglUtilState *eglUtil)
Initializes EGL utility structures.
NvMediaStatus CheckNvMediaEGLStreamVersion(void)
Checks version of NvMedia EGLStream library.
NvRosErr EglUtilDeInit(EglUtilState *state)
Terminates the entire EGLStream setup that was initialized through previous EglUtilInit and EglStream...
EGLint xoffset
Offset in X direction.
EGLint windowId
Window ID.
EGLint width
Width of the EGLDisplay.
EGLStreamKHR EglStreamInit(EGLDisplay display, const char *socket_path)
Initializes an EGLStream over a given EGLDisplay through EglUtilInit and a given socket path...
struct nvros::_CudaEglParams CudaEglParams
Holds CUDA EGL related parameters.
EGLint GetStreamState(EGLDisplay display, EGLStreamKHR eglStream)
Gets the current state of EGLStream.
Holds required window system related parameters when initializing EGLStream.
uint8_t dispId
Display ID.
uint8_t winSizeX
Size of window in the horizontal direction.
EGLConfig config
References EGLConfig.
enum nvros::_OpMode OpMode
Declares modes of operation for EGLStream.
uint8_t winOffsetY
Offset of window in the vertical direction.
enum nvros::_NvRosErrCode NvRosErr
Declares error codes for all NvROS modules and packages.
enum nvros::_ConsumerType ConsumerType
Declares all EGL consumer types supported by NvMedia EGLStream library.
_ProducerType
Declares all EGL producer types supported by NvMedia EGLStream library.
Holds EGL related parameters.
uint8_t winSizeY
Size of window in the vertical direction.
EGLSurface surface
References EGLSurface.
NVIDIA Robot Operating System : Common Enums, Macros, and Constants
NvRosErr InitConsumer(EGLDisplay display, EGLStreamKHR eglStream)
Initializes an EGL consumer in EGLOUTPUT role over specified EGLDisplay and EGLStreamKHR handles...
EGLStreamKHR eglStream
Handle to the EGLStream.
Holds CUDA EGL related parameters.
EGLint displayId
Display ID.