diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-06 13:33:55 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-06-06 13:33:55 -0400 |
| commit | faefbf36cc761f6b488f9ad3dfdd3ebdf7022c8a (patch) | |
| tree | 406ceecfda1d2ce92d12c87b2d11168c00f55a90 /MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | |
| parent | 3e066ab9f5e0d21637ce2fb3779eb9d9438578b1 (diff) | |
adjust bitrate in h264/h265 conversions
Diffstat (limited to 'MediaBrowser.Model/Dlna/ResolutionNormalizer.cs')
| -rw-r--r-- | MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs index 8a412ac2c..ed18fed65 100644 --- a/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs +++ b/MediaBrowser.Model/Dlna/ResolutionNormalizer.cs @@ -56,5 +56,25 @@ namespace MediaBrowser.Model.Dlna MaxHeight = maxHeight }; } + + private static double GetVideoBitrateScaleFactor(string codec) + { + if (string.Equals(codec, "h265", StringComparison.OrdinalIgnoreCase) || + string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase)) + { + return .5; + } + return 1; + } + + public static int ScaleBitrate(int bitrate, string inputVideoCodec, string outputVideoCodec) + { + var inputScaleFactor = GetVideoBitrateScaleFactor(inputVideoCodec); + var outputScaleFactor = GetVideoBitrateScaleFactor(outputVideoCodec); + var scaleFactor = outputScaleFactor/inputScaleFactor; + var newBitrate = scaleFactor*bitrate; + + return Convert.ToInt32(newBitrate); + } } } |
