From 42c1f6dbf4771975654f48122e1b27e633d90412 Mon Sep 17 00:00:00 2001 From: Jingning Han <jingning@google.com> Date: Wed, 16 Apr 2014 15:43:38 -0700 Subject: [PATCH] Skip fetching original frame pointers for UV in background check The background detection only tracks luma component. This commits removes the frame buffer pointer retrieval for chroma components. Change-Id: I098bd2950f5e5829ed5dc2b48568167248da7fad --- vp9/encoder/vp9_encodeframe.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/vp9/encoder/vp9_encodeframe.c b/vp9/encoder/vp9_encodeframe.c index feaf7043a3..213f3a91f0 100644 --- a/vp9/encoder/vp9_encodeframe.c +++ b/vp9/encoder/vp9_encodeframe.c @@ -1273,7 +1273,6 @@ static void set_source_var_based_partition(VP9_COMP *cpi, static int is_background(VP9_COMP *cpi, const TileInfo *const tile, int mi_row, int mi_col) { - MACROBLOCK *const x = &cpi->mb; uint8_t *src, *pre; int src_stride, pre_stride; @@ -1283,11 +1282,10 @@ static int is_background(VP9_COMP *cpi, const TileInfo *const tile, int this_sad = 0; int threshold = 0; - vp9_setup_src_planes(x, cpi->Source, mi_row, mi_col); - - src_stride = x->plane[0].src.stride; - src = x->plane[0].src.buf; - + // This assumes the input source frames are of the same dimension. + src_stride = cpi->Source->y_stride; + src = cpi->Source->y_buffer + (mi_row * MI_SIZE) * src_stride + + (mi_col * MI_SIZE); pre_stride = cpi->Last_Source->y_stride; pre = cpi->Last_Source->y_buffer + (mi_row * MI_SIZE) * pre_stride + (mi_col * MI_SIZE); -- GitLab