summaryrefslogtreecommitdiff
path: root/vp8/encoder
diff options
context:
space:
mode:
authorYaowu Xu <yaowu@google.com>2010-12-06 13:33:01 -0800
committerYaowu Xu <yaowu@google.com>2010-12-06 20:53:59 -0800
commit7c03a1c3083645ef1b59078a018798aed8d95f96 (patch)
treee91ee98519dba8a53c8cb56748bf19a2e4a064f7 /vp8/encoder
parent9c8ad79fdc8af25988dd071703a51d379f2849ce (diff)
downloadlibvpx-7c03a1c3083645ef1b59078a018798aed8d95f96.tar
libvpx-7c03a1c3083645ef1b59078a018798aed8d95f96.tar.gz
libvpx-7c03a1c3083645ef1b59078a018798aed8d95f96.tar.bz2
libvpx-7c03a1c3083645ef1b59078a018798aed8d95f96.zip
adjust RDMULT for UV plane in quantization RDO
This patch adds a weighting factor on RDMULT for UV blocks. The change has an overall gain about 0.5% based on ssim, between 0.1 and 0.2% by psnr numbers. Change-Id: I97781b077ce3bb7e34241b03268491917e8d1d72
Diffstat (limited to 'vp8/encoder')
-rw-r--r--vp8/encoder/encodemb.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/vp8/encoder/encodemb.c b/vp8/encoder/encodemb.c
index e9753ac48..5ee755942 100644
--- a/vp8/encoder/encodemb.c
+++ b/vp8/encoder/encodemb.c
@@ -243,9 +243,9 @@ struct vp8_token_state{
};
// TODO: experiments to find optimal multiple numbers
-#define Y1_RD_MULT 1
-#define UV_RD_MULT 1
-#define Y2_RD_MULT 4
+#define Y1_RD_MULT 4
+#define UV_RD_MULT 2
+#define Y2_RD_MULT 16
static const int plane_rd_mult[4]=
{
@@ -309,7 +309,7 @@ void vp8_optimize_b(MACROBLOCK *mb, int ib, int type,
eob = d->eob;
/* Now set up a Viterbi trellis to evaluate alternative roundings. */
- rdmult = (mb->rdmult << 2)*err_mult;
+ rdmult = mb->rdmult * err_mult;
if(mb->e_mbd.mode_info_context->mbmi.ref_frame==INTRA_FRAME)
rdmult = (rdmult * 9)>>4;