aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClaus Vium <cvium@users.noreply.github.com>2020-12-23 19:30:45 +0100
committerJoshua M. Boniface <joshua@boniface.me>2020-12-30 18:55:51 -0500
commitf72f27ff45202d44058bd8f4b2d3f2c861563c31 (patch)
tree4883d5a7b776c2950714a4882fbb4c16a92a82e9
parent71188ad27a427d96ccc761c5fb46647388af7b22 (diff)
Merge pull request #4856 from nyanmisaka/amf-profile
Fix some profiles for H264 AMF encoder (cherry picked from commit afdc98746b4dab23b2647d303ba5ac95f0846f46) Signed-off-by: Joshua M. Boniface <joshua@boniface.me>
-rw-r--r--MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs20
1 files changed, 16 insertions, 4 deletions
diff --git a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
index 73ede7c5a..6667c1c3b 100644
--- a/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
+++ b/MediaBrowser.Controller/MediaEncoding/EncodingHelper.cs
@@ -1131,8 +1131,8 @@ namespace MediaBrowser.Controller.MediaEncoding
profile = Regex.Replace(profile, @"\s+", string.Empty);
// We only transcode to HEVC 8-bit for now, force Main Profile.
- if (profile.Contains("main 10", StringComparison.OrdinalIgnoreCase)
- || profile.Contains("main still", StringComparison.OrdinalIgnoreCase))
+ if (profile.Contains("main10", StringComparison.OrdinalIgnoreCase)
+ || profile.Contains("mainstill", StringComparison.OrdinalIgnoreCase))
{
profile = "main";
}
@@ -1145,7 +1145,7 @@ namespace MediaBrowser.Controller.MediaEncoding
// Only libx264 support encoding H264 High 10 Profile, otherwise force High Profile.
if (!string.Equals(videoEncoder, "libx264", StringComparison.OrdinalIgnoreCase)
- && profile.Contains("high 10", StringComparison.OrdinalIgnoreCase))
+ && profile.Contains("high10", StringComparison.OrdinalIgnoreCase))
{
profile = "high";
}
@@ -1177,9 +1177,21 @@ namespace MediaBrowser.Controller.MediaEncoding
profile = "high";
}
+ if (string.Equals(videoEncoder, "h264_amf", StringComparison.OrdinalIgnoreCase)
+ && profile.Contains("constrainedbaseline", StringComparison.OrdinalIgnoreCase))
+ {
+ profile = "constrained_baseline";
+ }
+
+ if (string.Equals(videoEncoder, "h264_amf", StringComparison.OrdinalIgnoreCase)
+ && profile.Contains("constrainedhigh", StringComparison.OrdinalIgnoreCase))
+ {
+ profile = "constrained_high";
+ }
+
// Currently hevc_amf only support encoding HEVC Main Profile, otherwise force Main Profile.
if (string.Equals(videoEncoder, "hevc_amf", StringComparison.OrdinalIgnoreCase)
- && profile.Contains("main 10", StringComparison.OrdinalIgnoreCase))
+ && profile.Contains("main10", StringComparison.OrdinalIgnoreCase))
{
profile = "main";
}