vah264dec + videoconvert is slow
Converting the output of vah264dec to anything with videoconvert is very slow. When resolution and framerate are high enough (e.g. 720p30), the conversion speed is less than realtime. Single core CPU usage hits 100%. The same pipeline with vaapih264dec or vapostproc is much faster. I tried converting to multiple formats and they were all slow when vah264dec was paired with videoconvert. Logs do not show any issues.
Setup
- Operating System: Ubuntu 20.04.5
- CPU: i7-6700
- GStreamer Version: Main branch
SLOW:
gst-launch-1.0 videotestsrc ! 'video/x-raw,width=1280,height=720,framerate=30/1' ! vah264enc ! queue ! h264parse ! vah264dec ! 'video/x-raw,format=NV12' ! videoconvert ! 'video/x-raw,format=UYVY' ! fakesink
FAST (vaapih264dec):
gst-launch-1.0 videotestsrc ! 'video/x-raw,width=1280,height=720,framerate=30/1' ! vah264enc ! queue ! h264parse ! vaapih264dec ! 'video/x-raw,format=NV12' ! videoconvert ! 'video/x-raw,format=UYVY' ! fakesink
FAST (vapostproc):
gst-launch-1.0 videotestsrc ! 'video/x-raw,width=1280,height=720,framerate=30/1' ! vah264enc ! queue ! h264parse ! vah264dec ! 'video/x-raw,format=NV12' ! vapostproc ! 'video/x-raw,format=UYVY' ! fakesink