shithub: libvpx

Download patch

ref: b44397ebcdc714965f7c12f9512164d2cb3c1aa1
parent: 1f11d13e5e05cef886120e7ec1ba30a720b26f94
parent: 87d2b2549c6d8adfbcd29b05d086c41476c7a6d5
author: Ronald S. Bultje <rbultje@google.com>
date: Thu Oct 18 11:21:30 EDT 2012

Merge "Fix encode breakout skip handling." into experimental

--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -3956,22 +3956,22 @@
 
               disable_skip = 1;
               this_rd = RDCOST(x->rdmult, x->rddiv, rate2, distortion2);
-
-              break;
             }
           }
         }
       }
 
-      vp8_build_1st_inter16x16_predictors_mbuv(&x->e_mbd, &xd->predictor[256],
-                                               &xd->predictor[320], 8);
-      if (is_comp_pred)
-        vp8_build_2nd_inter16x16_predictors_mbuv(&x->e_mbd,
-                                                 &xd->predictor[256],
+      if (!x->skip) {
+        vp8_build_1st_inter16x16_predictors_mbuv(&x->e_mbd, &xd->predictor[256],
                                                  &xd->predictor[320], 8);
-      inter_mode_cost(cpi, x, this_mode, &rate2, &distortion2,
-                      &rate_y, &distortion, &rate_uv, &distortion_uv,
-                      &skippable, txfm_cache);
+        if (is_comp_pred)
+          vp8_build_2nd_inter16x16_predictors_mbuv(&x->e_mbd,
+                                                   &xd->predictor[256],
+                                                   &xd->predictor[320], 8);
+        inter_mode_cost(cpi, x, this_mode, &rate2, &distortion2,
+                        &rate_y, &distortion, &rate_uv, &distortion_uv,
+                        &skippable, txfm_cache);
+      }
       if (is_comp_pred)
         mode_excluded = cpi->common.comp_pred_mode == SINGLE_PREDICTION_ONLY;
       else