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.