From 44d861cb39b59700ea5b8bd79da088d0d5400a23 Mon Sep 17 00:00:00 2001 From: Jochen Dolze Date: Tue, 8 Feb 2011 18:46:19 +0100 Subject: Prevent overlap detection to detect former overlaps in ad block --- command/video.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'command/video.cpp') diff --git a/command/video.cpp b/command/video.cpp index d896847..6f7081b 100644 --- a/command/video.cpp +++ b/command/video.cpp @@ -675,8 +675,12 @@ MarkAdPos *cMarkAdOverlap::Detect() if (simcnt>similarMaxCnt) { - result.FrameNumberBefore=histbuf[OV_BEFORE][tmpB].framenumber; - result.FrameNumberAfter=histbuf[OV_AFTER][tmpA].framenumber; + if ((histbuf[OV_BEFORE][tmpB].framenumber>result.FrameNumberBefore) && + (histbuf[OV_AFTER][tmpA].framenumber>result.FrameNumberAfter)) + { + result.FrameNumberBefore=histbuf[OV_BEFORE][tmpB].framenumber; + result.FrameNumberAfter=histbuf[OV_AFTER][tmpA].framenumber; + } } else { @@ -827,7 +831,7 @@ bool cMarkAdVideo::aspectratiochange(MarkAdAspectRatio &a, MarkAdAspectRatio &b, } -MarkAdPos *cMarkAdVideo::Process2ndPass(int FrameNumber, int Frames, bool BeforeAd) +MarkAdPos *cMarkAdVideo::ProcessOverlap(int FrameNumber, int Frames, bool BeforeAd) { if (!FrameNumber) return NULL; if (!overlap) overlap=new cMarkAdOverlap(macontext); -- cgit v1.2.3