Here is more detail on our work for JRVR, in part from improvements made and being made to libplacebo, the rendering library used in JRVR.
New in Media Center 31 Now
- HDR Tonemapping improvements
- Fully re-designed tonemapping pipeline, better detail retention and vastly improved gamut mapping
- New and improved peak detection and dynamic tonemapping
- Support for HDR10+ tonemapping, using dynamic brightness and HDR10+ tonemapping curves (and preliminary/basic support for DV dynamic scene data)
- HDR to HDR tonemapping (especially useful for HDR10+, as there is no metadata passthrough at this time)
- Black Bar cropping, based on the metadata of the new analysis tools
- Automatically crop off (static) black bars, particularly useful for ultra-wide display setups, projectors or 21:9 TVs
- Re-design the aspect ratio settings to make it easier to setup for anamorphic or ultra-wide setups
- More post-processing options
- Built-in sharpening option (probably using Adaptive Sharpen)
- Support for custom shaders (mpv-style GLSL shaders)
Coming Soon
- Platform specific improvements
- Alternate presentation mode for Windows, to improve stability and hardware utilization (hopefully removing glitches on certain hardware)
- Zero-Copy/Native Hardware acceleration on Linux through VA-API (Intel GPUs primarily, but also others supporting VAAPI)
- Enabling Vulkan rendering on Mac through MoltenVK for improved performance and reliability
General Video Improvements Planned
- Cross-Platform improvements
- Local file access on cross-platform library server setups (not strictly video, but the most important here)
- Investigating Blu-ray "Title" playback mode for Linux/Mac
- RPi improvements
- Hardware accelerated video decoding for RPi 3/4
- JRVR profile tuned for the RPi
- Transcoding improvements
- Support for transcoding into HEVC and retaining HDR10 metadata (realtime would require GPU transcoding, software is never fast enough)
- Expanding GPU encoding options on Linux (only NVENC currently supported, minimally Intel GPUs through QSV or VAAPI will be added)
- Investigating HDR -> SDR tonemapping during transcoding (slipped from MC30, might require GPU assistance using the same backend as JRVR, complex topic)
- Explore moving away from fixed transcoding presets to some simple options to combine container choice + video codec preset + audio codec preset.
On transcoding improvements - it would greatly benefit from introducing GPU processing, for scaling, tonemapping, deinterlacing, and all that. However, I have been reluctant to do this for the time being due to stability concerns, as well as keeping it functional on systems without GPU power.
But with video moving as fast as it does, having a GPU to process video for transcoding might become a requirement, or at least required if those features are desired to be used. We'll investigate this topic in the coming months.