Files
FileFlowsPlugins/VideoNodes/Tests/VaapiAdjustmentTests.cs
John Andrews 95948baba2 fixing vaapi
2024-01-29 11:30:10 +13:00

128 lines
3.6 KiB
C#

#if(DEBUG)
using FileFlows.VideoNodes.FfmpegBuilderNodes.EncoderAdjustments;
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace VideoNodes.Tests;
[TestClass]
public class VaapiAdjustmentTests: TestBase
{
[TestMethod]
public void Vaapi_CropAndScale()
{
var inputParameters = new List<string>
{
"-fflags",
"+genpts",
"-probesize",
"5M",
"-i",
"/media/Encodes/None Scene Release/Masters.of.the.Air.S01E01.Part.One.1080p.mkv",
"-y",
"-movflags",
"+faststart",
"-map_metadata",
"-1",
"-map",
"0:v:0",
"-c:v:0",
"h264_vaapi",
"-qp",
"23",
"-preset",
"slower",
"-spatial-aq",
"1",
"-filter:v:0",
"crop=1904:800:8:2, scale=1280:-2:flags=lanczos",
"-metadata:s:v:0",
"title=",
"-map",
"0:a:0",
"-c:a:0",
"aac",
"-ac:a:0",
"2",
"-b:a:0",
"160k",
"-metadata:s:a:0",
"BPS=160000",
"-ar:a:0",
"48000",
"-filter:a:0",
"loudnorm=print_format=summary:linear=true:I=-24:LRA=7:TP=-2.0:measured_I=-18.14:measured_LRA=5.20:measured_tp=-4.31:measured_thresh=-28.14:offset=0.56, volume=.7",
"-metadata:s:a:0",
"title=Stereo",
"-metadata:s:a:0",
"language=eng"
};
var logger = new TestLogger();
var updated = new VaapiAdjustments().Run(logger, inputParameters);
Assert.AreEqual("-vf", updated[9]);
Assert.AreEqual("format=nv12,hwupload,scale_vaapi=1280:-2", updated[10]);
int index = updated.FindIndex(x => x.StartsWith("-filter:v"));
Assert.IsTrue(index > 0);
Assert.AreEqual("crop=1904:800:8:2", updated[index + 1]);
}
[TestMethod]
public void Vaapi_Scale()
{
var inputParameters = new List<string>
{
"-fflags",
"+genpts",
"-probesize",
"5M",
"-i",
"/media/Encodes/None Scene Release/Masters.of.the.Air.S01E01.Part.One.1080p.mkv",
"-y",
"-movflags",
"+faststart",
"-map_metadata",
"-1",
"-map",
"0:v:0",
"-c:v:0",
"h264_vaapi",
"-qp",
"23",
"-preset",
"slower",
"-spatial-aq",
"1",
"-filter:v:0",
"scale=1280:-2:flags=lanczos",
"-metadata:s:v:0",
"title=",
"-map",
"0:a:0",
"-c:a:0",
"aac",
"-ac:a:0",
"2",
"-b:a:0",
"160k",
"-metadata:s:a:0",
"BPS=160000",
"-ar:a:0",
"48000",
"-filter:a:0",
"loudnorm=print_format=summary:linear=true:I=-24:LRA=7:TP=-2.0:measured_I=-18.14:measured_LRA=5.20:measured_tp=-4.31:measured_thresh=-28.14:offset=0.56, volume=.7",
"-metadata:s:a:0",
"title=Stereo",
"-metadata:s:a:0",
"language=eng"
};
var logger = new TestLogger();
var updated = new VaapiAdjustments().Run(logger, inputParameters);
Assert.AreEqual("-vf", updated[9]);
Assert.AreEqual("format=nv12,hwupload,scale_vaapi=1280:-2", updated[10]);
Assert.IsFalse(updated.Any(x => x.StartsWith("-filter:v")));
}
}
#endif