Commit 7686c950 authored by Jingning Han's avatar Jingning Han
Browse files

Tune rate-distortion modeling for non-RD mode decision

This commit adjusts the rate-distortion modeling for non-RD mode
decision. It puts more weights on energy from AC coefficients when
estimating the cost. The coding performance for rtc testset is
improved by 0.72%.

Change-Id: Ifa6ff11311a513ec2b10586589e82a9a21f6c61c
parent 4e9b0d6c
...@@ -207,14 +207,14 @@ static void model_rd_for_sb_y(VP9_COMP *cpi, BLOCK_SIZE bsize, ...@@ -207,14 +207,14 @@ static void model_rd_for_sb_y(VP9_COMP *cpi, BLOCK_SIZE bsize,
struct macroblockd_plane *const pd = &xd->plane[0]; struct macroblockd_plane *const pd = &xd->plane[0];
const BLOCK_SIZE bs = get_plane_block_size(bsize, pd); const BLOCK_SIZE bs = get_plane_block_size(bsize, pd);
(void) cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride, int var = cpi->fn_ptr[bs].vf(p->src.buf, p->src.stride,
pd->dst.buf, pd->dst.stride, &sse); pd->dst.buf, pd->dst.stride, &sse);
vp9_model_rd_from_var_lapndz(sse, 1 << num_pels_log2_lookup[bs], vp9_model_rd_from_var_lapndz(var + sse, 1 << num_pels_log2_lookup[bs],
pd->dequant[1] >> 3, &rate, &dist); pd->dequant[1] >> 3, &rate, &dist);
*out_rate_sum = rate; *out_rate_sum = rate;
*out_dist_sum = dist << 4; *out_dist_sum = dist << 3;
} }
// TODO(jingning) placeholder for inter-frame non-RD mode decision. // TODO(jingning) placeholder for inter-frame non-RD mode decision.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment