Nikolay Sivov (@nsivov) commented about dlls/mfplat/mediatype.c:
static struct uncompressed_video_format *mf_get_video_format(const GUID *subtype) { - return bsearch(subtype, video_formats, ARRAY_SIZE(video_formats), sizeof(*video_formats), + const GUID *type = subtype; + + if (IsEqualGUID(type, &MEDIASUBTYPE_RGB8)) + type = &MFVideoFormat_RGB8; + else if (IsEqualGUID(type, &MEDIASUBTYPE_RGB555)) + type = &MFVideoFormat_RGB555; + else if (IsEqualGUID(type, &MEDIASUBTYPE_RGB565)) + type = &MFVideoFormat_RGB565; + else if (IsEqualGUID(type, &MEDIASUBTYPE_RGB24)) + type = &MFVideoFormat_RGB24; + else if (IsEqualGUID(type, &MEDIASUBTYPE_RGB32)) + type = &MFVideoFormat_RGB32;
I think it's fine to duplicate entries for MEDIASUBTYPE_ guids. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1925#note_20925