mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-24 02:31:03 +00:00
deinterlace: fix infinite loop on EOS with non-default methods or fields
Fixes problem of infinite loop in gst_deinterlace_reset_history. Last field in the history was never deinterlaced because idx becomes negative. Happens e.g. with method=scalerbob fields=bottom or method=greedyl fields=top https://bugzilla.gnome.org/show_bug.cgi?id=695644 https://bugzilla.gnome.org/show_bug.cgi?id=693173
This commit is contained in:
parent
3b943a56da
commit
288e05c99d
1 changed files with 2 additions and 0 deletions
|
@ -1708,6 +1708,8 @@ restart:
|
||||||
|
|
||||||
if (!flushing && self->cur_field_idx < 1) {
|
if (!flushing && self->cur_field_idx < 1) {
|
||||||
goto need_more;
|
goto need_more;
|
||||||
|
} else if (self->cur_field_idx < 0 && flushing) {
|
||||||
|
self->cur_field_idx++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (self->fields == GST_DEINTERLACE_ALL || IS_TELECINE (interlacing_mode))
|
if (self->fields == GST_DEINTERLACE_ALL || IS_TELECINE (interlacing_mode))
|
||||||
|
|
Loading…
Reference in a new issue