Render YUV422 10bit to 10 bits monitor on Orin NX

Hi,

We would like to render YUV422 10bits to 10bits monitor on Orin NX. It looks like that NvEglRenderer only supports RGB 8 bits. Does NvEglRenderer support YUV422 10bits?

Also about NvDrmRenderer, there are only YUV420 8/10bits and YUV422 8bits support in NvBufGetDrmParams. Does NvDrmRenderer not support YUV422 10bits?

Thank you.

James

Hi,
We don’t support rendering YUV422 10bits. The supported use-case is HDR video playback which YUV420 10bits can be decoded and rendered in DRM.

Hi DaneLLL,

Since you mentioned that the supported use case is HDR, does NvDrmRenderer not support non-HDR YUV 420 10bits DRM rendering?

I also refer to the link https://forums.developer.nvidia.com/t/hdmi-yuv422/197296/10?u=jamie.a86, and follow the steps to test 08_video_dec_drm with HDR YUV420 10bits content. It doesn’t work and shows the following message. I have no idea why it fails in NvDrmRenderer. Any help will be appreciated.

Set governor to performance before enabling profiler
Using VT number 1
VT_WAITACTIVE failed, err=Input/output error
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NvMMLiteBlockCreate : Block : BlockType = 279
Starting decoder capture loop thread
Video Resolution: 1920x1080
Input file read complete
Query and set capture successful
[ERROR] (NvDrmRenderer.cpp:808) Failed to create frame buffer

[ERROR] (NvDrmRenderer.cpp:901) Error in rendering frame

Hi,
Please refer to the steps in
Jetson Linux API Reference: 08_video_dec_drm (Direct Rendering Manager) | NVIDIA Docs

One more step is required for Orin series:

Install nvidia-drm driver for Jetson Orin:
$ sudo modprobe nvidia-drm modeset=1

Hi DaneLLL,

Yes, I had already followed the steps in Jetson Linux API Reference: 08_video_dec_drm (Direct Rendering Manager) | NVIDIA Docs on the test with fail result.

The link Hdmi yuv422 - #10 by DaneLLL was only for converting content to HDR bt2020.

The following steps are commands that I used to run 08_video_dec_drm.

$ sudo systemctl stop gdm
$ sudo loginctl terminate-seat seat0
$ sudo modprobe nvidia-drm modeset=1
$ sudo ./video_dec_drm Test_HDR_1080p.H265 H265 --disable-ui

Hi,
Do you use Jetpack 5.1.3? 5.1.3 is the latest production release and it is supposed to work without issue. And please ensure the TV supports HDR mode.

Hi DaneLL,

Thanks for your suggestion. We will try 5.1.3.

Hi Dane,

I try to use Jetpack 5.1.3 (l4t 35.5.0) on Orin NX module + Orin nano devkit carrier board, but still have the same fail result. Meanwhile, I have confirmed that my monitor has HDR mode.

$ sudo systemctl stop gdm
Warning: The unit file, source configuration file or drop-ins of gdm.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.
$ sudo loginctl terminate-seat seat0
$ sudo modprobe nvidia-drm modeset=1
$ sudo ./video_dec_drm HDR10.hevc H265 --disable-ui
Set governor to performance before enabling profiler
Using VT number 2
Opening in BLOCKING MODE
NvMMLiteOpen : Block : BlockType = 279
NvMMLiteBlockCreate : Block : BlockType = 279
Starting decoder capture loop thread
Video Resolution: 3840x2160
Query and set capture successful
[ERROR] (NvDrmRenderer.cpp:775) Failed to create frame buffer

[ERROR] (NvDrmRenderer.cpp:863) Error in rendering frame

Hi,
We can observe the issue on Orin. It works fine on Xavier. We will check why HDR rendering does not work on Orin and update.