* add new fields to database
* update editor
* audio and video normalization settings appear to work
* implement optional color normalization
* fix transcoding tests
* update changelog
@ -24,6 +24,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
@@ -24,6 +24,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- Add `Marathon Group By` option `Director`
- This groups the *first* director on Movies, Episodes, Music Videos and Other Videos
- This is supported in classic schedules and sequential schedules
- Add FFmpeg Profile options:
- `Normalize Audio` (default: true) - normalizes audio streams, or stream copies when disabled
- `Normalize Video` (default: true) - normalizes video streams, or stream copies when disabled
- `Normalize Colors` (default: true) - normalizes color parameters when enabled
- Disabling any of these options may have a significant performance benefit *at the expense of stream stability*
@ -27,9 +27,15 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@@ -27,9 +27,15 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@ -37,7 +43,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@@ -37,7 +43,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@ -67,7 +73,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@@ -67,7 +73,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@ -79,6 +85,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@@ -79,6 +85,7 @@ public class UpdateFFmpegProfileHandler(IDbContextFactory<TvContext> dbContextFa
@ -517,10 +517,11 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -517,10 +517,11 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -722,6 +723,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@@ -722,6 +723,7 @@ public class FFmpegLibraryProcessService : IFFmpegProcessService
@ -94,15 +94,15 @@ public class AmfPipelineBuilder : SoftwarePipelineBuilder
@@ -94,15 +94,15 @@ public class AmfPipelineBuilder : SoftwarePipelineBuilder
@ -347,7 +347,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -347,7 +347,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -392,7 +392,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -392,7 +392,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
privateList<IPipelineFilterStep>SetPixelFormat(
VideoStreamvideoStream,
Option<IPixelFormat>desiredPixelFormat,
FrameStatedesiredState,
FFmpegStateffmpegState,
FrameStatecurrentState,
PipelineContextcontext,
@ -400,7 +400,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -400,7 +400,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -419,7 +419,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@@ -419,7 +419,7 @@ public class NvidiaPipelineBuilder : SoftwarePipelineBuilder
@ -214,10 +214,14 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -214,10 +214,14 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -512,6 +516,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -512,6 +516,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -525,6 +534,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -525,6 +534,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -533,6 +547,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -533,6 +547,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -541,6 +560,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -541,6 +560,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -549,6 +573,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -549,6 +573,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -878,6 +907,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@@ -878,6 +907,11 @@ public abstract class PipelineBuilderBase : IPipelineBuilder
@ -259,7 +259,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -259,7 +259,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -279,7 +279,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -279,7 +279,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
privateList<IPipelineFilterStep>SetPixelFormat(
VideoInputFilevideoInputFile,
VideoStreamvideoStream,
Option<IPixelFormat>desiredPixelFormat,
FrameStatedesiredState,
FFmpegStateffmpegState,
FrameStatecurrentState,
PipelineContextcontext,
@ -287,7 +287,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -287,7 +287,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -352,7 +352,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@@ -352,7 +352,7 @@ public class QsvPipelineBuilder : SoftwarePipelineBuilder
@ -126,15 +126,15 @@ public class RkmppPipelineBuilder : SoftwarePipelineBuilder
@@ -126,15 +126,15 @@ public class RkmppPipelineBuilder : SoftwarePipelineBuilder
@ -152,7 +152,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -152,7 +152,7 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -169,15 +169,15 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@@ -169,15 +169,15 @@ public class SoftwarePipelineBuilder : PipelineBuilderBase
@ -124,15 +124,15 @@ public class V4l2m2mPipelineBuilder : SoftwarePipelineBuilder
@@ -124,15 +124,15 @@ public class V4l2m2mPipelineBuilder : SoftwarePipelineBuilder
@ -286,7 +286,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -286,7 +286,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -313,14 +313,14 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -313,14 +313,14 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -332,7 +332,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -332,7 +332,7 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@ -352,12 +352,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
@@ -352,12 +352,12 @@ public class VaapiPipelineBuilder : SoftwarePipelineBuilder
_logger.LogDebug(
"FrameDataLocation == FrameDataLocation.Hardware, {CurrentPixelFormat} bit => {DesiredPixelFormat}",
currentState.PixelFormat,
desiredPixelFormat);
desiredState.PixelFormat);
// don't try to download from 8-bit to 10-bit, or 10-bit to 8-bit
@ -123,15 +123,15 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@@ -123,15 +123,15 @@ public class VideoToolboxPipelineBuilder : SoftwarePipelineBuilder
@ -15,5 +15,14 @@ public class FFmpegProfileConfiguration : IEntityTypeConfiguration<FFmpegProfile
@@ -15,5 +15,14 @@ public class FFmpegProfileConfiguration : IEntityTypeConfiguration<FFmpegProfile