[x264-devel] commit: Early termination for chroma encoding (Jason Garrett-Glaser )

git version control git at videolan.org
Tue Jul 7 10:17:20 CEST 2009


x264 | branch: master | Jason Garrett-Glaser <darkshikari at gmail.com> | Tue Jun 30 15:20:32 2009 -0700| [f4dac817e45b967572f5c4e4af4644dc7d263512] | committer: Jason Garrett-Glaser 

Early termination for chroma encoding
Faster chroma encoding by terminating early if heuristics indicate that the block will be DC-only.
This works because the vast majority of inter chroma blocks have no coefficients at all, and those that do are almost always DC-only.
Add two new helper DSP functions for this: dct_dc_8x8 and var2_8x8.  mmx/sse2/ssse3 versions of each.
Early termination is disabled at very low QPs due to it not being useful there.
Performance increase is ~1-2% without trellis, up to 5-6% with trellis=2.
Increase is greater with lower bitrates.

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

 common/dct.c           |   25 +++++++++++
 common/dct.h           |    1 +
 common/pixel.c         |   28 ++++++++++++
 common/pixel.h         |    1 +
 common/x86/dct-a.asm   |   74 +++++++++++++++++++++++++++++++
 common/x86/dct.h       |    3 +-
 common/x86/pixel-a.asm |  113 ++++++++++++++++++++++++++++++++++++++++++++++++
 common/x86/pixel.h     |    3 +
 encoder/macroblock.c   |   60 +++++++++++++++++++++++++-
 tools/checkasm.c       |   19 ++++++++
 10 files changed, 325 insertions(+), 2 deletions(-)

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


More information about the x264-devel mailing list