From 2f668710400f433f6f0dcb9bd412d7060f91a294 Mon Sep 17 00:00:00 2001 From: gnattu Date: Fri, 8 Mar 2024 23:37:27 +0800 Subject: [PATCH] fix: also check if we are doing scaling Signed-off-by: gnattu --- MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 1ac40c7184..65224115b0 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -5011,6 +5011,7 @@ namespace MediaBrowser.Controller.MediaEncoding var threeDFormat = state.MediaSource.Video3DFormat; var isVtEncoder = vidEncoder.Contains("videotoolbox", StringComparison.OrdinalIgnoreCase); + var hwScaleFilter = GetHwScaleFilter("vt", null, inW, inH, reqW, reqH, reqMaxW, reqMaxH); var doDeintH264 = state.DeInterlace("h264", true) || state.DeInterlace("avc", true); var doDeintHevc = state.DeInterlace("h265", true) || state.DeInterlace("hevc", true); @@ -5019,6 +5020,7 @@ namespace MediaBrowser.Controller.MediaEncoding var doOclTonemap = !doVtTonemap && IsHwTonemapAvailable(state, options); var doTonemap = doVtTonemap || doOclTonemap; + var doScale = !string.IsNullOrEmpty(hwScaleFilter); var hasSubs = state.SubtitleStream is not null && state.SubtitleDeliveryMethod == SubtitleDeliveryMethod.Encode; var hasTextSubs = hasSubs && state.SubtitleStream.IsTextSubtitleStream; var hasGraphicalSubs = hasSubs && !state.SubtitleStream.IsTextSubtitleStream; @@ -5037,7 +5039,7 @@ namespace MediaBrowser.Controller.MediaEncoding /* Make main filters for video stream */ var mainFilters = new List(); - if (!(doTonemap || hasSubs || doDeintH2645)) + if (!(doTonemap || doScale || hasSubs || doDeintH2645)) { // Dummy action to return empty filters when nothing to do. return (mainFilters, mainFilters, mainFilters); @@ -5061,7 +5063,6 @@ namespace MediaBrowser.Controller.MediaEncoding mainFilters.Add(deintFilter); } - var hwScaleFilter = GetHwScaleFilter("vt", null, inW, inH, reqW, reqH, reqMaxW, reqMaxH); if (doVtTonemap) { const string VtTonemapArgs = "color_matrix=bt709:color_primaries=bt709:color_transfer=bt709";