* use noautoscale with vaapi encoder
* only use one input file for vaapi with radeonsi driver
* fix vaapi 8-bit to 10-bit
* fix nvidia subtitle scaling
* optimize nvidia subtitle scaling
* fix test pgs subtitle
@ -15,6 +15,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -15,6 +15,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### Fixed
- Fix playout bug that caused some schedule items with fixed start times to be pushed to the next day
- Fix VAAPI transcoding 8-bit source content to 10-bit
- Fix NVIDIA subtitle scaling when `scale_npp` filter is unavailable
### Changed
- Upgrade ffmpeg to 6.1, which is now *required* for all installs
@ -762,7 +762,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -762,7 +762,8 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -40,6 +41,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -40,6 +41,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
fontsFolder,
logger)
{
_ffmpegCapabilities=ffmpegCapabilities;
_hardwareCapabilities=hardwareCapabilities;
_logger=logger;
}
@ -417,7 +419,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -417,7 +419,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
returncurrentState;
}
privatestaticFrameStateSetSubtitle(
privateFrameStateSetSubtitle(
VideoInputFilevideoInputFile,
Option<SubtitleInputFile>subtitleInputFile,
PipelineContextcontext,
@ -466,15 +468,31 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -466,15 +468,31 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -66,7 +66,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -66,7 +66,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -113,7 +113,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -113,7 +113,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -138,7 +138,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -138,7 +138,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -174,7 +174,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -174,7 +174,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -190,6 +191,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -190,6 +191,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -219,7 +222,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -219,7 +222,7 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -397,6 +400,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -397,6 +400,8 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -44,6 +44,10 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -44,6 +44,10 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -35,6 +35,8 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -35,6 +35,8 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -43,6 +44,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -43,6 +44,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -75,6 +82,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -75,6 +82,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
decodeCapability=FFmpegCapability.Software;
}
// disable auto scaling when using hw encoding
if(encodeCapabilityisFFmpegCapability.Hardware)
{
pipelineSteps.Add(newNoAutoScaleOutputOption());
}
// disable hw accel if decoder/encoder isn't supported
returnffmpegStatewith
{
@ -274,8 +287,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -274,8 +287,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder