NvBufferColorFormat_YUV420 is UV interleaved or planar ?

Hi Guys,

I am trying to read frames from camera using the code below. I wish to know whether the format NvBufferColorFormat_YUV420 represents UV interleaved or planar.

// Acquire a Frame.
        UniqueObj<Frame> frame(iFrameConsumer->acquireFrame());
        IFrame *iFrame = interface_cast<IFrame>(frame);
        if (!iFrame)

        // Get the Frame's Image.
        Image *image = iFrame->getImage();
        EGLStream::NV::IImageNativeBuffer *iImageNativeBuffer
              = interface_cast<EGLStream::NV::IImageNativeBuffer>(image);
        TEST_ERROR_RETURN(!iImageNativeBuffer, "Failed to create an IImageNativeBuffer");

        int fd = iImageNativeBuffer->createNvBuffer(Argus::Size {m_framesize.width, m_framesize.height},
               NvBufferColorFormat_YUV420, NvBufferLayout_Pitch, &status);
        if (status != STATUS_OK)
               TEST_ERROR_RETURN(status != STATUS_OK, "Failed to create a native buffer");


hello lamegeorge,

the color format NvBufferColorFormat_YUV420 would allocate the multi-planar buffer for image frames,
you could also get the MM API documentation by downloading the L4T Documentation, and please check the NV HW Buffer Utility API for more details.