Conversion between Y444_16LE planar and "line packed" version of the same

Hello, I would like to ask, whether there is some “built-in” support for video frame format, which uses YUV, but individual plane data are not stored as whole planes sequentially as in Y444_16LE, but line by line. In other words, if I have frame with width 2 and height 3, which would look like following in Y444_16LE:
Y1,Y2,Y3,Y4,Y5,Y6,U1,…,U6,V1,…,V6 (each value represents 16bit LE)
and I want to convert it to the following representation:
Y1,Y2,U1,U2,V1,V2,Y3,Y4,U3,U4,V3,V4,Y5,Y6,U5,U6,V5,V6
where I have line by line always all the Y,U,V plane data for that line, how do I do that “easily” in GStreamer?

Is there a built-in element / filter, which I can use? Does the format I described here have a name in GStreamer? Or do I have to write my custom conversion filter to be able to get such data into / out from a GStreamer pipeline?

Thanks a lot for suggestion and apologies if this is trivial. I am pretty new to GStreamer.

The closest format to what you want is probably GST_VIDEO_FORMAT_Y416_LE - packed 4:4:4:4 YUV, 16 bits per channel(U-Y-V-A) (Since: 1.26)

I don’t know of any line-packed formats out there in the video world, video formats are usually either planar, or packed by pixel or packed in blocks of 2 or 4.

Now, you can probably do some careful construction of a GstVideoMeta to have a stride that will skip all the U/V data when iterating over the Y-plane however I don’t think anything within GStreamer would produce such a format for you for consumption and you would need to convert on use.