diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 4c8a2b39e9..d4852decba 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -4933,6 +4933,17 @@ namespace MediaBrowser.Controller.MediaEncoding mainFilters.Add("hwmap=derive_device=qsv"); mainFilters.Add("format=qsv"); } + else if (isQsvDecoder) + { + if (IsCrtShaderEnabled(state)) + { + // QSV → OpenCL → CRT → QSV round-trip (SDR, no tonemap) + mainFilters.Add("hwmap=derive_device=opencl:mode=read"); + mainFilters.AddRange(GetCrtShaderOclFilters(state)); + mainFilters.Add("hwmap=derive_device=qsv:mode=write:reverse=1:extra_hw_frames=16"); + mainFilters.Add("format=qsv"); + } + } } /* Make sub and overlay filters for subtitle stream */