@ -5,17 +5,28 @@ namespace ErsatzTV.FFmpeg.GlobalOption.HardwareAcceleration;
@@ -5,17 +5,28 @@ namespace ErsatzTV.FFmpeg.GlobalOption.HardwareAcceleration;
public class VaapiHardwareAccelerationOption : GlobalOption
{
private readonly FFmpegCapability _d ecodeCapability ;
private readonly string _ vaapiDevice ;
private readonly Option < string > _ vaapiDevice ;
public VaapiHardwareAccelerationOption ( string vaapiDevice , FFmpegCapability decodeCapability )
public VaapiHardwareAccelerationOption ( Option < string > vaapiDevice , FFmpegCapability decodeCapability )
{
_ vaapiDevice = vaapiDevice ;
_d ecodeCapability = decodeCapability ;
}
public override string [ ] GlobalOptions = > _d ecodeCapability = = FFmpegCapability . Hardware
? new [ ] { "-hwaccel" , "vaapi" , "-vaapi_device" , _ vaapiDevice }
: new [ ] { "-vaapi_device" , _ vaapiDevice } ;
public override string [ ] GlobalOptions
{
get
{
foreach ( string vaapiDevice in _ vaapiDevice )
{
return _d ecodeCapability = = FFmpegCapability . Hardware
? [ "-hwaccel" , "vaapi" , "-vaapi_device" , vaapiDevice ]
: [ "-vaapi_device" , vaapiDevice ] ;
}
return [ "-hwaccel" , "vaapi" ] ;
}
}
public override FrameState NextState ( FrameState currentState ) = > currentState with
{