aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-02-01 12:02:58 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-02-01 12:02:58 -0500
commit51df0b79f208bf11be01488aa5ffd3b171ae2198 (patch)
treed1e7462d4b3a6960818414130614b30c8ec49564
parentfb91b7c808a6348529b4115d2e51c3db400e8d89 (diff)
update interlaced detection
-rw-r--r--MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs27
1 files changed, 18 insertions, 9 deletions
diff --git a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
index ba0790bf3..2a3a416ad 100644
--- a/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
+++ b/MediaBrowser.MediaEncoding/Encoder/MediaEncoder.cs
@@ -292,16 +292,25 @@ namespace MediaBrowser.MediaEncoding.Encoder
return false;
}
- // If the video codec is not some form of mpeg, then take a shortcut and limit this to containers that are likely to have interlaced content
- if ((videoStream.Codec ?? string.Empty).IndexOf("mpeg", StringComparison.OrdinalIgnoreCase) == -1)
+ var formats = (video.Container ?? string.Empty).Split(',').ToList();
+ var enableInterlacedDection = formats.Contains("vob", StringComparer.OrdinalIgnoreCase) &&
+ formats.Contains("m2ts", StringComparer.OrdinalIgnoreCase) &&
+ formats.Contains("ts", StringComparer.OrdinalIgnoreCase) &&
+ formats.Contains("mpegts", StringComparer.OrdinalIgnoreCase) &&
+ formats.Contains("wtv", StringComparer.OrdinalIgnoreCase);
+
+ // If it's mpeg based, assume true
+ if ((videoStream.Codec ?? string.Empty).IndexOf("mpeg", StringComparison.OrdinalIgnoreCase) != -1)
{
- var formats = (video.Container ?? string.Empty).Split(',').ToList();
-
- if (!formats.Contains("vob", StringComparer.OrdinalIgnoreCase) &&
- !formats.Contains("m2ts", StringComparer.OrdinalIgnoreCase) &&
- !formats.Contains("ts", StringComparer.OrdinalIgnoreCase) &&
- !formats.Contains("mpegts", StringComparer.OrdinalIgnoreCase) &&
- !formats.Contains("wtv", StringComparer.OrdinalIgnoreCase))
+ if (enableInterlacedDection)
+ {
+ return true;
+ }
+ }
+ else
+ {
+ // If the video codec is not some form of mpeg, then take a shortcut and limit this to containers that are likely to have interlaced content
+ if (!enableInterlacedDection)
{
return false;
}