]> granicus.if.org Git - libvpx/commitdiff
Skip fetching original frame pointers for UV in background check
authorJingning Han <jingning@google.com>
Wed, 16 Apr 2014 22:43:38 +0000 (15:43 -0700)
committerJingning Han <jingning@google.com>
Thu, 17 Apr 2014 18:07:32 +0000 (11:07 -0700)
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

index feaf7043a3a07e6742702d43c320c35a35aab066..213f3a91f08765dab3f9ce15184725fbf8b655cc 100644 (file)
@@ -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);