From 163b63b1c87813306a59e1c1162d90894dfa8b04 Mon Sep 17 00:00:00 2001 From: rfelker Date: Sun, 23 Mar 2003 16:10:06 +0000 Subject: [PATCH] try to break pattern at scene changes to prevent merging pictures that don't belong together! this fixes the problem reported with flcl-detc.avi. the conditions for this may need more tuning but seem to work ok. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@9666 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/vf_detc.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libmpcodecs/vf_detc.c b/libmpcodecs/vf_detc.c index 1fc422b6ef..57893fccc0 100644 --- a/libmpcodecs/vf_detc.c +++ b/libmpcodecs/vf_detc.c @@ -190,6 +190,13 @@ static int analyze_aggressive(struct vf_priv_s *p, mp_image_t *new, mp_image_t * p->pm = m; if (p->frame == 4) { + /* We need to break at scene changes, but is this a valid test? */ + if ((m.even > p->thres[2]) && (m.odd > p->thres[2]) && (m.temp > p->thres[3]) + && (m.temp > 5*pm.temp) && (m.temp*2 > m.noise)) { + mp_msg(MSGT_VFILTER, MSGL_V, "scene change breaking telecine!\n"); + p->frame = -1; + return TC_DROP; + } /* Thres. is to compensate for quantization errors when noise is low */ if (m.noise - m.temp > -p->thres[4]) { if (COMPARABLE(m.even, pm.odd)) {