shithub: libvpx

Download patch

ref: 1417ed28f362a21790ba59a55189d3486a81bff1
parent: 4f367f5cd9e87dacf7d5bf859c1e02830e25b03c
parent: f99f78c7aff674580960420d172e77708a0fd5c3
author: Jingning Han <jingning@google.com>
date: Fri Jun 17 19:05:33 EDT 2016

Merge "Use 64-bit integer to store distortion in optimize_b"

--- a/vp9/encoder/vp9_encodemb.c
+++ b/vp9/encoder/vp9_encodemb.c
@@ -54,9 +54,10 @@
   (((1 << (VP9_PROB_COST_SHIFT - 1)) + (R) * (RM)) & \
    ((1 << VP9_PROB_COST_SHIFT) - 1))
 
+// TODO(aconverse): Re-pack this structure.
 typedef struct vp9_token_state {
   int           rate;
-  int           error;
+  int64_t       error;
   int           next;
   int16_t       token;
   tran_low_t    qc;
@@ -112,7 +113,8 @@
   const int64_t rdmult = (mb->rdmult * plane_rd_mult[ref][type]) >> 1;
   const int64_t rddiv = mb->rddiv;
   int64_t rd_cost0, rd_cost1;
-  int rate0, rate1, error0, error1;
+  int rate0, rate1;
+  int64_t error0, error1;
   int16_t t0, t1;
   EXTRABIT e0;
   int best, band, pt, i, final_eob;