Overhaul CABAC: faster, less cache usage
authorJason Garrett-Glaser <darkshikari@gmail.com>
Sat, 15 May 2010 21:48:58 +0000 (14:48 -0700)
committerJason Garrett-Glaser <darkshikari@gmail.com>
Mon, 17 May 2010 05:51:19 +0000 (22:51 -0700)
commit95aacc4fb0ed4477a8c8b7cbf3f8c89229b03dc7
treec9710d95cc870ac6d068c599463e50c034da876b
parent03ff36e3b48729516a1f94bc0475bff13525d1a2
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.
common/cabac.c
common/cabac.h
common/x86/cabac-a.asm
common/x86/x86inc.asm
encoder/rdo.c
tools/checkasm.c