NvDrmRenderer ARGB2101010

I am trying to render video with ARGB2101010 format using NvDrmRenderer. But to put my image data into the NvBuffer I need to access the buffer with gpu. From what I know using EGLImageFromFd is the current only way to access NvBuffers from GPU, but this function fails because it does not seem to know ARGB2101010 format. Is there any other way to alter NvBuffers from GPU?

What is the disadvantage of using RGBA8888 or ARGB2101010 color format for NvDrmRendering. Is there some limitation in data bandwidth I should care about? For example using 60fps 4K should be possible using P010 or NV12, but is it also possible with RGBA8888 or ARGB2101010?

Also, will the DrmRenderer handle things differently if it is BT709 or BT2020 NvBuffer if I put the same data in?

Rendering ARGB2101010 NvBuffer is not supported. You would need to convert to RGBA8888 NvBuffer.

And for rendering BT709 or BT2020, please check the formats in NvBufGetDrmParams(). The formats are supported:

    case NvBufferColorFormat_NV12_10LE_2020:
      dParams->pixel_format = DRM_FORMAT_TEGRA_P010_2020;
    case NvBufferColorFormat_NV12_10LE_709:
      dParams->pixel_format = DRM_FORMAT_TEGRA_P010_709;
    case NvBufferColorFormat_NV12_10LE:
      dParams->pixel_format = DRM_FORMAT_P010;

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