diff options
author | Vivia Nikolaidou <vivia@ahiru.eu> | 2020-06-18 22:15:08 +0300 |
---|---|---|
committer | Vivia Nikolaidou <vivia@ahiru.eu> | 2020-06-24 11:15:48 +0300 |
commit | 581d76b41a7acb0c2c657ba7e6aeab8d358c4f9a (patch) | |
tree | 141c62e48a6cdfe3c94b6bfa2898b90997a7a331 /gst | |
parent | 76ce67e70be524c706a6b762ef46e880cdcea7e8 (diff) | |
download | gstreamer-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.c | 4 |
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 |