Remove redundant buffer initialization and mode_info assignments
authorJingning Han <jingning@google.com>
Wed, 16 Apr 2014 17:39:23 +0000 (10:39 -0700)
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>
Thu, 17 Apr 2014 00:00:27 +0000 (17:00 -0700)
There is no need to initialize source/dst frame buffers at frame
level. These will be done at block coding stage. This commit hence
removes the redundant operations.

Change-Id: I11d9f2556058c6205c8e58ed53e31f78622c41b7

vp9/encoder/vp9_encodeframe.c

index 0498a3f..87fcd35 100644 (file)
@@ -1330,8 +1330,10 @@ static int is_background(VP9_COMP *cpi, const TileInfo *const tile,
   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;
+
   pre_stride = cpi->Last_Source->y_stride;
   pre = cpi->Last_Source->y_buffer + (mi_row * MI_SIZE) * pre_stride +
           (mi_col * MI_SIZE);
@@ -2375,16 +2377,8 @@ static void init_encode_frame_mb_context(VP9_COMP *cpi) {
   // Copy data over into macro block data structures.
   vp9_setup_src_planes(x, cpi->Source, 0, 0);
 
-  // TODO(jkoleszar): are these initializations required?
-  vp9_setup_pre_planes(xd, 0, get_ref_frame_buffer(cpi, LAST_FRAME), 0, 0,
-                       NULL);
-  vp9_setup_dst_planes(xd, get_frame_new_buffer(cm), 0, 0);
-
   vp9_setup_block_planes(&x->e_mbd, cm->subsampling_x, cm->subsampling_y);
 
-  xd->mi[0]->mbmi.mode = DC_PRED;
-  xd->mi[0]->mbmi.uv_mode = DC_PRED;
-
   // Note: this memset assumes above_context[0], [1] and [2]
   // are allocated as part of the same buffer.
   vpx_memset(xd->above_context[0], 0,