I have a custom made MIPI camera, and a custom driver, connected to the Xavier NX. I get MIPI video from my camera and am able to stream it over RTSP. The pixelformat, from my MIPI driver, is YUYV (YUY2 in GStreamer).
The encoder, omxh264enc, only accepts NV12 and I420 pixelformats. Using nvvidconv or videoconvert adds too much latency, so I’ve looked into glcolorconvert to do the color conversion on the GPU. The problem is that by going from YUY2 to any other pixelformat results in bad colors with the glcolorconvert element. It’s reproduceable on a Ubuntu18.04 desktop, so the bug is in GStreamer and fixed in the later versions (tested GStreamer1.14 vs GStreamer1.16).
Is it possible to do the color conversion in v4l2 instead of GStreamer, or give more pixelformats possibilities? Ideally the video format needed in GStreamer would be either NV12 or I420. If updating to a later version of GStreamer is more feasible, how can that be done?