RFR: 8336277: Colors are incorrect when playing H.265/HEVC on Windows 11

Andy Goryachev angorya at openjdk.org
Tue Aug 6 19:35:38 UTC 2024


On Wed, 31 Jul 2024 03:45:20 GMT, Alexander Matveev <almatvee at openjdk.org> wrote:

> - For some reason H.265 decoder on Windows accepts proposed media format without error, but does not actually change output format.
> - For 8-bit we proposed IYUV, but decoder outputs NV12. For 10-bit we proposed NV12, but decoder outputs P010. As result colors where not correct during rendering.
> - To detect such condition we will propose media format and then read it back to determine actual decoder output format.
> - Added color conversion for P010 format, which was missing. P010 conversion is done in two stages (P010->NV12->IYUV), since color converter does not support direct conversion from P010 to IYUV.
> - Note: Color conversion from P010->NV12->IYUV and NV12->IYUV is temporary solution and will be disabled/removed once JDK-8337686 is implemented. JDK-8337686 will add native support for P010 and NV12 to Graphics.
> - Added debug trace for formats. Disabled by default.

the code changes look ok to me.  can't test bc codec, but two other people have tested.

Apparently, one needs to pay Microsoft $0.99 for HEVC codecs
https://apps.microsoft.com/detail/9nmzlz57r3t7?hl=en-US&gl=US

-------------

Marked as reviewed by angorya (Reviewer).

PR Review: https://git.openjdk.org/jfx/pull/1525#pullrequestreview-2222087199
PR Comment: https://git.openjdk.org/jfx/pull/1525#issuecomment-2271999812


More information about the openjfx-dev mailing list