|
|
@ -297,37 +297,37 @@ namespace ErsatzTV.Core.Tests.FFmpeg |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]deinterlace_qsv,scale_qsv=w=1920:h=1000,hwdownload,format=nv12,setsar=1,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]deinterlace_qsv,scale_qsv=w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]deinterlace_qsv,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]deinterlace_qsv,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]deinterlace_qsv,scale_qsv=w=1920:h=1000,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]deinterlace_qsv,scale_qsv=w=1920:h=1000,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]scale_qsv=w=1920:h=1000,hwdownload,format=nv12,setsar=1,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]scale_qsv=w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]scale_qsv=w=1920:h=1000,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[0:0]scale_qsv=w=1920:h=1000,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload=extra_hw_frames=64[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
public void Should_Return_QSV_Video_Filter( |
|
|
|
public void Should_Return_QSV_Video_Filter( |
|
|
|
bool deinterlace, |
|
|
|
bool deinterlace, |
|
|
@ -368,37 +368,37 @@ namespace ErsatzTV.Core.Tests.FFmpeg |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]yadif_cuda,scale_cuda=1920:1000,hwdownload,format=nv12,setsar=1,hwupload[v]", |
|
|
|
"[0:0]yadif_cuda,scale_cuda=1920:1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]yadif_cuda,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]yadif_cuda,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]yadif_cuda,scale_cuda=1920:1000,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]yadif_cuda,scale_cuda=1920:1000,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]scale_cuda=1920:1000,hwdownload,format=nv12,setsar=1,hwupload[v]", |
|
|
|
"[0:0]scale_cuda=1920:1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]scale_cuda=1920:1000,hwdownload,format=nv12,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]scale_cuda=1920:1000,setsar=1,hwdownload,format=nv12,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
public void Should_Return_NVENC_Video_Filter( |
|
|
|
public void Should_Return_NVENC_Video_Filter( |
|
|
|
bool deinterlace, |
|
|
|
bool deinterlace, |
|
|
@ -440,42 +440,42 @@ namespace ErsatzTV.Core.Tests.FFmpeg |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,hwupload[v]", |
|
|
|
"[0:0]deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"h264", |
|
|
|
"h264", |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]deinterlace_vaapi,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]deinterlace_vaapi,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"h264", |
|
|
|
"h264", |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"h264", |
|
|
|
"h264", |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,hwupload[v]", |
|
|
|
"[0:0]scale_vaapi=format=nv12:w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"h264", |
|
|
|
"h264", |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"h264", |
|
|
|
"h264", |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]scale_vaapi=format=nv12:w=1920:h=1000,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase("mpeg4", true, false, false, "[0:0]hwupload,deinterlace_vaapi[v]", "[v]")]
|
|
|
|
[TestCase("mpeg4", true, false, false, "[0:0]hwupload,deinterlace_vaapi[v]", "[v]")]
|
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
@ -483,28 +483,28 @@ namespace ErsatzTV.Core.Tests.FFmpeg |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,hwupload[v]", |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"mpeg4", |
|
|
|
"mpeg4", |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"mpeg4", |
|
|
|
"mpeg4", |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]hwupload,deinterlace_vaapi,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"mpeg4", |
|
|
|
"mpeg4", |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
false, |
|
|
|
false, |
|
|
|
"[0:0]hwupload,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,hwupload[v]", |
|
|
|
"[0:0]hwupload,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
[TestCase( |
|
|
|
[TestCase( |
|
|
|
"mpeg4", |
|
|
|
"mpeg4", |
|
|
@ -518,7 +518,7 @@ namespace ErsatzTV.Core.Tests.FFmpeg |
|
|
|
false, |
|
|
|
false, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
true, |
|
|
|
"[0:0]hwupload,scale_vaapi=format=nv12:w=1920:h=1000,hwdownload,format=nv12|vaapi,setsar=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[0:0]hwupload,scale_vaapi=format=nv12:w=1920:h=1000,setsar=1,hwdownload,format=nv12|vaapi,pad=1920:1080:(ow-iw)/2:(oh-ih)/2,hwupload[v]", |
|
|
|
"[v]")] |
|
|
|
"[v]")] |
|
|
|
public void Should_Return_VAAPI_Video_Filter( |
|
|
|
public void Should_Return_VAAPI_Video_Filter( |
|
|
|
string codec, |
|
|
|
string codec, |
|
|
|