Browse Source

always use nv12 for 8 bit vaapi encoding (#1636)

pull/1637/head
Jason Dove 1 year ago committed by GitHub
parent
commit
986785d863
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 9
      ErsatzTV.FFmpeg/Pipeline/VaapiPipelineBuilder.cs

9
ErsatzTV.FFmpeg/Pipeline/VaapiPipelineBuilder.cs

@ -322,14 +322,15 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder @@ -322,14 +322,15 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
currentState.PixelFormat.Map(f => f.FFmpegName),
format.FFmpegName);
if (currentState.FrameDataLocation == FrameDataLocation.Hardware)
{
// NV12 is 8-bit
if (format is PixelFormatYuv420P)
// NV12 is 8-bit, and Intel VAAPI seems to REQUIRE NV12
// NUT is fine with YUV420P
if (format is PixelFormatYuv420P && ffmpegState.OutputFormat is not OutputFormatKind.Nut)
{
format = new PixelFormatNv12(format.Name);
}
if (currentState.FrameDataLocation == FrameDataLocation.Hardware)
{
result.Add(new VaapiFormatFilter(format));
}
else

Loading…
Cancel
Save