• Ola Hugosson's avatar
    WIP: lv_map_multi: New experiment · 13892108
    Ola Hugosson authored
    This experiment modifies lv_map to make use of multi symbol.
    Replace the nz_map and coeff_base binary CDF with a new multi-symbol
    CDF of size 4. The new base_cdf indicates for each coeff if the level
    is 0, 1, 2 or >2. Two new special contexts are added to be used for the
    last coefficient (the EOB coeff). For the EOB coefficient we already know
    that it is non-zero. We use one context for DC EOB and one for AC EOB
    (this can potentially be refined more).
    The new symbol is read/written by special bitreader/bitwriter functions.
    Those functions reduce the probability precision from 15bit to 9bit before
    the invocation of the arithmetic coding engine.
    The adapted symbol count is significantly reduced by this experiment.
    E.g. for the I-frame of ducks_take_off at cq=12, the number of adapted symbols
    is reduced from 6.7M to 4.3M.
    Change-Id: Ifc3927d81ad044fb9b0733f1e54d713cb71a1572
entropymode.c 179 KB