summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpcodecs/pullup.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/libmpcodecs/pullup.c b/libmpcodecs/pullup.c
index a10b256945..2abaa158a7 100644
--- a/libmpcodecs/pullup.c
+++ b/libmpcodecs/pullup.c
@@ -480,15 +480,19 @@ static int decide_frame_length(struct pullup_context *c)
struct pullup_field *f1 = f0->next;
struct pullup_field *f2 = f1->next;
struct pullup_field *f3 = f2->next;
+ int l;
if (queue_length(c->first, c->last) < 6) return 0;
foo(c);
if (f0->affinity == -1) return 1;
- switch (find_first_break(f0, 3)) {
+ l = find_first_break(f0, 3);
+ if (l == 1 && c->strict_breaks < 0) l = 0;
+
+ switch (l) {
case 1:
- if (!c->strict_breaks && f0->affinity == 1 && f1->affinity == -1)
+ if (c->strict_breaks > 0 && f0->affinity == 1 && f1->affinity == -1)
return 2;
else return 1;
case 2: