]> granicus.if.org Git - libvpx/commitdiff
vp8 rdopt.c: zero rd.[rate_uv|distortion_uv]
authorJohann <johannkoenig@google.com>
Wed, 14 Mar 2018 20:25:05 +0000 (13:25 -0700)
committerJohann <johannkoenig@google.com>
Wed, 14 Mar 2018 20:56:39 +0000 (13:56 -0700)
These values are not consistently set before calling update_best_mode.

In vp9_rdopt.c they are individual values instead of a struct and are
zero'd at declaration.

Clears a static analysis warning:
warning: The right operand of '-' is a garbage value
RDCOST(x->rdmult, x->rddiv, (rd->rate2 - rd->rate_uv - other_cost),

warning: The right operand of '-' is a garbage value
(rd->distortion2 - rd->distortion_uv));

Change-Id: I19895d062e7c0ac67937126ebc5dcb0afd3a2931

vp8/encoder/rdopt.c

index fa5dde15d88b5249981123138a86c7a80f07aa23..2951ca4fd7af085d927642355f587ea3a3a77195 100644 (file)
@@ -1779,6 +1779,10 @@ void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset,
                best_rd_sse = UINT_MAX;
 #endif
 
+  // _uv variables are not set consistantly before calling update_best_mode.
+  rd.rate_uv = 0;
+  rd.distortion_uv = 0;
+
   mode_mv = mode_mv_sb[sign_bias];
   best_ref_mv.as_int = 0;
   best_mode.rd = INT_MAX;