I'm using the latest gstreamer-imx elements to implement 2 simultaneous instances of the following video pipelines on a custom i.MX6Q board:
VidSource (1080p60 or p30) -> CSI (parallel) -> SMFC -> mem -> IC (scaling down) -> VPU (h264 encoding scaling to 1280x720) -> file
I've been using this flow for quite some time now without any issues. However, I'm noticing a problem with the VPU frame processing times. My test source is normally 1080p60 and I have the CSI set to skip every other frame reduce the frame rate down to 30fps. When I do that everything works. However, if I configure the same source to 1080p30, and configure the CSI not to skip frames, the processing time in the VPU increases to the point where it cannot keep up and eventually the pipeline fails.
The other part of this is if I remove the scaling element in the IC, the VPU keeps up regardless of CSI frame skipping enabled or not.
Any thoughts, on what might be causing this?