[x264-devel] commit: Overhaul CABAC: faster, less cache usage (Jason Garrett-Glaser )

git at videolan.org git at videolan.org
Mon May 17 18:39:48 CEST 2010


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Sat May 15 14:48:58 2010 -0700| [95aacc4fb0ed4477a8c8b7cbf3f8c89229b03dc7] | committer: Jason Garrett-Glaser 

Overhaul CABAC: faster, less cache usage
Horribly munge up the CABAC tables to allow deduplication of some data.
Saves 256 bytes of L1d cache in non-RD, 512 bytes in RD.
Add asm versions of bypass and terminal; save L1i cache by re-using putbyte code.
Further optimize encode_decision.
All 3 primary CABAC functions fit in under 256 bytes of code total on x86_64.

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

 common/cabac.c         |  185 ++++++++++++++++++++----------------------------
 common/cabac.h         |   22 ++++--
 common/x86/cabac-a.asm |   76 ++++++++++++++++----
 common/x86/x86inc.asm  |    2 +-
 encoder/rdo.c          |    2 +
 tools/checkasm.c       |   46 ++++++++++--
 6 files changed, 195 insertions(+), 138 deletions(-)

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


More information about the x264-devel mailing list