RFR: 8273096: Add support for H.265/HEVC to JavaFX Media [v4]

Kevin Rushforth kcr at openjdk.java.net
Fri Dec 17 17:26:25 UTC 2021


On Tue, 14 Dec 2021 07:27:50 GMT, Alexander Matveev <almatvee at openjdk.org> wrote:

>> - Added support for H.265/HEVC for all 3 platforms.
>>  - Support is added only for .mp4 files over FILE/HTTP/HTTPS protocols. HTTP Live Streaming with H.265/HEVC is not supported.
>>  - On Windows mfwrapper was introduced which uses Media Foundation APIs to decode HEVC.
>>  - 10 and 12-bit HEVC was tested and also supported, however due to graphics pipeline not supporting 10-bit YUV rendering we will use color converter to convert video frame to 8-bit before sending it for rendering.
>>  - Resolution upto 4k is supported.
>> 
>> Additional runtime dependency requirements:
>> Windows: Windows 10 with HEVC Video Extensions installed.
>> macOS: macOS High Sierra and later
>> Linux: at least libavcodec56 and libswscale5
>> 
>> Additional build dependency:
>> Linux: libswscale-dev
>
> Alexander Matveev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8273096: Add support for H.265/HEVC to JavaFX Media [v5]

Latest code changes look good with one question (in two places).

@johanvos @tiainen Can one of you be the second reviewer?

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 646:

> 644: 
> 645:     if (SUCCEEDED(hr) && dwFlags != MFT_OUTPUT_STATUS_SAMPLE_READY)
> 646:         return FALSE;

If the previous call failed, should you really continue with the following call to `ProcessOutput`?

modules/javafx.media/src/main/native/gstreamer/plugins/mfwrapper/mfwrapper.cpp line 760:

> 758: 
> 759:     HRESULT hr = decoder->pDecoder->GetOutputStatus(&dwFlags);
> 760:     if (SUCCEEDED(hr) && dwFlags != MFT_OUTPUT_STATUS_SAMPLE_READY)

If the previous call failed, should you really continue with the following call to `ProcessOutput`?

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

PR: https://git.openjdk.java.net/jfx/pull/649


More information about the openjfx-dev mailing list