Enable the new BWDIF CUDA deint filter when available

this requires jellyfin-ffmpeg7

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
This commit is contained in:
nyanmisaka 2024-09-05 22:27:58 +08:00
parent 12a88fe042
commit aecd294fd7
2 changed files with 7 additions and 2 deletions

View File

@ -3234,14 +3234,18 @@ namespace MediaBrowser.Controller.MediaEncoding
doubleRateDeint ? "1" : "0"); doubleRateDeint ? "1" : "0");
} }
public static string GetHwDeinterlaceFilter(EncodingJobInfo state, EncodingOptions options, string hwDeintSuffix) public string GetHwDeinterlaceFilter(EncodingJobInfo state, EncodingOptions options, string hwDeintSuffix)
{ {
var doubleRateDeint = options.DeinterlaceDoubleRate && (state.VideoStream?.AverageFrameRate ?? 60) <= 30; var doubleRateDeint = options.DeinterlaceDoubleRate && (state.VideoStream?.AverageFrameRate ?? 60) <= 30;
if (hwDeintSuffix.Contains("cuda", StringComparison.OrdinalIgnoreCase)) if (hwDeintSuffix.Contains("cuda", StringComparison.OrdinalIgnoreCase))
{ {
var useBwdif = string.Equals(options.DeinterlaceMethod, "bwdif", StringComparison.OrdinalIgnoreCase)
&& _mediaEncoder.SupportsFilter("bwdif_cuda");
return string.Format( return string.Format(
CultureInfo.InvariantCulture, CultureInfo.InvariantCulture,
"yadif_cuda={0}:-1:0", "{0}_cuda={1}:-1:0",
useBwdif ? "bwdif" : "yadif",
doubleRateDeint ? "1" : "0"); doubleRateDeint ? "1" : "0");
} }

View File

@ -110,6 +110,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
// cuda // cuda
"scale_cuda", "scale_cuda",
"yadif_cuda", "yadif_cuda",
"bwdif_cuda",
"tonemap_cuda", "tonemap_cuda",
"overlay_cuda", "overlay_cuda",
"transpose_cuda", "transpose_cuda",