Thank you all (and especially Philipp) for this amazing work ! One of the main uses for the VPU scaler is to convert from video file resolution to display resolution. E.g. the source video is 1080p, but the display videomode is only 720p. Unfortunately when I connect CODA/h264 decode to the VPU scaler, performance drops to about half. But on the non-mainline Freescale kernel, even with the rescale, I still get 30fps. Mainline kernel + v8 imx rescaler patch: A) 1080p30 source video -> CODA h264 decode -> drm 1080p: near full speed (28fps) B) 1080p30 source video -> CODA h264 decode -> VPU scaler 1080p->720p -> drm 720p: only half speed (15fps) Freescale non-mainline kernel: C) 1080p30 source video -> CODA h264 decode -> VPU scaler 1080p->720p -> v4l2out 720p: full speed (30fps) Question: - is this expected behaviour ? A regression wrt. the Freescale kernel? - perhaps I am missing something in the gstreamer pipeline ? Gstreamer pipelines: -------------------- A) gst-launch-1.0 filesrc location=/home/default/jellyfish-10-mbps-hd-h264.mkv ! matroskademux ! h264parse ! v4l2h264dec ! kmssink can-scale=0 B) gst-launch-1.0 filesrc location=/home/default/jellyfish-10-mbps-hd-h264.mkv ! matroskademux ! h264parse ! v4l2h264dec ! v4l2video8convert ! video/x-raw,width= 1280,height=720 ! kmssink can-scale=0 C) gst-launch-0.10 filesrc location=/home/default/jellyfish-10-mbps-hd-h264. mkv ! decodebin ! mfw_v4lsink I have tried various values for capture-io-mode/output-io-mode. imx6q v8 imx scaler patch backported to 4.19 mainline kernel. GStreamer 1.14.4