About Accelerated X11/EGL-based rendering

Hello,

video : DeepStream on Jetson Nano - YouTube

Is the content corresponding to number 1 in the picture corresponding to the part displayed in the video above?

If it is correct, do you use the same class as the NvEglRenderer used in the 1 and jetson samples/00_video_decode?

Thank you.

Hi,
DeepSream SDK is based on gstreamer and the implementation is to composite multi frames into one frame through NvBufferComposite():

/**
 * \brief Composites multiple input DMA buffers to one output DMA buffer.
 *
 * This function can composite multiple input frames to one output.
 *
 * @param[in] src_dmabuf_fds    An array of DMABUF FDs of source buffers.
 *                              These buffers are composited together. Output
 *                              is copied to the output buffer referenced by
 *                              @a dst_dmabuf_fd.
 * @param[in] dst_dmabuf_fd     DMABUF FD of the compositing destination buffer.
 * @param[in] composite_params  Compositing parameters.
 */
int NvBufferComposite (int *src_dmabuf_fds, int dst_dmabuf_fd, NvBufferCompositeParams *composite_params);

We don’t have exactly the same implementation in jetson_multiemdia_api samples For using NvBufferComposite(), it is demonstrated in 13_multi_camera. You may take a look.

1 Like

Hello,

08_video_dec_drm
[08_video_dec_drm]: Jetson Linux API Reference: 08_video_dec_drm (Direct Rendering Manager) | NVIDIA Docs
When I checked the sample application page that applied NvDrmRenderer,

I saw the following:

This sample provides rendering support on non-X11 and lightweight display systems

The following features introduced in DeepStream SDK Plug-ins

Frame rendering from multi-source into a 2D grid array
Accelerated X11/EGL-based rendering

What is the performance difference between NvDrmRenderer and DeepStream SDK plug-ins?

What do you recommend to use when rendering?

Thank you.

Hi,
It depends on your usecase. If you don’t need window system such as X11, Wayland, qt, you can consider to use NvDrmRenderer. If you need to do deep learning inference, you can consider to use DeepStream SDK.

1 Like