|
|
|
@ -176,21 +176,27 @@ namespace ErsatzTV.Core.FFmpeg |
|
|
|
case HardwareAccelerationKind.Qsv: |
|
|
|
case HardwareAccelerationKind.Qsv: |
|
|
|
videoFilterQueue.Add("format=nv12"); |
|
|
|
videoFilterQueue.Add("format=nv12"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
|
|
|
|
case HardwareAccelerationKind.Vaapi: |
|
|
|
|
|
|
|
videoFilterQueue.Add("format=nv12|vaapi"); |
|
|
|
|
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
videoFilterQueue.Add("format=yuv420p"); |
|
|
|
videoFilterQueue.Add("format=yuv420p"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
switch (usesHardwareFilters, false, acceleration) |
|
|
|
switch (usesHardwareFilters || isSong, acceleration) |
|
|
|
{ |
|
|
|
{ |
|
|
|
case (true, false, HardwareAccelerationKind.Nvenc): |
|
|
|
case (true, HardwareAccelerationKind.Nvenc): |
|
|
|
videoFilterQueue.Add("hwupload_cuda"); |
|
|
|
videoFilterQueue.Add("hwupload_cuda"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case (true, false, HardwareAccelerationKind.Qsv): |
|
|
|
case (true, HardwareAccelerationKind.Qsv): |
|
|
|
videoFilterQueue.Add("hwupload=extra_hw_frames=64"); |
|
|
|
videoFilterQueue.Add("hwupload=extra_hw_frames=64"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case (true, false, _): |
|
|
|
case (true, HardwareAccelerationKind.Vaapi): |
|
|
|
|
|
|
|
videoFilterQueue.Add("hwupload"); |
|
|
|
|
|
|
|
break; |
|
|
|
|
|
|
|
case (true, _) when usesHardwareFilters: |
|
|
|
videoFilterQueue.Add("hwupload"); |
|
|
|
videoFilterQueue.Add("hwupload"); |
|
|
|
break; |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|