mirror of https://github.com/ErsatzTV/ErsatzTV.git
3 changed files with 5 additions and 35 deletions
@ -1,40 +1,13 @@
@@ -1,40 +1,13 @@
|
||||
using ErsatzTV.FFmpeg.Format; |
||||
|
||||
namespace ErsatzTV.FFmpeg.Filter.Cuda; |
||||
|
||||
public class SubtitleScaleNppFilter : BaseFilter |
||||
{ |
||||
private readonly FrameState _currentState; |
||||
private readonly FrameSize _paddedSize; |
||||
private readonly FrameSize _scaledSize; |
||||
|
||||
public SubtitleScaleNppFilter(FrameState currentState, FrameSize scaledSize, FrameSize paddedSize) |
||||
{ |
||||
_currentState = currentState; |
||||
_scaledSize = scaledSize; |
||||
_paddedSize = paddedSize; |
||||
} |
||||
|
||||
public override string Filter |
||||
{ |
||||
get |
||||
{ |
||||
string scale = string.Empty; |
||||
if (_currentState.ScaledSize != _scaledSize) |
||||
{ |
||||
var targetSize = $"{_paddedSize.Width}:{_paddedSize.Height}"; |
||||
string format = string.Empty; |
||||
foreach (IPixelFormat pixelFormat in _currentState.PixelFormat) |
||||
{ |
||||
format = $":format={pixelFormat.FFmpegName}"; |
||||
} |
||||
|
||||
scale = $"scale_npp={targetSize}{format}:force_original_aspect_ratio=1"; |
||||
} |
||||
public SubtitleScaleNppFilter(FrameSize paddedSize) => _paddedSize = paddedSize; |
||||
|
||||
return scale; |
||||
} |
||||
} |
||||
public override string Filter => |
||||
$"scale_npp={_paddedSize.Width}:{_paddedSize.Height}:force_original_aspect_ratio=1"; |
||||
|
||||
public override FrameState NextState(FrameState currentState) => currentState; |
||||
} |
||||
|
||||
Loading…
Reference in new issue