* 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
25 lines
830 B
C#
25 lines
830 B
C#
using ErsatzTV.FFmpeg.Capabilities;
|
|
|
|
namespace ErsatzTV.FFmpeg.GlobalOption.HardwareAcceleration;
|
|
|
|
public class VaapiHardwareAccelerationOption : GlobalOption
|
|
{
|
|
private readonly FFmpegCapability _decodeCapability;
|
|
private readonly string _vaapiDevice;
|
|
|
|
public VaapiHardwareAccelerationOption(string vaapiDevice, FFmpegCapability decodeCapability)
|
|
{
|
|
_vaapiDevice = vaapiDevice;
|
|
_decodeCapability = decodeCapability;
|
|
}
|
|
|
|
public override string[] GlobalOptions => _decodeCapability == FFmpegCapability.Hardware
|
|
? new[] { "-hwaccel", "vaapi", "-vaapi_device", _vaapiDevice }
|
|
: new[] { "-vaapi_device", _vaapiDevice };
|
|
|
|
public override FrameState NextState(FrameState currentState) => currentState with
|
|
{
|
|
FrameDataLocation = FrameDataLocation.Hardware
|
|
};
|
|
}
|