]> git.sesse.net Git - x264/commit
Significantly faster CABAC and CAVLC residual coding and bit cost calculation
authorFiona Glaser <fiona@x264.com>
Fri, 28 Nov 2008 03:37:56 +0000 (19:37 -0800)
committerFiona Glaser <fiona@x264.com>
Fri, 28 Nov 2008 06:04:35 +0000 (22:04 -0800)
commitc1d73389eaaebb29ca69f7436ea5a8a707a555c9
tree30cd877f7bf1ee09fc6a76062d32a014e466a7cd
parentecb04a3ba99324dd6a319224a0dae4e3fa962b40
Significantly faster CABAC and CAVLC residual coding and bit cost calculation
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.
common/common.h
common/quant.c
common/quant.h
common/x86/quant-a.asm
common/x86/quant.h
encoder/cabac.c
encoder/cavlc.c
encoder/macroblock.c
tools/checkasm.c