I am using an i.MX6 SABRESD running fsl-linux distribution, with a custom camera input and streaming video input using gstreamer.
The camera output format is YUYV (YYYYYYYY UUUUUUUU YYYYYYYY VVVVVVVV, YUY2) and I am outputting 1920x1080p HMDI via 32bpp framebuffer.
Using the command
gst-launch-1.0 imxv4l2src device=/dev/video0 num-buffers=-1 ! 'video/x-raw, format=(string)YUY2, width=(int)1920, height=(int)1080, framerate=(fraction)15/1' ! imxv4l2sink
gives okay quality video, but gradual changes in color result in errors in the color space conversion, shown as blocks of color where there should be a gradual change, as shown below.
I was able to modify a color space conversion example to correctly change the format of still images using "YUYV" as the color format.
My question is this;
Is gstreamer using the same color space converter as the example code (ie. the IPU) and if not, is there a way to make it do so, or to bypass gstreamer's csc and use the IPU instead?