Hi
We try on TX2 and donβt see the issue. The out.ts looks fine. So you use both TX2 and Xavier NX in your project? Or TX2 is for evaluation purpose and you will switch to Xavier NX?
Just in case, I would like to reiterate that we are testing the video_decode sample with applied patch that adds 40ms latency to emulate 25fps live stream. Have you used the same sample in your tests?
I have tried on it both Jetson TX2 and Xavier NX with r32.6.1 release. And received the same artifacts, the same broken picture. Running VIC at max clock did not help either, unfortunately.
Regarding the module that we intend to use; we would really like to switch to the newest Jetson NX, but we will also keep using TX2 or perhaps TX2 NX.
Decoding interlaced issue is currently a blocker because we need to update l4t sdk, and decoding of interlaced sources does not work properly.
The fix that you offered in the comment #28 replaces the function NvBufferTransform with the pair of functions NvBufferTransformAsync and NvBufferSyncObjWait. This solution works for us, but only to some extent - we do not see artifacts in the video anymore.
However, in some cases we are using another function NvBufferCompose to fit the decoded picture without transformations in a square and then to control filling of the fields with composite_bgcontrol. Also, we are planning to use blending capabilities of NvBufferCompose.
At the moment NvBufferCompose has the same issues with interlaced streams, but this function does not have an Async alternative similar to NvBufferTransformAsync.
Could you please fix NvBufferCompose for interlaced source or provide us with the similar workaround as for NvBufferTransform?
Finally, for the purposes of ML and image processing with CUDA we are using interop from the decoder to CUDA via EGL. After this interop, and if the source is interlaces we are observing artifacts in the resulting video (see attached screenshot).
It seems that all of those problems have the same root cause, and we were hoping that asking you to fix NvBufferTransform would also make the other two issues go away. Also, it was relatively easy to demonstrate the issue in NvBufferTransform using your own code examples.
Please help us to find a way to use NvBufferCompose and CUDA/EGL with interlaced sources.
NvbufferTransform() should also work fine. But for calling the functions in multiple threads, please still create NvBufferSession for better performance.