[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