diff options
| author | Joshua Boniface <joshua@boniface.me> | 2022-08-01 14:25:45 -0400 |
|---|---|---|
| committer | Joshua Boniface <joshua@boniface.me> | 2022-08-01 14:25:45 -0400 |
| commit | d5ea136dc5cf41c824eb0c09afca93f5804db4be (patch) | |
| tree | 18136dbf4146ee2193f82ff4617f5ce359b108ae | |
| parent | e251f1483ff0adf299266449cc54a6c411a7d7d8 (diff) | |
Backport pull request #8174 from jellyfin/release-10.8.z
Disable auto inserted SW scaler for HW decoders
Authored-by: nyanmisaka <nst799610810@gmail.com>
Merged-by: Bond-009 <bond.009@outlook.com>
Original-merge: 7297431f23a0fa1ab5aa15df93d91096a09c4f21
| -rw-r--r-- | Jellyfin.Api/Controllers/DynamicHlsController.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Jellyfin.Api/Controllers/DynamicHlsController.cs b/Jellyfin.Api/Controllers/DynamicHlsController.cs index 365e44e1a..1e8d03875 100644 --- a/Jellyfin.Api/Controllers/DynamicHlsController.cs +++ b/Jellyfin.Api/Controllers/DynamicHlsController.cs @@ -1790,7 +1790,8 @@ namespace Jellyfin.Api.Controllers || string.Equals(codec, "hevc", StringComparison.OrdinalIgnoreCase)) { if (EncodingHelper.IsCopyCodec(codec) - && (string.Equals(state.VideoStream.CodecTag, "dovi", StringComparison.OrdinalIgnoreCase) + && (string.Equals(state.VideoStream.VideoRangeType, "DOVI", StringComparison.OrdinalIgnoreCase) + || string.Equals(state.VideoStream.CodecTag, "dovi", StringComparison.OrdinalIgnoreCase) || string.Equals(state.VideoStream.CodecTag, "dvh1", StringComparison.OrdinalIgnoreCase) || string.Equals(state.VideoStream.CodecTag, "dvhe", StringComparison.OrdinalIgnoreCase))) { diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 1d65f9a34..7c59fa300 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -931,6 +931,13 @@ namespace MediaBrowser.Controller.MediaEncoding arg.Append(" -i \"").Append(state.AudioStream.Path).Append('"'); } + // Disable auto inserted SW scaler for HW decoders in case of changed resolution. + var isSwDecoder = string.IsNullOrEmpty(GetHardwareVideoDecoder(state, options)); + if (!isSwDecoder) + { + arg.Append(" -autoscale 0"); + } + return arg.ToString(); } |
