|
|
|
@ -8,6 +8,7 @@ using ErsatzTV.FFmpeg.Filter.Cuda; |
|
|
|
using ErsatzTV.FFmpeg.Format; |
|
|
|
using ErsatzTV.FFmpeg.Format; |
|
|
|
using ErsatzTV.FFmpeg.GlobalOption.HardwareAcceleration; |
|
|
|
using ErsatzTV.FFmpeg.GlobalOption.HardwareAcceleration; |
|
|
|
using ErsatzTV.FFmpeg.InputOption; |
|
|
|
using ErsatzTV.FFmpeg.InputOption; |
|
|
|
|
|
|
|
using ErsatzTV.FFmpeg.OutputFormat; |
|
|
|
using ErsatzTV.FFmpeg.OutputOption; |
|
|
|
using ErsatzTV.FFmpeg.OutputOption; |
|
|
|
using ErsatzTV.FFmpeg.State; |
|
|
|
using ErsatzTV.FFmpeg.State; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
using Microsoft.Extensions.Logging; |
|
|
|
@ -63,6 +64,12 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder |
|
|
|
desiredState.VideoFormat, |
|
|
|
desiredState.VideoFormat, |
|
|
|
desiredState.VideoProfile, |
|
|
|
desiredState.VideoProfile, |
|
|
|
desiredState.PixelFormat); |
|
|
|
desiredState.PixelFormat); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// use software encoding (rawvideo) when piping to parent hls segmenter
|
|
|
|
|
|
|
|
if (ffmpegState.OutputFormat is OutputFormatKind.Nut) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
encodeCapability = FFmpegCapability.Software; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// mpeg2_cuvid seems to have issues when yadif_cuda is used, so just use software decoding
|
|
|
|
// mpeg2_cuvid seems to have issues when yadif_cuda is used, so just use software decoding
|
|
|
|
if (context.ShouldDeinterlace && videoStream.Codec == VideoFormat.Mpeg2Video) |
|
|
|
if (context.ShouldDeinterlace && videoStream.Codec == VideoFormat.Mpeg2Video) |
|
|
|
|