summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdrian Grange <agrange@google.com>2014-05-01 14:31:50 -0700
committerAdrian Grange <agrange@google.com>2014-05-01 14:38:58 -0700
commit0423a964698fa64f499c916d77dcbc5bcad61d69 (patch)
tree3b7134bdde0127e5aad33d001cff6a55e99d559d
parent528a5c28b313fbcc7da6264f7151d26a610ddcfd (diff)
downloadlibvpx-0423a964698fa64f499c916d77dcbc5bcad61d69.tar
libvpx-0423a964698fa64f499c916d77dcbc5bcad61d69.tar.gz
libvpx-0423a964698fa64f499c916d77dcbc5bcad61d69.tar.bz2
libvpx-0423a964698fa64f499c916d77dcbc5bcad61d69.zip
Fix mode selection bug when ARNR filtering disabled
When ARNR filtering is disabled, by setting arnr_max_frames=0, mode_skip_mask was being set to -1 for the ARF frame resulting in no mode being selected for the block. The intent is to restrict the reference frame to the previous ARF frame and the mode to one of ZEROMV, NEARMV or NEARESTMV. Change-Id: Ifc3920b153142cd01d422910c94d2f20ffb6f129
-rw-r--r--vp9/encoder/vp9_rdopt.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index f309aac96..a6b14599a 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -3250,9 +3250,8 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x,
// an unfiltered alternative. We allow near/nearest as well
// because they may result in zero-zero MVs but be cheaper.
if (cpi->rc.is_src_frame_alt_ref && (cpi->oxcf.arnr_max_frames == 0)) {
- const int altref_zero_mask =
+ mode_skip_mask =
~((1 << THR_NEARESTA) | (1 << THR_NEARA) | (1 << THR_ZEROA));
- mode_skip_mask |= altref_zero_mask;
if (frame_mv[NEARMV][ALTREF_FRAME].as_int != 0)
mode_skip_mask |= (1 << THR_NEARA);
if (frame_mv[NEARESTMV][ALTREF_FRAME].as_int != 0)