]> granicus.if.org Git - libvpx/commitdiff
Merge "vp9-skinmap. Some adjustments for model=1."
authorMarco Paniconi <marpan@google.com>
Wed, 3 Feb 2016 23:34:07 +0000 (23:34 +0000)
committerGerrit Code Review <noreply-gerritcodereview@google.com>
Wed, 3 Feb 2016 23:34:07 +0000 (23:34 +0000)
vp9/encoder/vp9_rdopt.c

index 3166f2740ec27cc1acc165109f3d5f03b96866c8..f00a58ce247003f886a324d7d4f577b9310e1d5a 100644 (file)
@@ -3355,15 +3355,19 @@ void vp9_rd_pick_inter_mode_sb(VP9_COMP *cpi,
     }
 
     if (!disable_skip) {
+      vpx_prob skip_prob = vp9_get_skip_prob(cm, xd);
       if (skippable) {
         // Back out the coefficient coding costs
         rate2 -= (rate_y + rate_uv);
 
         // Cost the skip mb case
-        rate2 += vp9_cost_bit(vp9_get_skip_prob(cm, xd), 1);
+        rate2 += vp9_cost_bit(skip_prob, 1);
       } else if (ref_frame != INTRA_FRAME && !xd->lossless) {
-        if (RDCOST(x->rdmult, x->rddiv, rate_y + rate_uv, distortion2) <
-            RDCOST(x->rdmult, x->rddiv, 0, total_sse)) {
+        if (RDCOST(x->rdmult, x->rddiv,
+                   rate_y + rate_uv + vp9_cost_bit(skip_prob, 0),
+                   distortion2) <
+            RDCOST(x->rdmult, x->rddiv,
+                   vp9_cost_bit(skip_prob, 1), total_sse)) {
           // Add in the cost of the no skip flag.
           rate2 += vp9_cost_bit(vp9_get_skip_prob(cm, xd), 0);
         } else {