Aleksoid1978 / VideoRenderer

Внешний видео-рендерер
GNU General Public License v3.0
997 stars 110 forks source link

In the OSD, the Matrix Coef and Color Primaries fields are swapped. It should be otherwise. #80

Closed radpopl closed 1 year ago

radpopl commented 1 year ago

In the OSD, the Matrix Coef and Color Primaries fields values are swapped. It should be otherwise.

image

v0lt commented 1 year ago

You are wrong. MediaInfo has nothing to do with it at all. MPC Video Renderer works with the DXVA2_ExtendedFormat structure it receives from the previous filter.

DXVA2_ExtendedFormat structure --DXVA2_VideoTransferMatrix enumeration ----DXVA2_VideoTransferMatrix_BT709 -> "BT.709" --DXVA2_VideoPrimaries enumeration ----DXVA2_VideoPrimaries_BT470_2_SysBG -> "BT.470-4 System B,G"

radpopl commented 1 year ago

So the Matrix field value will match the Color Primaries field value from MediaInfo and DXVA2_VideoTransferMatrix? And the value of the Primaries field will correspond to the Matrix coefficients field from MediaInfo and DXVA2_VideoPrimaries?

v0lt commented 1 year ago

No. Transfermatrix and Primaries are different things. If you want to figure out why Microsoft called some things differently than Mediainfo, then you can see the standards that are mentioned in the MS documentation.

Here is a good example

Dxva2_videotransfermatrix_bt601 Value: 2 ITU-R BT.601 Transfer Matrix. ALSO USED for SMPTE 170 and ITU-R BT.470-2 System b, g.

The matrix is one, but mentioned in different standards.

radpopl commented 1 year ago

No. Transfermatrix and Primaries are different things. If you want to figure out why Microsoft called some things differently than Mediainfo, then you can see the standards that are mentioned in the MS documentation.

Here is a good example

Dxva2_videotransfermatrix_bt601 Value: 2 ITU-R BT.601 Transfer Matrix. ALSO USED for SMPTE 170 and ITU-R BT.470-2 System b, g.

The matrix is one, but mentioned in different standards.

Yes, I know it's something different.

So to sum up: a) Matrix coefficients in MediaInfo = MS DXVA2_VideoPrimaries = Primaries in MPC (actually only this is important) b) Color primaries = MS DXVA2_VideoTransferMatrix = Matrix in MPC c) Transfer characteristics = MS DXVA2_VideoTransferFunction = Function in MPC

v0lt commented 1 year ago

So to sum up:

To summarize, you need to compare several test files that differ in one parameter. I will not do this, because. player and renderer works correctly.