| Index: source/libvpx/vp9/encoder/vp9_temporal_filter.c
|
| diff --git a/source/libvpx/vp9/encoder/vp9_temporal_filter.c b/source/libvpx/vp9/encoder/vp9_temporal_filter.c
|
| index 424cc0843b4cf6368cd6e6b4190b72c2f464b2f2..d7979ab53a540655b0e133c8370f0ed402f6fbe5 100644
|
| --- a/source/libvpx/vp9/encoder/vp9_temporal_filter.c
|
| +++ b/source/libvpx/vp9/encoder/vp9_temporal_filter.c
|
| @@ -44,7 +44,7 @@ static void temporal_filter_predictors_mb_c(MACROBLOCKD *xd,
|
| const int which_mv = 0;
|
| const MV mv = { mv_row, mv_col };
|
| const InterpKernel *const kernel =
|
| - vp9_get_interp_kernel(xd->mi[0].src_mi->mbmi.interp_filter);
|
| + vp9_get_interp_kernel(xd->mi[0]->mbmi.interp_filter);
|
|
|
| enum mv_precision mv_precision_uv;
|
| int uv_stride;
|
| @@ -225,7 +225,7 @@ static int temporal_filter_find_matching_mb_c(VP9_COMP *cpi,
|
|
|
| MV best_ref_mv1 = {0, 0};
|
| MV best_ref_mv1_full; /* full-pixel value of best_ref_mv1 */
|
| - MV *ref_mv = &x->e_mbd.mi[0].src_mi->bmi[0].as_mv[0].as_mv;
|
| + MV *ref_mv = &x->e_mbd.mi[0]->bmi[0].as_mv[0].as_mv;
|
|
|
| // Save input state
|
| struct buf_2d src = x->plane[0].src;
|
| @@ -280,17 +280,17 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
|
| int mb_rows = (frames[alt_ref_index]->y_crop_height + 15) >> 4;
|
| int mb_y_offset = 0;
|
| int mb_uv_offset = 0;
|
| - DECLARE_ALIGNED_ARRAY(16, unsigned int, accumulator, 16 * 16 * 3);
|
| - DECLARE_ALIGNED_ARRAY(16, uint16_t, count, 16 * 16 * 3);
|
| + DECLARE_ALIGNED(16, unsigned int, accumulator[16 * 16 * 3]);
|
| + DECLARE_ALIGNED(16, uint16_t, count[16 * 16 * 3]);
|
| MACROBLOCKD *mbd = &cpi->td.mb.e_mbd;
|
| YV12_BUFFER_CONFIG *f = frames[alt_ref_index];
|
| uint8_t *dst1, *dst2;
|
| #if CONFIG_VP9_HIGHBITDEPTH
|
| - DECLARE_ALIGNED_ARRAY(16, uint16_t, predictor16, 16 * 16 * 3);
|
| - DECLARE_ALIGNED_ARRAY(16, uint8_t, predictor8, 16 * 16 * 3);
|
| + DECLARE_ALIGNED(16, uint16_t, predictor16[16 * 16 * 3]);
|
| + DECLARE_ALIGNED(16, uint8_t, predictor8[16 * 16 * 3]);
|
| uint8_t *predictor;
|
| #else
|
| - DECLARE_ALIGNED_ARRAY(16, uint8_t, predictor, 16 * 16 * 3);
|
| + DECLARE_ALIGNED(16, uint8_t, predictor[16 * 16 * 3]);
|
| #endif
|
| const int mb_uv_height = 16 >> mbd->plane[1].subsampling_y;
|
| const int mb_uv_width = 16 >> mbd->plane[1].subsampling_x;
|
| @@ -329,8 +329,8 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
|
| int i, j, k;
|
| int stride;
|
|
|
| - vpx_memset(accumulator, 0, 16 * 16 * 3 * sizeof(accumulator[0]));
|
| - vpx_memset(count, 0, 16 * 16 * 3 * sizeof(count[0]));
|
| + memset(accumulator, 0, 16 * 16 * 3 * sizeof(accumulator[0]));
|
| + memset(count, 0, 16 * 16 * 3 * sizeof(count[0]));
|
|
|
| cpi->td.mb.mv_col_min = -((mb_col * 16) + (17 - 2 * VP9_INTERP_EXTEND));
|
| cpi->td.mb.mv_col_max = ((mb_cols - 1 - mb_col) * 16)
|
| @@ -343,8 +343,8 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
|
| if (frames[frame] == NULL)
|
| continue;
|
|
|
| - mbd->mi[0].src_mi->bmi[0].as_mv[0].as_mv.row = 0;
|
| - mbd->mi[0].src_mi->bmi[0].as_mv[0].as_mv.col = 0;
|
| + mbd->mi[0]->bmi[0].as_mv[0].as_mv.row = 0;
|
| + mbd->mi[0]->bmi[0].as_mv[0].as_mv.col = 0;
|
|
|
| if (frame == alt_ref_index) {
|
| filter_weight = 2;
|
| @@ -370,8 +370,8 @@ static void temporal_filter_iterate_c(VP9_COMP *cpi,
|
| frames[frame]->v_buffer + mb_uv_offset,
|
| frames[frame]->y_stride,
|
| mb_uv_width, mb_uv_height,
|
| - mbd->mi[0].src_mi->bmi[0].as_mv[0].as_mv.row,
|
| - mbd->mi[0].src_mi->bmi[0].as_mv[0].as_mv.col,
|
| + mbd->mi[0]->bmi[0].as_mv[0].as_mv.row,
|
| + mbd->mi[0]->bmi[0].as_mv[0].as_mv.col,
|
| predictor, scale,
|
| mb_col * 16, mb_row * 16);
|
|
|
| @@ -722,8 +722,8 @@ void vp9_temporal_filter(VP9_COMP *cpi, int distance) {
|
| }
|
| }
|
| cm->mi = cm->mip + cm->mi_stride + 1;
|
| - xd->mi = cm->mi;
|
| - xd->mi[0].src_mi = &xd->mi[0];
|
| + xd->mi = cm->mi_grid_visible;
|
| + xd->mi[0] = cm->mi;
|
| } else {
|
| // ARF is produced at the native frame size and resized when coded.
|
| #if CONFIG_VP9_HIGHBITDEPTH
|
|
|