diff options
| author | gnattu <gnattu@users.noreply.github.com> | 2025-06-16 05:22:49 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-06-15 15:22:49 -0600 |
| commit | f60281d8fd36af6cdb3357a1bbd3317e2724afe9 (patch) | |
| tree | 306759347712004170181fe1b14dbe925787529d /MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | |
| parent | 2936588c0f65381df6f36416b26a36a90d342abb (diff) | |
Use square root scaling for high framerate videos' bitrate requirements (#14314)v10.11.0-rc2
Diffstat (limited to 'MediaBrowser.Model/Dlna/ResolutionNormalizer.cs')
| -rw-r--r-- | MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs index 1a636b240..88c378d66 100644 --- a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs +++ b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs @@ -43,7 +43,12 @@ namespace MediaBrowser.Model.Dlna } } - var referenceBitrate = h264EquivalentOutputBitrate * (30.0f / (targetFps ?? 30.0f)); + // Our reference bitrate is based on SDR h264 at 30fps + var referenceFps = targetFps ?? 30.0f; + var referenceScale = referenceFps <= 30.0f + ? 30.0f / referenceFps + : 1.0f / MathF.Sqrt(referenceFps / 30.0f); + var referenceBitrate = h264EquivalentOutputBitrate * referenceScale; if (isHdr) { |
