[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