aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-03 00:08:58 +0000
committerGravatar rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2>2004-09-03 00:08:58 +0000
commit04ecde13b14225a0ed43b56d8fff00dda3b51101 (patch)
tree758c4b6d303ea6143417c996130a2dafca41c78f
parentd08eab1ecac622cd84cf6f1b372910a677478187 (diff)
strictness level -1 to 'almost' ignore breaks
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@13236 b3059339-0415-0410-9bf9-f77b7e298cf2
-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: