diff options
author | Ronald S. Bultje <rbultje@google.com> | 2012-08-02 10:07:33 -0700 |
---|---|---|
committer | Gerrit Code Review <gerrit@gerrit.golo.chromium.org> | 2012-08-02 10:26:11 -0700 |
commit | a4ad3809e24933cc6bb808f0131d49c0a9e5da12 (patch) | |
tree | 920e9ce416668776804c6e3b4f1636c3d83e8a58 /vp8/encoder/rdopt.h | |
parent | c7846ebc3438aa3e1611398567bf950d0656c590 (diff) | |
download | libvpx-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.h | 6 |
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 |