diff options
author | rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-09-03 00:08:58 +0000 |
---|---|---|
committer | rfelker <rfelker@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-09-03 00:08:58 +0000 |
commit | 04ecde13b14225a0ed43b56d8fff00dda3b51101 (patch) | |
tree | 758c4b6d303ea6143417c996130a2dafca41c78f | |
parent | d08eab1ecac622cd84cf6f1b372910a677478187 (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.c | 8 |
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: |