Rémi Bernon (@rbernon) commented about dlls/winegstreamer/color_convert.c:
if (output_format.major_type == WG_MAJOR_TYPE_UNKNOWN) return MF_E_INVALIDMEDIATYPE;
- /* don't request vertical flipping in wg_transform */
- if (input_format.major_type == WG_MAJOR_TYPE_VIDEO && input_format.u.video.height < 0)
input_format.u.video.height = -input_format.u.video.height;
- if (output_format.major_type == WG_MAJOR_TYPE_VIDEO && output_format.u.video.height < 0)
output_format.u.video.height = -output_format.u.video.height;
I think the difference with video_processor is related to the media types attributes, rather than something unconditional like this.
For instance, it is possible to force the frame orientation by explicitly specifying `MF_MT_DEFAULT_STRIDE` attribute in both cases. The tests don't do that, but maybe it should.
The default for color_converter seems to be a positive `MF_MT_DEFAULT_STRIDE` value, and it even exposes it in the current media type as the test shows, outputting the same orientation as the input NV12 frame.
The video_converter doesn't add a default value, but behaves as if it was negative by default for RGB, reversing the output compared to the NV12 frame input.