EGLStream Interoperability

The NvMedia EGLStream component supports GL/CUDA interoperability of the NvMedia domain. EGLStream provides the interface to post or retrieve the raw YUV or RGB images. It provides the channel of communication to connect the NvMedia domain with GL/CUDA domain. Any NvMedia surface can be rendered on the screen using any type of consumer using EGLStream.

NvMedia EGLStream component provides the following features:

  • Supports the Khronos EGLStream specification
  • Maps camera input image data to CPU
  • Provides images to GL as textures
  • Provides images to CUDA as cudaPtr or cudaArray
  • Requires no extra memory copy for GPU processing
  • Provides multi-threaded or multi-process sharing
  • Provides ‘mailbox’ or ‘fifo’ mode of transfer

This interoperability feature of NvMedia EGLStream makes it useful in many applications. You can easily realize NvMedia Image, Video producers/consumers interacting with GL/CUDA producers/consumers.

The following diagram show how camera input is processed.

media/image5.jpg