Nikolay Sivov (@nsivov) commented about dlls/mfplat/mediatype.c:
- IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_LIGHTING, &format->videoInfo.SourceLighting); - IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_NOMINAL_RANGE, &format->videoInfo.NominalRange); + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_CHROMA_SITING, &value))) + format->videoInfo.SourceChromaSubsampling = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_INTERLACE_MODE, &value))) + format->videoInfo.InterlaceMode = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_TRANSFER_FUNCTION, &value))) + format->videoInfo.TransferFunction = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_PRIMARIES, &value))) + format->videoInfo.ColorPrimaries = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_YUV_MATRIX, &value))) + format->videoInfo.TransferMatrix = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_LIGHTING, &value))) + format->videoInfo.SourceLighting = value; + if (SUCCEEDED(IMFMediaType_GetUINT32(media_type, &MF_MT_VIDEO_NOMINAL_RANGE, &value))) + format->videoInfo.NominalRange = value; @rbernon , what's your opinion on this? It would be nice to have a helper to hide these checks, but I don't see how.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/4906#note_58407