Hey,
I want to use VPI for remapping.
Therefore I get Images from Argus EGL Stream. I use the NV::IImageNativeBuffer interface to create NvBuffer fd from it. I use the fd to enque into NvDrmRenderer for display.
Now I want to have an vpi calculation step in between.
So I copy the EGL Image to an NvBuffer mapped as vpiImage for input. And the NvBuffer for display as output. But the output buffer is not effected at all. My code:
To program it faster, I used the first 3 images to create NvBuffers from them and display them right away. I also copy the first image to my vpi_input buffer. Instead of vpiImageSetWrapper I use vpiImageCreateNvBufferWrapper now, since vpiImageSetWrapper I was trying that out. I know vpiImageSetWrapper would be the better option.
Hey, thanks for this example!
In the end, it is not important how it is done. But I want to have the most low latency for receiving Argus Stream in NV12 and display it with NvDrmRenderer in NV12.
So as output buffer I would need a NvBuffer. As input buffer I could also get the image with CuEGLStreamConsumerAcquireFrame, right? So there is no copy involved?
After creating my output buffer, I could also wrap it in an EGL Image and wrap it into CUDA from there or use vpi egl image wrapper functions.
Since the vpi is support nvBuffer wrapper I thought it would be most convenient, but as I understand you, you recommend wrapping in CUDA, since there are more examples and it is better tested?
You can use vpiImageCreateNvBufferWrapper as well.
The implementation should be similar to the sample shared in Jun 7.
Since we don’t have an example for vpiImageCreateNvBufferWrapper.
If you meet an issue when using it, could you attach a complete source for us checking?
There is no update from you for a period, assuming this is not an issue any more.
Hence we are closing this topic. If need further support, please open a new one.
Thanks
Hi,
Did you get some time to check this last week?
Thanks.