diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-06-06 14:25:55 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-06-06 14:25:55 -0400 |
| commit | ee9c6c566416ac1f71d2e696528eb1af2e1ac581 (patch) | |
| tree | b3ec949f66bb9a716701405bc281eb0625271039 /MediaBrowser.Model/Dlna/ResolutionNormalizer.cs | |
| parent | c4dc925b00e5159a896e4f978455a9c4983b704d (diff) | |
| parent | 83105f5aaeea7af09154f6c765b414393740f00d (diff) | |
Merge pull request #1821 from MediaBrowser/dev
Dev
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); + } } } |
