Merge "KF/GF Pulsing"
diff --git a/vp8/encoder/pickinter.c b/vp8/encoder/pickinter.c
index 8dfca35..2b0f575 100644
--- a/vp8/encoder/pickinter.c
+++ b/vp8/encoder/pickinter.c
@@ -608,8 +608,10 @@
memcpy(mdcounts, MDCounts[x->e_mbd.mode_info_context->mbmi.ref_frame], sizeof(mdcounts));
}
- //Only consider ZEROMV/ALTREF_FRAME for alt ref frame.
- if (cpi->is_src_frame_alt_ref)
+ // Only consider ZEROMV/ALTREF_FRAME for alt ref frame,
+ // unless ARNR filtering is enabled in which case we want
+ // an unfiltered alternative
+ if (cpi->is_src_frame_alt_ref && (cpi->oxcf.arnr_max_frames == 0))
{
if (this_mode != ZEROMV || x->e_mbd.mode_info_context->mbmi.ref_frame != ALTREF_FRAME)
continue;
diff --git a/vp8/encoder/rdopt.c b/vp8/encoder/rdopt.c
index bab7ca1..b2a3e11 100644
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -1849,8 +1849,10 @@
x->e_mbd.mode_info_context->mbmi.uv_mode = DC_PRED;
x->e_mbd.mode_info_context->mbmi.ref_frame = vp8_ref_frame_order[mode_index];
- //Only consider ZEROMV/ALTREF_FRAME for alt ref frame.
- if (cpi->is_src_frame_alt_ref)
+ // Only consider ZEROMV/ALTREF_FRAME for alt ref frame,
+ // unless ARNR filtering is enabled in which case we want
+ // an unfiltered alternative
+ if (cpi->is_src_frame_alt_ref && (cpi->oxcf.arnr_max_frames == 0))
{
if (this_mode != ZEROMV || x->e_mbd.mode_info_context->mbmi.ref_frame != ALTREF_FRAME)
continue;
diff --git a/vp8/encoder/temporal_filter.c b/vp8/encoder/temporal_filter.c
index 396e339..f28daaf 100644
--- a/vp8/encoder/temporal_filter.c
+++ b/vp8/encoder/temporal_filter.c
@@ -290,8 +290,8 @@
int mb_col, mb_row;
unsigned int filter_weight[MAX_LAG_BUFFERS];
unsigned char *mm_ptr = cpi->fp_motion_map;
- int cols = cpi->common.mb_cols;
- int rows = cpi->common.mb_rows;
+ int mb_cols = cpi->common.mb_cols;
+ int mb_rows = cpi->common.mb_rows;
int MBs = cpi->common.MBs;
int mb_y_offset = 0;
int mb_uv_offset = 0;
@@ -314,7 +314,7 @@
filter_weight[frame] = 1;
}
- for (mb_row = 0; mb_row < rows; mb_row++)
+ for (mb_row = 0; mb_row < mb_rows; mb_row++)
{
#if ALT_REF_MC_ENABLED
// Reduced search extent by 3 for 6-tap filter & smaller UMV border
@@ -323,7 +323,7 @@
+ (VP8BORDERINPIXELS - 19);
#endif
- for (mb_col = 0; mb_col < cols; mb_col++)
+ for (mb_col = 0; mb_col < mb_cols; mb_col++)
{
int i, j, k, w;
int weight_cap;
@@ -497,8 +497,8 @@
mb_uv_offset += 8;
}
- mb_y_offset += 16*f->y_stride-f->y_width;
- mb_uv_offset += 8*f->uv_stride-f->uv_width;
+ mb_y_offset += 16*(f->y_stride-mb_cols);
+ mb_uv_offset += 8*(f->uv_stride-mb_cols);
}
// Restore input state