[mythtv] commdetector2

Daniel Walton dwalton at cisco.com
Sat Sep 2 04:59:17 UTC 2006

> > - Blank frames are marked pretty reliably for digitial recordings but for
> > analog where the blank frames aren't as dark (sometimes in digitial they are
> > 100% black) I saw a lot of misses.  Right now a MAXRANGE of 32 seems to do
> > the trick but I am reflagging everything to make sure I'm not getting any
> > non-blanks flagged as blanks with this setting.
> The trade-off of a bigger range is that other monochromatically-colored frames
> (say, a grey-out scene like in a snowstorm or something) might be mistakenly
> identified as "blanK" frames.

How difficult would it be for the commdetector to distinguish a blank white or
grey screen vs a blank black screens?  The higher maxrange value is very much
needed for analog recordings.

> > - ESPN Classic tends to wait longer than most stations when it comes to
> > displaying their logo after a commercial break.  The longest I saw was 34
> > seconds so I changed MAXBLANKADJUSTMENT to 35.  The only case where this
> > hasn't been long enough was for the "30 days" show on FX.  FX sometimes
> > waits a few minutes before displaying their logo after a commercial.
> >
> > Index: programs/mythcommflag/TemplateMatcher.cpp
> > ===================================================================
> > --- programs/mythcommflag/TemplateMatcher.cpp   (revision 11004)
> > +++ programs/mythcommflag/TemplateMatcher.cpp   (working copy)
> > @@ -730,7 +752,7 @@
> >       * to deviate by up to MAXBLANKADJUSTMENT frames before/after the break
> >       * actually begins/ends.
> >       */
> > -    const int       MAXBLANKADJUSTMENT = (int)roundf(25 * fps);  /* frames */
> > +    const int       MAXBLANKADJUSTMENT = (int)roundf(35 * fps);  /* frames */
> >      const bool      skipCommBlanks = blankFrameDetector->getSKipCommBlanks();
> >
> The trade-off with aggressively increasing this value (e.g., go as far back as
> necessary to find a blank frame) is that if a commercial break is actually
> *not* delimited by blank frames (e.g., broadcast resumes immediately after
> commercial with no blank frames), then you might pick up an inter-commercial
> blank frame as the resumption of your regularly-scheduled show.

I have a recording of a show on FX with the following timeline:

0:14:17 logo disappears
0:14:18 first blank screen of the commercial break
0:17:19 last blank screen of the commercial break
0:21:47 logo re-appears

This currently gets flagged as a commercial from 0:14:17 to 0:21:47 (4 1/2
minutes too long) because the station waited longer than my 35 second
MAXBLANKADJUSTMENT setting to show the logo after coming back from the
commercial break.  If the code did "go as far back as necessary to find a blank
frame" then it would fix the flagging for this scenario but I follow what you
are saying about the case where there is no blank frame when the show resumes.
How you set this just depends on how you want the flagger to act when it isn't
100% sure.  I'd prefer that it not flag any of the show as commercials and if it
misses flagging some commercials then I can skip over those parts manually.


More information about the mythtv-dev mailing list