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 |