10 Bit CUDA EGL Frame

Hi I would like to evaluate the TX2NX for processing 10bit video.

Is there a way to process P010_10LE frame with CUDA? Right now on the Nano I am passing 8bit frame in a similar manner to nvivafilter. It checks:

if (eglFrame.eglColorFormat == CU_EGL_COLOR_FORMAT_YUV420_SEMIPLANAR) {
addLables((CUdeviceptr) eglFrame.frame.pPitch[0], (CUdeviceptr) eglFrame.frame.pPitch[1], eglFrame.pitch, eglFrame.width, eglFrame.height);

CUDA Driver API :: CUDA Toolkit Documentation (nvidia.com)
does not list 10bit planar YUV. Would cuGraphicsEGLRegisterImage or cuGraphicsResourceGetMappedEglFrame fail?

Or would I even be able to create EGLImage from 10bit buffer? with NvEGLImageFromFd

Hi,

Could you try NvBufferColorFormat_NV12_10LE?
Thanks

Thank you @AastaLLL

I should have mentioned I do not have a TX2 to test this. I haven’t had success creating a 10-bit buffer with Nano.

I see

CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR = 0x17

but UV byte order is wrong.

As far as I can tell, P010_10LE is CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR

I set up a debug print:

if (eglFrame.eglColorFormat ==
CU_EGL_COLOR_FORMAT_Y10V10U10_420_SEMIPLANAR) {
g_print(“P010_10LE\n”);

and ran the pipeline:

gst-launch-1.0 videotestsrc is-live=true ! ‘video/x-raw,format=P010_10LE’ ! nvvidconv2 ! fakesink

Output is:

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Pipeline is PREROLLED …
Setting pipeline to PLAYING …
New clock: GstSystemClock
P010_10LE
NvDdkVicConfigure Failed
nvbuffer_transform Failed
gst_nvvconv_transform: NvBufferTransform Failed
ERROR: from element /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0: Internal data stream error.
Additional debug info:
…/subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3132): gst_base_src_loop (): /GstPipeline:pipeline0/GstVideoTestSrc:videotestsrc0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.060643959
Setting pipeline to NULL …
Freeing pipeline …

Hi,

Have you tried NvBufferColorFormat_NV12_10LE?
Is it working?

Suppose you are using JetPack 4.6.4, is that correct?
Thanks.

The above example is with NvBufferColorFormat_NV12_10LE.
It is not working because I ran it on Nano. I know the Nano can’t do 10-bit nvbuffers. I do not have a TX2.

I think this test was JetPack 4.6.3

Hi,

Nano doesn’t have 10-bit support.
Thanks.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.