From f60281d8fd36af6cdb3357a1bbd3317e2724afe9 Mon Sep 17 00:00:00 2001 From: gnattu Date: Mon, 16 Jun 2025 05:22:49 +0800 Subject: [PATCH] Use square root scaling for high framerate videos' bitrate requirements (#14314) --- MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs index 1a636b2403..88c378d667 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) {