Skip RD check for compound modes that have same sign bias
authorJingning Han <jingning@google.com>
Tue, 18 Sep 2018 22:08:53 +0000 (15:08 -0700)
committerJingning Han <jingning@google.com>
Tue, 18 Sep 2018 22:58:00 +0000 (15:58 -0700)
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

vp9/encoder/vp9_rdopt.c

index 1f1cd40..3c15af3 100644 (file)
@@ -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;