For some reason when I decode vp9 video and resize it from 1920x1080 to 500x500 I have error: “Invalid nvbuffer Payload Type” - that happens each time when I try to do this. If there is no decoding, or I don’t resize, or I resize to different size (like 960x540), then everything works as expected. For example here are pipelines that work fine:
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1,format=NV12 ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080" ! nvvidconv ! "video/x-raw(memory:NVMM),width=500,height=500" ! nvvidconv ! video/x-raw ! videoconvert ! video/x-raw ! appsink
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1,format=YUY2 ! nvvidconv ! nvv4l2vp9enc ! nvv4l2decoder ! "video/x-raw(memory:NVMM),width=1920,height=1080" ! nvvidconv ! "video/x-raw(memory:NVMM),width=1920,height=1080" ! nvvidconv ! video/x-raw ! videoconvert ! video/x-raw ! appsink
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1,format=YUY2 ! nvvidconv ! nvv4l2vp9enc ! nvv4l2decoder ! "video/x-raw(memory:NVMM),width=1920,height=1080" ! nvvidconv ! "video/x-raw(memory:NVMM),width=960,height=540" ! nvvidconv ! video/x-raw ! videoconvert ! video/x-raw ! appsink
But this one produce error that I mention earlier:
gst-launch-1.0 videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1,format=YUY2 ! nvvidconv ! nvv4l2vp9enc ! nvv4l2decoder ! "video/x-raw(memory:NVMM),width=1920,height=1080" ! nvvidconv ! "video/x-raw(memory:NVMM),width=500,height=500" ! nvvidconv ! video/x-raw ! videoconvert ! video/x-raw ! appsink
Probably some weird bug in nvv* elements
PS jetson_release output from my device:
- NVIDIA Jetson Xavier NX (Developer Kit Version)
* Jetpack 4.4.1 [L4T 32.4.4]
* NV Power Mode: MODE_10W_2CORE - Type: 3
* jetson_stats.service: active
- Libraries:
* CUDA: 10.2.89
* cuDNN: 8.0.0.180
* TensorRT: 7.1.3.0
* Visionworks: 1.6.0.501
* OpenCV: 4.1.1 compiled CUDA: NO
* VPI: 0.4.4
* Vulkan: 1.2.70