From 985f09fdca14c74fbd6c6dcffe260bf3132c4b7e Mon Sep 17 00:00:00 2001 From: Jim Bankoski Date: Mon, 20 Aug 2012 12:58:31 -0700 Subject: [PATCH] static threshold fix for realtime This code allows us to skip encoding if the sse is less than the error we could possibly encode. Change-Id: Iefb590dc0ee30b660495218398c7969f7d5fd19f --- vp8/encoder/pickinter.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/vp8/encoder/pickinter.c b/vp8/encoder/pickinter.c index c9d63c64e..b67f04b85 100644 --- a/vp8/encoder/pickinter.c +++ b/vp8/encoder/pickinter.c @@ -458,7 +458,15 @@ void get_lower_res_motion_info(VP8_COMP *cpi, MACROBLOCKD *xd, int *dissim, static void check_for_encode_breakout(unsigned int sse, MACROBLOCK* x) { - if (sse < x->encode_breakout) + MACROBLOCKD *xd = &x->e_mbd; + + unsigned int threshold = (xd->block[0].dequant[1] + * xd->block[0].dequant[1] >>4); + + if(threshold < x->encode_breakout) + threshold = x->encode_breakout; + + if (sse < threshold ) { /* Check u and v to make sure skip is ok */ unsigned int sse2 = 0; -- 2.50.1