Re: [PATCH v2 0/4] MR10654: winegstreamer: Fix wg_parser/native video stride mismatch.
YV12, NV12, I420 formats has min alignment of 2 bytes for Y plane stride on native, but winegstreamer uses 4 bytes. Additionally YV12 and I420 expect U and V plane stride to be exactly 1/2 of the Y plane stride, yet winegstreamer also aligns those to 4 bytes. This breaks some games.
Do you know that it's exactly 2 bytes? Your test proves it's at most 2 bytes, but it could be 1 byte. It would be nice to test if the behaviour is the same for quartz.
So if `IMF2DBuffer` is not available, how does a game figure out what the real pitch of the buffer returned by `IMFMediaBuffer_Lock` is?
IIRC there may be documentation for GDI somewhere, but I'm not sure about dshow. I think it's just one of those underdocumented things and we can only work from what native actually does. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10654#note_136221
participants (1)
-
Elizabeth Figura (@zfigura)