20 lines
842 B
C#
20 lines
842 B
C#
using ErsatzTV.FFmpeg.Format;
|
|
|
|
namespace ErsatzTV.FFmpeg.Decoder;
|
|
|
|
// VA-API-accelerated decode that downloads frames to system memory (no
|
|
// -hwaccel_output_format). Pairs with `-hwaccel vaapi` from
|
|
// QsvHardwareAccelerationOption on the "prefer native decoder" QSV path: the
|
|
// error-tolerant VA-API decoder feeds software frames into the QSV builder's
|
|
// format=nv12,hwupload,vpp_qsv branch, which re-uploads for the QSV encoder.
|
|
public class DecoderVaapiToSoftware : DecoderBase
|
|
{
|
|
protected override FrameDataLocation OutputFrameDataLocation => FrameDataLocation.Software;
|
|
|
|
public override string Name => "implicit_vaapi";
|
|
|
|
// no -c:v (implicit decoder; `-hwaccel vaapi` drives VA-API) and no
|
|
// -hwaccel_output_format (frames download to software)
|
|
public override string[] InputOptions(InputFile inputFile) => [];
|
|
}
|