mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-16 05:43:54 +03:00
[PR #3442] [MERGED] Tonemapping function relying on OpenCL filter and NVENC HEVC decoder #9526
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/jellyfin/jellyfin/pull/3442
Author: @nyanmisaka
Created: 6/25/2020
Status: ✅ Merged
Merged: 9/4/2020
Merged by: @joshuaboniface
Base:
master← Head:tonemap📝 Commits (10+)
7b862bbadd Tonemapping relaying on nvdec and ocl4bdb870Merge remote-tracking branch 'upstream/master' into tonemap5716453minor changes95b961cremove unused linedf6b303Merge branch 'master' into tonemap17527d6fix build7b3f76bresolve conflictsc23d991Merge branch 'master' into tonemap54349fcfix outputSize4cb0a57Merge branch 'master' into tonemap📊 Changes
5 files changed (+187 additions, -63 deletions)
View changed files
📝
MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs(+123 -56)📝
MediaBrowser.MediaEncoding/Probing/MediaStreamInfo.cs(+14 -0)📝
MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs(+10 -0)📝
MediaBrowser.Model/Configuration/EncodingOptions.cs(+28 -1)📝
MediaBrowser.Model/Entities/MediaStream.cs(+12 -6)📄 Description
Changes
These PRs rely on the
tonemap_openclfilter based on the hardware acceleration of the OpenCL device, can cooperate with the NVENC HEVC decoder to perform tone mapping from HDR to SDR while maintaining a decent transcoding speed.The current CPU-based tonemap method is very unsuitable for real-time transcoding in terms of speed.
Requirements
openclhwaccel type enabled.ffmpeg -hwaccelsShows
Windows 10 + Driver 451.67
4K HEVC HDR10 -> 1080P 15M 20M
Sony_4K60_HDR_Camp.mp4

SONY.BRAVIA.OLED.4K.HDR.DEMO_Food .Fizzle.mp4

NVIDIA GTX 1050 4G
Stats(1050)

NVIDIA GTX 1660
Stats(1660)

Dashboard

Issues
https://github.com/jellyfin/jellyfin/issues/415 was partially resolved with NVIDIA GPU.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.