[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