On Tue, 14 Dec 2021 07:27:50 GMT, Alexander Matveev <almat...@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

Reply via email to