summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorVivia Nikolaidou <vivia@ahiru.eu>2020-06-18 22:15:08 +0300
committerVivia Nikolaidou <vivia@ahiru.eu>2020-06-24 11:15:48 +0300
commit581d76b41a7acb0c2c657ba7e6aeab8d358c4f9a (patch)
tree141c62e48a6cdfe3c94b6bfa2898b90997a7a331 /gst
parent76ce67e70be524c706a6b762ef46e880cdcea7e8 (diff)
downloadgstreamer-plugins-bad-581d76b41a7acb0c2c657ba7e6aeab8d358c4f9a.tar.gz
interlace: Restrict passthrough conditions
Don't do passthrough if interleave-mode=mixed or if we have one of the telecine modes Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1349>
Diffstat (limited to 'gst')
-rw-r--r--gst/interlace/gstinterlace.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gst/interlace/gstinterlace.c b/gst/interlace/gstinterlace.c
index c67865d3a..f3656505d 100644
--- a/gst/interlace/gstinterlace.c
+++ b/gst/interlace/gstinterlace.c
@@ -464,7 +464,9 @@ gst_interlace_setcaps (GstInterlace * interlace, GstCaps * caps)
}
interlace->switch_fields = FALSE;
- if (gst_caps_can_intersect (caps, othercaps)) {
+ if (gst_caps_can_intersect (caps, othercaps) &&
+ interlace->pattern <= GST_INTERLACE_PATTERN_2_2 &&
+ GST_VIDEO_INFO_INTERLACE_MODE (&info) != GST_VIDEO_INTERLACE_MODE_MIXED) {
/* FIXME: field-order is optional in the caps. This means that, if we're
* in a non-telecine mode and we have TFF upstream and
* top-field-first=FALSE in interlace (or the other way around), AND