summaryrefslogtreecommitdiff
path: root/vp9
diff options
context:
space:
mode:
authorJingning Han <jingning@google.com>2018-09-18 15:08:53 -0700
committerJingning Han <jingning@google.com>2018-09-18 15:58:00 -0700
commitd7ed861ce3b1751d666d0cd942582eff48d310bf (patch)
tree838f6aa6e13c28a456d30026ca2d777bc79c61f0 /vp9
parent1e1f78e34cc243bf2eee30081c97ee2944ee4808 (diff)
downloadlibvpx-d7ed861ce3b1751d666d0cd942582eff48d310bf.tar
libvpx-d7ed861ce3b1751d666d0cd942582eff48d310bf.tar.gz
libvpx-d7ed861ce3b1751d666d0cd942582eff48d310bf.tar.bz2
libvpx-d7ed861ce3b1751d666d0cd942582eff48d310bf.zip
Skip RD check for compound modes that have same sign bias
The compound mode can only be run between two reference frames with different sign bias flags. Skip the search over same sign bias reference frames in the rate-distortion optimization. Change-Id: I4a57feedea880883cf87200de51862beac108310
Diffstat (limited to 'vp9')
-rw-r--r--vp9/encoder/vp9_rdopt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/vp9/encoder/vp9_rdopt.c b/vp9/encoder/vp9_rdopt.c
index 1f1cd40d8..3c15af368 100644
--- a/vp9/encoder/vp9_rdopt.c
+++ b/vp9/encoder/vp9_rdopt.c
@@ -3350,6 +3350,10 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi, TileDataEnc *tile_data,
if (comp_pred) {
if (!cpi->allow_comp_inter_inter) continue;
+ if (cm->ref_frame_sign_bias[ref_frame] ==
+ cm->ref_frame_sign_bias[second_ref_frame])
+ continue;
+
// Skip compound inter modes if ARF is not available.
if (!(cpi->ref_frame_flags & flag_list[second_ref_frame])) continue;