• Fiona Glaser's avatar
    Significantly faster CABAC and CAVLC residual coding and bit cost calculation · c1d73389
    Fiona Glaser authored
    Early-terminate in residual writing using stored nnz counts
    To allow the above, store nnz counts for luma and chroma DC
    Add assembly functions to find the last nonzero coefficient in a block
    Overall ~1.9% faster at subme9+8x8dct+qp25 with CAVLC, ~0.7% faster with CABAC
    Note this changes output slightly with CABAC RDO because it requires always storing correct nnz values during RDO, which wasn't done before in cases it wasn't useful.
    CAVLC output should be equivalent.
macroblock.c 36 KB