Files
ersatztv/ErsatzTV.FFmpeg/Decoder/Cuvid/CuvidDecoder.cs
T
Jason DoveandGitHub 9471cb55dd upgrade from dotnet 7 to dotnet 8 (#1529)
* upgrade sdk

* fix warnings in ersatztv.ffmpeg

* fix warnings in ersatztv.core

* fix warnings in ersatztv.infrastructure

* fix warnings in ersatztv.application

* disable analysis for migrations projects

* fix warnings in ersatztv.scanner

* fix warnings in ersatztv

* upgrade project framework

* update github actions and dockerfiles
2023-12-30 13:29:57 -06:00

33 lines
1.0 KiB
C#

namespace ErsatzTV.FFmpeg.Decoder.Cuvid;
public abstract class CuvidDecoder : DecoderBase
{
protected CuvidDecoder(HardwareAccelerationMode hardwareAccelerationMode) =>
HardwareAccelerationMode = hardwareAccelerationMode;
public HardwareAccelerationMode HardwareAccelerationMode { get; set; }
protected override FrameDataLocation OutputFrameDataLocation =>
HardwareAccelerationMode == HardwareAccelerationMode.None
? FrameDataLocation.Software
: FrameDataLocation.Hardware;
public override string[] InputOptions(InputFile inputFile)
{
var result = new List<string>(base.InputOptions(inputFile));
if (HardwareAccelerationMode != HardwareAccelerationMode.None)
{
result.Add("-hwaccel_output_format");
result.Add("cuda");
}
else
{
result.Add("-hwaccel_output_format");
result.Add(InputBitDepth(inputFile) == 10 ? "p010le" : "nv12");
}
return result.ToArray();
}
}