From 03b9db7835afb08529a30cd4d012ab84b456b374 Mon Sep 17 00:00:00 2001 From: Jason Dove <1695733+jasongdove@users.noreply.github.com> Date: Mon, 15 Sep 2025 14:40:27 -0500 Subject: [PATCH] fix green output with libplacebo and nvidia 10 bit (#2422) --- CHANGELOG.md | 3 +++ ErsatzTV.FFmpeg/Pipeline/NvidiaPipelineBuilder.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cc3803efa..02d0279c4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Items will still be scheduled from the rerun collection if it is used before the first run collection - Otherwise, the rerun collection would be considered "empty" which prevents the playout build altogether +### Fixed +- Fix green output when libplacebo tonemapping is used with NVIDIA acceleration + ## [25.6.0] - 2025-09-14 ### Added - Classic schedules: allow selecting multiple graphics elements on schedule items diff --git a/ErsatzTV.FFmpeg/Pipeline/NvidiaPipelineBuilder.cs b/ErsatzTV.FFmpeg/Pipeline/NvidiaPipelineBuilder.cs index 2549ec9a9..ad55c3864 100644 --- a/ErsatzTV.FFmpeg/Pipeline/NvidiaPipelineBuilder.cs +++ b/ErsatzTV.FFmpeg/Pipeline/NvidiaPipelineBuilder.cs @@ -787,7 +787,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder { if (ffmpegState.IsHdrTonemap) { - var filter = new TonemapCudaFilter(ffmpegState, pixelFormat); + var filter = new TonemapCudaFilter(ffmpegState, new PixelFormatNv12(FFmpegFormat.YUV420P)); currentState = filter.NextState(currentState); videoStream.ResetColorParams(ColorParams.Default); videoInputFile.FilterSteps.Add(filter);