[x264-devel] Macroblock tree overhaul/optimization

Jason Garrett-Glaser git at videolan.org
Thu Mar 13 21:23:53 CET 2014


x264 | branch: master | Jason Garrett-Glaser <jason at x264.com> | Sun Feb 23 10:36:55 2014 -0800| [d6b4e63d2ed8d444b77c11b36c1d646ee5549276] | committer: Jason Garrett-Glaser

Macroblock tree overhaul/optimization

Move the second core part of macroblock tree into an assembly function;
SIMD-optimize roughly half of it (for x86). Roughly ~25-65% faster mbtree,
depending on content.

Slightly change how mbtree handles the tradeoff between range and precision
for propagation.

Overall a slight (but mostly negligible) effect on SSIM and ~2% faster.

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

 common/macroblock.c      |    6 ++-
 common/mc.c              |   93 +++++++++++++++++++++++++++++++++---
 common/mc.h              |    6 ++-
 common/x86/const-a.asm   |    1 +
 common/x86/mc-a2.asm     |  117 ++++++++++++++++++++++++++++++++++++++++++---
 common/x86/mc-c.c        |  118 ++++++++++++++++++++++++++++++++++++++++++++--
 common/x86/predict-a.asm |    2 +-
 encoder/slicetype.c      |   79 ++++++-------------------------
 tools/checkasm.c         |   61 +++++++++++++++++++++---
 9 files changed, 391 insertions(+), 92 deletions(-)

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


More information about the x264-devel mailing list