I'm trying to run a display preview of MJPEG 1920x1080@30fps USB camera connected to our i.MX8MQ board. I'm using the following gstreamer pipeline under Yocto L14.14.98:
gst-launch-1.0 v4l2src device=/dev/video2 ! "image/jpeg" ! vpudec ! videoscale ! waylandsink
Sometimes I get 1fps and sometimes no picture at all. With software decoding pipeline
gst-launch-1.0 v4l2src device=/dev/video2 ! "image/jpeg" ! jpegdec ! videoscale ! waylandsink
I get 10fps and 90% CPU load. I'd appreciate your help finding a correct pipeline that utilizes VPU decoder.
Not sure if that element exists. Creating a new custom element is an option but it may take you some time. Another approach is compare the mjpeg header coming from the camera with the ones expected by VPUdec. Check if there is a software to view mjpeg data, then you can compare headers between 'v4l2src - > filesink' and media file that the vpudec can decode fine. BTW the MX8M does not have the vpu for this testing thats the reason it takes so much.