44 lines
No EOL
1.5 KiB
C#
44 lines
No EOL
1.5 KiB
C#
using System;
|
|
using Paca.Core;
|
|
using Xunit;
|
|
|
|
namespace Paca.Tests.Core;
|
|
|
|
public class VideoFrameRateConverterGateTests
|
|
{
|
|
[Fact]
|
|
public void Gate421_VideoFrameRateConverter_BuildsSimpleFpsFilter()
|
|
{
|
|
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.Simple);
|
|
Assert.Equal("fps=60", filter);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate422_VideoFrameRateConverter_BuildsMotionInterpolationFilter()
|
|
{
|
|
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.MotionCompensated);
|
|
Assert.Contains("minterpolate=", filter);
|
|
Assert.Contains("fps=60", filter);
|
|
Assert.Contains("mi_mode=mci", filter);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate423_VideoFrameRateConverter_BuildsBlendFilter()
|
|
{
|
|
var filter = VideoFrameRateConverter.BuildFpsFilter(60, FrameRateConversionMode.FrameBlend);
|
|
Assert.Contains("tblend=all_mode=average", filter);
|
|
Assert.Contains("framerate=fps=60", filter);
|
|
}
|
|
|
|
[Fact]
|
|
public void Gate424_VideoFrameRateConverter_BuildsFullFfmpegCli()
|
|
{
|
|
var args = VideoFrameRateConverter.BuildFfmpegArgs("in.mp4", "out.mp4", 60, FrameRateConversionMode.MotionCompensated, crf: 18);
|
|
|
|
Assert.Contains("-i \"in.mp4\"", args);
|
|
Assert.Contains("-vf \"minterpolate=", args);
|
|
Assert.Contains("-c:v libx264 -crf 18", args);
|
|
Assert.Contains("-c:a copy", args);
|
|
Assert.Contains("\"out.mp4\"", args);
|
|
}
|
|
} |