From 1bf0beb5fc00d2fd7a80bd1de0f135e45404d941 Mon Sep 17 00:00:00 2001 From: Yunqing Wang <yunqingwang@google.com> Date: Fri, 12 Sep 2014 15:58:17 -0700 Subject: [PATCH] Refactor encode_superblock function The code covers both x->skip=0 & x->skip=1 cases. Change-Id: I09745c10e5994dc700ae4c01b4b62979cdaf3306 --- vp9/encoder/vp9_encodeframe.c | 12 ++---------- vp9/encoder/vp9_encodemb.c | 5 +++++ 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index c62b52fb5e..21d7df6c86 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -3617,16 +3617,8 @@ static void encode_superblock(VP9_COMP *cpi, TOKENEXTRA **t, int output_enabled, vp9_build_inter_predictors_sbuv(xd, mi_row, mi_col, MAX(bsize, BLOCK_8X8)); - if (!x->skip) { - mbmi->skip = 1; - vp9_encode_sb(x, MAX(bsize, BLOCK_8X8)); - vp9_tokenize_sb(cpi, t, !output_enabled, MAX(bsize, BLOCK_8X8)); - } else { - mbmi->skip = 1; - if (output_enabled && !seg_skip) - cm->counts.skip[vp9_get_skip_context(xd)][1]++; - reset_skip_context(xd, MAX(bsize, BLOCK_8X8)); - } + vp9_encode_sb(x, MAX(bsize, BLOCK_8X8)); + vp9_tokenize_sb(cpi, t, !output_enabled, MAX(bsize, BLOCK_8X8)); } if (output_enabled) { diff --git a/vp9/encoder/vp9_encodemb.c b/vp9/encoder/vp9_encodemb.c index 6678450725..eacfdcc980 100644 --- a/vp9/encoder/vp9_encodemb.c +++ b/vp9/encoder/vp9_encodemb.c @@ -563,6 +563,11 @@ void vp9_encode_sb(MACROBLOCK *x, BLOCK_SIZE bsize) { struct encode_b_args arg = {x, &ctx, &mbmi->skip}; int plane; + mbmi->skip = 1; + + if (x->skip) + return; + for (plane = 0; plane < MAX_MB_PLANE; ++plane) { if (!x->skip_recode) vp9_subtract_plane(x, bsize, plane); -- GitLab