No, not an answer to my question, let me try to re-iterate this because, Yuri, you are probably one of the few who might actually be able to answer the actual question, so please read the below carefully as I have tried to be very clear about the exact problem I am perceiving. I think the last sentence, below, more clearly re-states the root question - the rest presents the context of my understanding of the software I am asking about - which connects to gstreamer (and other) software but does not seem to be doing so correctly.
The problem with your answer is that gs-inspect only regurgitates what a plugin tells about itself, its capabilities, which are not even necessarily its actual capabilities, and I don't want to get into a discussion of how useless imxv4l2src is in comparison to the capabilities of the csi/ipuv3... so back to my question...
The problem with 'gs-launch -v' is that it describes (at best) what the gstreamer software has been told is being captured or (at worst, like imxv4l2src) it reports the only video format the software will actually work with just before it crashes out because you are producing a different format the plugin should be designed to handle.
No, my question is not really a gstreamer question at all, it is an CSI/IPU/mxc_v4l2_capture question - a driver question... yet it is related to trying to make correct use of gstreamer and its vast capabilities by having the driver properly report what is actually captured.
Let me repeat the confusing/offending paragraph from the CSI documentation:
-- FROM: IMX6DQRM 37.4.3.2.1 Parallel Interface
CSI can work with several data formats according to SENS_DATA_FORMAT configuration.
In case the data format is YUV, the output of the CSI is always YUV444 (even if the data arrives in YUV422 format).
So, as I stated in the first question, I have a video converter chip which is providing the CSI with a YUYV video stream at 1280x720P60. Obviously to capture that I will need to configure the CSI for that particular input stream - one it is clearly capable of managing.
That paragraph in the reference manual, however, tells me that once captured, the data in memory has been converted from YUV422 to YUV444. The problem is that the mxc_v4l2_capture software does not seem to have the capacity to report this change in video data format downstream. Therefore, in fact, it seems that mxc_v4l2_capture is not correctly reporting the kind of data which is captured into memory, nor is it capable of doing so as it currently seems to be written.
Instead it will report the format which is being received (eg with v4l2src which actually (mostly) negotiates the input), but the manual says that the data in memory has been modified to a different format. In other words, my driver configures the CSI to capture YUYV, which is automatically converted by the hardware to YUV444 which is actually stored in memory, but when gstreamer queries the msc_v4l2_capture driver about the video format, it merely reports the source YUYV, instead of what is actually being stored into memory YUV444.
Shouldn't the mxc_v4l2_capture actually be reporting the pixel format which has been captured into memory, especially if it is actually different from the data being presented to the CSI, so the downstream software (ie gstreamer) is actually being properly informed about the data it is processing?