RFR: 8336277: Colors are incorrect when playing H.265/HEVC on Windows 11
Kevin Rushforth
kcr at openjdk.org
Fri Aug 2 16:54:35 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 good. I tested it on Windows 11 and it now looks correct.
@arapte or @andy-goryachev-oracle can one of you be the second reviewer?
-------------
Marked as reviewed by kcr (Lead).
PR Review: https://git.openjdk.org/jfx/pull/1525#pullrequestreview-2216020305
PR Comment: https://git.openjdk.org/jfx/pull/1525#issuecomment-2265790174
More information about the openjfx-dev
mailing list