diff options
author | Yaowu Xu <yaowu@google.com> | 2010-12-06 13:33:01 -0800 |
---|---|---|
committer | Yaowu Xu <yaowu@google.com> | 2010-12-06 20:53:59 -0800 |
commit | 7c03a1c3083645ef1b59078a018798aed8d95f96 (patch) | |
tree | e91ee98519dba8a53c8cb56748bf19a2e4a064f7 /vp8/encoder | |
parent | 9c8ad79fdc8af25988dd071703a51d379f2849ce (diff) | |
download | libvpx-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.c | 8 |
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; |