• Dylan Yudaken's avatar
    Weighted P-frame prediction · ccac8546
    Dylan Yudaken authored
    Merge Dylan's Google Summer of Code 2009 tree.
    Detect fades and use weighted prediction to improve compression and quality.
    "Blind" mode provides a small overall quality increase by using a -1 offset without doing any analysis, as described in JVT-AB033.
    "Smart", the default mode, also performs fade detection and decides weights accordingly.
    MB-tree takes into account the effects of "smart" analysis in lookahead, even further improving quality in fades.
    If psy is on, mbtree is on, interlaced is off, and weightp is off, fade detection will still be performed.
    However, it will be used to adjust quality instead of create actual weights.
    This will improve quality in fades when encoding in Baseline profile.
    
    Doesn't add support for interlaced encoding with weightp yet.
    Only adds support for luma weights, not chroma weights.
    Internal code for chroma weights is in, but there's no analysis yet.
    Baseline profile requires that weightp be off.
    All weightp modes may cause minor breakage in non-compliant decoders that take shortcuts in deblocking reference frame checks.
    "Smart" may cause serious breakage in non-compliant decoders that take shortcuts in handling of duplicate reference frames.
    
    Thanks to Google for sponsoring our most successful Summer of Code yet!
    ccac8546
common.c 30.1 KB