diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs index 62777c23bc..bc8190975f 100644 --- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs +++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs @@ -3716,7 +3716,10 @@ namespace MediaBrowser.Controller.MediaEncoding { return state.BaseRequest.StreamOptions.TryGetValue("crtShader", out var val) && string.Equals(val, "true", StringComparison.OrdinalIgnoreCase) - && File.Exists(Path.Combine(AppContext.BaseDirectory, "Resources", "Shaders", "crt_lottes.cl")); + && File.Exists(Path.Combine(AppContext.BaseDirectory, "Resources", "Shaders", "crt_lottes.cl")) + && _mediaEncoder.SupportsHwaccel("opencl") + && _mediaEncoder.SupportsFilter("program_opencl") + && _mediaEncoder.SupportsFilter("scale_opencl"); } private string GetCrtEscapedShaderPath() @@ -3751,10 +3754,10 @@ namespace MediaBrowser.Controller.MediaEncoding return [ - "scale_opencl=w=iw:h=ih:format=rgba", + "scale_opencl=format=rgba", FormattableString.Invariant( $"program_opencl=source={escapedPath}:kernel=crt_lottes:build_opts='{buildOpts}'"), - "scale_opencl=w=iw:h=ih:format=nv12" + "scale_opencl=format=nv12" ]; }