[x264-devel] commit: Significantly faster CABAC and CAVLC residual coding and bit cost calculation (Jason Garrett-Glaser )

git version control git at videolan.org
Fri Nov 28 15:40:41 CET 2008


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Thu Nov 27 19:37:56 2008 -0800| [12724e638e8d28ce97bcb9c77d2bb7336b087af3] | committer: Jason Garrett-Glaser 

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.

> http://git.videolan.org/gitweb.cgi/x264.git/?a=commit;h=12724e638e8d28ce97bcb9c77d2bb7336b087af3
---

 common/common.h        |   10 +++-
 common/quant.c         |   42 ++++++++++++++++++
 common/quant.h         |    1 +
 common/x86/quant-a.asm |  104 +++++++++++++++++++++++++++++++++++++++++++
 common/x86/quant.h     |    7 +++
 encoder/cabac.c        |   52 +++++++++++++---------
 encoder/cavlc.c        |  114 ++++++++++++++++++++---------------------------
 encoder/macroblock.c   |   13 ++++--
 tools/checkasm.c       |   43 ++++++++++++++++--
 9 files changed, 290 insertions(+), 96 deletions(-)

Diff:   http://git.videolan.org/gitweb.cgi/x264.git/?a=commitdiff;h=12724e638e8d28ce97bcb9c77d2bb7336b087af3


More information about the x264-devel mailing list