[mythtv-commits] mythtv commits

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue Jan 18 01:05:02 EST 2005


----------------------------------------------------------------------------
Changes committed by cpinkham on Tue Jan 18 01:03:32 2005

Modified Files:
   in mythtv/libs/libmythtv:
        NuppelVideoPlayer.cpp commercial_skip.cpp commercial_skip.h 
   in mythtv/programs/mythfrontend:
        globalsettings.cpp 
Log Message:


* Tweaks to Commercial Detection/Flagging code.
  - Code should now detect actual Blank frames rather than Black
    frames as was previously done.  The method of detecting blank
    frames changed to detect the difference between min/max
    brightness rather than just checking for frames with a max
    brightness below a certain level.  This seems to eliminate a
    lot of false positives and do better detection on dark shows and
    shows with black frames interspersed throughout the show. Tested
    with some problem episodes of shows such as CSI, Law & Order,
    Alien, and LAX.  Works well on all of these except when CBS
    and/or the local affiliate decide to put their station logo on
    the blank frames before/after commercials.  When logo
    information is present, this is accounted for and the frames
    are detected as being blank even with the logo present.  This is
    useful in the new "All" detection method mentioned below.
  - Tighted up some of the commercial length checks for the blank
    frame detection method.
  - Bumped up border size for area that is ignored during commercial
    detection from a 10 pixel border to 20.
  - Added new "All" detection method.  This detection method uses
    information from blank-frame, scene change, and logo detection
    and can easily be modified to take advantage of other detection
    information.  It works in a fundamentally different way than the
    normal blank-frame and scene change methods.  The code groups
    the frames into blocks separated by blank frames and rates each
    block based upon several factors such as the rate of scene
    change, what percentage of frames in the block have a logo
    present, how long/short the block is, etc..  Indications that
    a block is part of a commercial (such as very high rates of
    scene changes) lower the block's score, while indications that
    a block is part of the show (such as having a logo present on
    most frames) raise the block's score.  In the end the
    blocks are looked at as a group and various bits of logic
    applied to make the final determination where commercials
    start and end.  On most of the shows I've tested on, this
    method seems to be doing a much better job than just
    blank-frame or blank-frame plus scene-change (which I
    normally use).
  - The sample pixel spacing for the various detection methods
    now varies based upon the total number of pixels in the frame.
    Rather than being fixed at every-other-pixel, the code will
    now use a larger spacing for larger frames.  This should
    help speedup flagging for people using higher frame sizes
    whether by choice or because of precompressed video as in
    HDTV, etc..

NOTE: The new "ALL" detection method has been running on my live
    production Myth system for the past week and a half or so, but
    if you're WAF is currently low, you might not want to switch
    to it just yet.  I'm putting this out there so others can test
    to see if it is working better for them than the previously
    available detection methods.


----------------------------------------------------------------------------


More information about the mythtv-commits mailing list