diff options
author | Jingning Han <jingning@google.com> | 2014-10-05 12:05:14 -0700 |
---|---|---|
committer | Jingning Han <jingning@google.com> | 2014-10-05 12:05:14 -0700 |
commit | 085b97aa5c17afbc07c8a342ba08a0bbc5b1b523 (patch) | |
tree | ce83ff55cb848d836be1833953ac45c15a38d0ed | |
parent | ccdb518ff8082bc1a3f9ec3027e051e3a8317851 (diff) | |
download | libvpx-085b97aa5c17afbc07c8a342ba08a0bbc5b1b523.tar libvpx-085b97aa5c17afbc07c8a342ba08a0bbc5b1b523.tar.gz libvpx-085b97aa5c17afbc07c8a342ba08a0bbc5b1b523.tar.bz2 libvpx-085b97aa5c17afbc07c8a342ba08a0bbc5b1b523.zip |
Fix an IOC issue in vp9_rd_pick_inter_mode_sb
It is possible that the GOLDEN reference frame is not avaiable, in
which setting the predicted mv will be associated with a residual
value of INT_MAX. This commit checks this condition before
left shift and comparison with that of ALTREF frame, to avoid
overflow issue.
Change-Id: Ib98c3149dbdd016f2fe5beaafb13f67d469dd07c
-rw-r--r-- | vp9/encoder/vp9_rdopt.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c index fd67ab5bd..43300ae44 100644 --- a/vp9/encoder/vp9_rdopt.c +++ b/vp9/encoder/vp9_rdopt.c @@ -2675,7 +2675,7 @@ int64_t vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, MACROBLOCK *x, } if (cpi->sf.alt_ref_search_fp) - if (!cm->show_frame) + if (!cm->show_frame && x->pred_mv_sad[GOLDEN_FRAME] < INT_MAX) if (x->pred_mv_sad[ALTREF_FRAME] > (x->pred_mv_sad[GOLDEN_FRAME] << 1)) mode_skip_mask[ALTREF_FRAME] |= INTER_ALL; |