summaryrefslogtreecommitdiff
path: root/vp8/encoder/rdopt.h
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@google.com>2012-08-02 10:07:33 -0700
committerGerrit Code Review <gerrit@gerrit.golo.chromium.org>2012-08-02 10:26:11 -0700
commita4ad3809e24933cc6bb808f0131d49c0a9e5da12 (patch)
tree920e9ce416668776804c6e3b4f1636c3d83e8a58 /vp8/encoder/rdopt.h
parentc7846ebc3438aa3e1611398567bf950d0656c590 (diff)
downloadlibvpx-a4ad3809e24933cc6bb808f0131d49c0a9e5da12.tar
libvpx-a4ad3809e24933cc6bb808f0131d49c0a9e5da12.tar.gz
libvpx-a4ad3809e24933cc6bb808f0131d49c0a9e5da12.tar.bz2
libvpx-a4ad3809e24933cc6bb808f0131d49c0a9e5da12.zip
Make RDCOST() results 64-bit.
This prevents various integer overflows that several of us have been seeing in the past few days. Change-Id: If0020613a608e13d311b7838796c7ad53cb97255
Diffstat (limited to 'vp8/encoder/rdopt.h')
-rw-r--r--vp8/encoder/rdopt.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/vp8/encoder/rdopt.h b/vp8/encoder/rdopt.h
index 0077411d0..a88666cf0 100644
--- a/vp8/encoder/rdopt.h
+++ b/vp8/encoder/rdopt.h
@@ -12,13 +12,13 @@
#ifndef __INC_RDOPT_H
#define __INC_RDOPT_H
-#define RDCOST(RM,DM,R,D) ( ((128+(R)*(RM)) >> 8) + (DM)*(D) )
-#define RDCOST_8x8(RM,DM,R,D) ( ((128+(R)*(RM)) >> 8) + (DM)*(D) )
+#define RDCOST(RM,DM,R,D) ( ((128+((int64_t)R)*(RM)) >> 8) + ((int64_t)DM)*(D) )
+#define RDCOST_8x8(RM,DM,R,D) ( ((128+((int64_t)R)*(RM)) >> 8) + ((int64_t)DM)*(D) )
extern void vp8_initialize_rd_consts(VP8_COMP *cpi, int Qvalue);
extern void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int recon_uvoffset,
int *returnrate, int *returndistortion, int *returnintra,
- int *best_single_rd_diff, int *best_comp_rd_diff, int *best_hybrid_rd_diff);
+ int64_t *best_single_rd_diff, int64_t *best_comp_rd_diff, int64_t *best_hybrid_rd_diff);
extern int vp8_rd_pick_intra_mode(VP8_COMP *cpi, MACROBLOCK *x);
extern void vp8_mv_pred