]> granicus.if.org Git - libvpx/commit
Make coefficient skip condition an explicit RD choice.
authorRonald S. Bultje <rbultje@google.com>
Fri, 28 Jun 2013 00:41:54 +0000 (17:41 -0700)
committerRonald S. Bultje <rbultje@google.com>
Fri, 28 Jun 2013 17:28:49 +0000 (10:28 -0700)
commitaf660715c01fc5403700c49686885b2f0ee6133b
treeaec996829bc184f94bb21118aece84016c276be8
parent1b5421f3c5a8cf76db2fc8b939be706ad63530e7
Make coefficient skip condition an explicit RD choice.

This commit replaces zrun_zbin_boost, a method of biasing non-zero
coefficients following runs of zero-coefficients to be rounded towards
zero, with an explicit skip-block choice in the RD loop.

The logic is basically that if individual coefficients should be rounded
towards zero (from a RD point of view), the trellis/optimize loop should
take care of it. If whole blocks should be zero (from a RD point of
view), a single RD check is much more efficient than a complete
serialization of the quantization loop.

Quality change: derf +0.5% psnr, +1.6% ssim; yt +0.6% psnr, +1.1% ssim.
SIMD for quantize will follow in a separate patch. Results for other
test sets pending.

Change-Id: Ife5fa641163ac5150ac428011e87188f1937c1f4
vp9/common/vp9_rtcd_defs.sh
vp9/encoder/vp9_block.h
vp9/encoder/vp9_onyx_int.h
vp9/encoder/vp9_quantize.c
vp9/encoder/vp9_rdopt.c
vp9/encoder/x86/vp9_error_sse2.asm