mirror of https://github.com/ErsatzTV/ErsatzTV.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
1.0 KiB
30 lines
1.0 KiB
using ErsatzTV.FFmpeg.Filter.Cuda; |
|
using ErsatzTV.FFmpeg.Filter.Qsv; |
|
using ErsatzTV.FFmpeg.Format; |
|
using ErsatzTV.FFmpeg.State; |
|
using Microsoft.Extensions.Logging; |
|
|
|
namespace ErsatzTV.FFmpeg.Filter; |
|
|
|
public static class AvailableWatermarkOverlayFilters |
|
{ |
|
public static IPipelineFilterStep ForAcceleration( |
|
HardwareAccelerationMode accelMode, |
|
WatermarkState watermarkState, |
|
FrameSize resolution, |
|
FrameSize squarePixelFrameSize, |
|
ILogger logger) => |
|
accelMode switch |
|
{ |
|
HardwareAccelerationMode.Nvenc => |
|
new OverlayWatermarkCudaFilter(watermarkState, resolution, squarePixelFrameSize, logger), |
|
HardwareAccelerationMode.Qsv => |
|
new OverlayWatermarkQsvFilter(watermarkState, resolution, squarePixelFrameSize, logger), |
|
_ => new OverlayWatermarkFilter( |
|
watermarkState, |
|
resolution, |
|
squarePixelFrameSize, |
|
new PixelFormatYuv420P(), |
|
logger) |
|
}; |
|
}
|
|
|