Commit 6d19d407 authored by Yaowu Xu's avatar Yaowu Xu Committed by Code Review

Merge "change the threshold of DC check for encode breakout"

parents f6214d1d 8f279596
......@@ -2229,22 +2229,28 @@ int vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
else if (x->encode_breakout)
{
int sum, sse;
int threshold = (xd->block[0].dequant[1]
* xd->block[0].dequant[1] >>4);
if(threshold < x->encode_breakout)
threshold = x->encode_breakout;
VARIANCE_INVOKE(&cpi->rtcd.variance, get16x16var)
(x->src.y_buffer, x->src.y_stride,
x->e_mbd.predictor, 16, (unsigned int *)(&sse), &sum);
if (sse < x->encode_breakout)
if (sse < threshold)
{
// Check u and v to make sure skip is ok
int sse2 = 0;
// add dc check
if (abs(sum) < (cpi->common.Y2dequant[0][0] << 2))
/* If theres is no codeable 2nd order dc
or a very small uniform pixel change change */
if (abs(sum) < (xd->block[24].dequant[0]<<2)||
((sum * sum>>8) > sse && abs(sum) <128))
{
sse2 = VP8_UVSSE(x, IF_RTCD(&cpi->rtcd.variance));
if (sse2 * 2 < x->encode_breakout)
if (sse2 * 2 < threshold)
{
x->skip = 1;
distortion2 = sse + sse2;
......@@ -2390,6 +2396,7 @@ int vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int
if (x->skip)
break;
}
// Reduce the activation RD thresholds for the best choice mode
......
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