Closed Adnn closed 1 month ago
Bump.
I don't see any reason why 4:4:4 shouldn't be supported.
In terms of encoders, NVENC supports it for H264, H265, and AV1. QSV and AMF might not, but a majority of users use NVENC I presume.
The main issue is that 4:4:4 support is much less mature in drivers, software, and video APIs.
For example, there is no official D3D11VA profile that supports decoding HEVC 4:4:4. Intel has their own proprietary HEVC 4:4:4 D3D11VA profile while Nvidia requires the use of CUDA for that rather than standard D3D11VA. AMD AMF might support it similar to CUDA, but I have not checked.
There's also issues with AV1 4:4:4, namely that it is only supported in Profile 1 and 2. There are D3D11VA profiles defined for AV1 Profile 1 and 2, but I belive the current generations of hardware (Lovelace and RDNA3) only support hardware decoding of Profile 0 content, which can only be 4:2:0.
Vulkan might improve this, so it could be doable with the Vulkan renderer soon.
This has been implemented.
@cgutman That is excellent news, thank you! Is it already released? Do you have a link to a PR to track it and check how to enable it?
The main work was done in #1282 with follow up work for a D3D11VA implementation completed after that. There's an option in the Moonlight settings page to enable YUV444. It requires both Moonlight and Sunshine nightly builds.
Chromatic degradation in the default configuration are noticeable (washed out colors, notably visible in dark color theme with bureautic applications).
I suppose this might be due to a form of chroma subsampling in the video encoding (likely 4:2:0, or 4:2:2). Is there any way to enable full resolution for chroma information (4:4:4)? If not, any plan to allow that in the future?
I was not able to find any reference to this question in this issue tracker.