Bump the required minimum ffmpeg version to 4.4

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
pull/11161/head
nyanmisaka 3 months ago
parent 557b8f0c78
commit ae7c0c83e9

@ -51,7 +51,6 @@ namespace MediaBrowser.Controller.MediaEncoding
private readonly Version _minFFmpegOclCuTonemapMode = new Version(5, 1, 3); private readonly Version _minFFmpegOclCuTonemapMode = new Version(5, 1, 3);
private readonly Version _minFFmpegSvtAv1Params = new Version(5, 1); private readonly Version _minFFmpegSvtAv1Params = new Version(5, 1);
private readonly Version _minFFmpegVaapiH26xEncA53CcSei = new Version(6, 0); private readonly Version _minFFmpegVaapiH26xEncA53CcSei = new Version(6, 0);
private readonly Version _minFFmpegAutoscaleOption = new Version(4, 4);
private readonly Version _minFFmpegReadrateOption = new Version(5, 0); private readonly Version _minFFmpegReadrateOption = new Version(5, 0);
private static readonly string[] _videoProfilesH264 = new[] private static readonly string[] _videoProfilesH264 = new[]
@ -1223,7 +1222,7 @@ namespace MediaBrowser.Controller.MediaEncoding
// Disable auto inserted SW scaler for HW decoders in case of changed resolution. // Disable auto inserted SW scaler for HW decoders in case of changed resolution.
var isSwDecoder = string.IsNullOrEmpty(GetHardwareVideoDecoder(state, options)); var isSwDecoder = string.IsNullOrEmpty(GetHardwareVideoDecoder(state, options));
if (!isSwDecoder && _mediaEncoder.EncoderVersion >= _minFFmpegAutoscaleOption) if (!isSwDecoder)
{ {
arg.Append(" -noautoscale"); arg.Append(" -noautoscale");
} }

@ -146,17 +146,18 @@ namespace MediaBrowser.MediaEncoding.Encoder
{ 5, new string[] { "overlay_vulkan", "Action to take when encountering EOF from secondary input" } } { 5, new string[] { "overlay_vulkan", "Action to take when encountering EOF from secondary input" } }
}; };
// These are the library versions that corresponds to our minimum ffmpeg version 4.x according to the version table below // These are the library versions that corresponds to our minimum ffmpeg version 4.4 according to the version table below
// Refers to the versions in https://ffmpeg.org/download.html
private static readonly Dictionary<string, Version> _ffmpegMinimumLibraryVersions = new Dictionary<string, Version> private static readonly Dictionary<string, Version> _ffmpegMinimumLibraryVersions = new Dictionary<string, Version>
{ {
{ "libavutil", new Version(56, 14) }, { "libavutil", new Version(56, 70) },
{ "libavcodec", new Version(58, 18) }, { "libavcodec", new Version(58, 134) },
{ "libavformat", new Version(58, 12) }, { "libavformat", new Version(58, 76) },
{ "libavdevice", new Version(58, 3) }, { "libavdevice", new Version(58, 13) },
{ "libavfilter", new Version(7, 16) }, { "libavfilter", new Version(7, 110) },
{ "libswscale", new Version(5, 1) }, { "libswscale", new Version(5, 9) },
{ "libswresample", new Version(3, 1) }, { "libswresample", new Version(3, 9) },
{ "libpostproc", new Version(55, 1) } { "libpostproc", new Version(55, 9) }
}; };
private readonly ILogger _logger; private readonly ILogger _logger;
@ -176,7 +177,7 @@ namespace MediaBrowser.MediaEncoding.Encoder
} }
// When changing this, also change the minimum library versions in _ffmpegMinimumLibraryVersions // When changing this, also change the minimum library versions in _ffmpegMinimumLibraryVersions
public static Version MinVersion { get; } = new Version(4, 0); public static Version MinVersion { get; } = new Version(4, 4);
public static Version? MaxVersion { get; } = null; public static Version? MaxVersion { get; } = null;

Loading…
Cancel
Save