|
inline mfxStatus CheckAndFixMasteringDisplayColourVolumeInfo(mfxExtMasteringDisplayColourVolume* pMDCV) |
|
{ |
|
mfxU32 changed = 0; |
|
|
|
changed += CheckOrZero<mfxU16, MFX_PAYLOAD_OFF, MFX_PAYLOAD_IDR>(pMDCV->InsertPayloadToggle); |
|
changed += CheckMaxOrClip(pMDCV->WhitePointX, 50000u); |
|
changed += CheckMaxOrClip(pMDCV->WhitePointY, 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesX[0], 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesX[1], 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesX[2], 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesY[0], 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesY[1], 50000u); |
|
changed += CheckMaxOrClip(pMDCV->DisplayPrimariesY[2], 50000u); |
|
|
|
return changed ? MFX_WRN_INCOMPATIBLE_VIDEO_PARAM : MFX_ERR_NONE; |
|
} |
The implemented clipping of primary_chromaticity/display_primaries parameters is incorrect as it limits primary_chromaticity_y to the value of 0.762940, but it must be the 0.840000 (according to the range derived from AVC/HEVC/VVC specs).
To meet this requirement the upper limit of DisplayPrimariesY must be at least 55050.
Related specs:
https://aomediacodec.github.io/av1-spec/#metadata-high-dynamic-range-mastering-display-color-volume-semantics
D.2.29 of Rec. ITU-T H.264 (V15) (08/2024), dl link
BTW, AV1 specification does not set limits for HDR MDCV values (other than those determined by syntax).
vpl-gpu-rt/_studio/mfx_lib/encode_hw/av1/agnostic/base/av1ehw_base_hdr.cpp
Lines 42 to 57 in e6a12d5
The implemented clipping of primary_chromaticity/display_primaries parameters is incorrect as it limits primary_chromaticity_y to the value of 0.762940, but it must be the 0.840000 (according to the range derived from AVC/HEVC/VVC specs).
To meet this requirement the upper limit of DisplayPrimariesY must be at least 55050.
Related specs:
https://aomediacodec.github.io/av1-spec/#metadata-high-dynamic-range-mastering-display-color-volume-semantics
D.2.29 of Rec. ITU-T H.264 (V15) (08/2024), dl link
BTW, AV1 specification does not set limits for HDR MDCV values (other than those determined by syntax).