ref: 2914ab2e8b9fca26a430aed1dea56070621eb71e
parent: f05a51475d4a4084a3aba87e3138ddaf8fb526b1
parent: d15b07d8c68e75a56267224381b63875c8789d50
author: Ronald S. Bultje <rbultje@google.com>
date: Thu Aug 2 11:43:41 EDT 2012
Merge "A few more conversions from 32-bit to 64-bit RD calculations." into experimental
--- a/vp8/encoder/block.h
+++ b/vp8/encoder/block.h
@@ -70,7 +70,7 @@
int_mv second_best_ref_mv;
int rate;
int distortion;
- int intra_error;
+ int64_t intra_error;
int best_mode_index;
int rddiv;
int rdmult;
--- a/vp8/encoder/rdopt.c
+++ b/vp8/encoder/rdopt.c
@@ -1389,7 +1389,7 @@
}
-static int rd_inter16x16_uv(VP8_COMP *cpi, MACROBLOCK *x, int *rate,
+static int64_t rd_inter16x16_uv(VP8_COMP *cpi, MACROBLOCK *x, int *rate,
int *distortion, int fullpixel) {
ENCODEMB_INVOKE(IF_RTCD(&cpi->rtcd.encodemb), submbuv)(x->src_diff,
x->src.u_buffer, x->src.v_buffer, x->e_mbd.predictor, x->src.uv_stride);
@@ -2688,7 +2688,7 @@
}
void vp8_rd_pick_inter_mode(VP8_COMP *cpi, MACROBLOCK *x, int recon_yoffset, int recon_uvoffset,
- int *returnrate, int *returndistortion, int *returnintra,
+ int *returnrate, int *returndistortion, int64_t *returnintra,
int64_t *best_single_rd_diff, int64_t *best_comp_rd_diff,
int64_t *best_hybrid_rd_diff) {
VP8_COMMON *cm = &cpi->common;
@@ -2718,7 +2718,7 @@
int64_t best_single_rd = INT64_MAX;
int64_t best_hybrid_rd = INT64_MAX;
#if CONFIG_PRED_FILTER
- int64_t best_overall_rd = INT_MAX;
+ int64_t best_overall_rd = INT64_MAX;
#endif
int rate2, distortion2;
int uv_intra_rate, uv_intra_distortion, uv_intra_rate_tokenonly;
@@ -2727,7 +2727,7 @@
int uv_intra_skippable_8x8 = 0;
int rate_y, UNINITIALIZED_IS_SAFE(rate_uv);
int distortion_uv;
- int best_yrd = INT_MAX;
+ int64_t best_yrd = INT64_MAX;
#if CONFIG_PRED_FILTER
int best_filter_state;
#endif
@@ -2818,7 +2818,7 @@
v_buffer[ALTREF_FRAME] = alt_yv12->v_buffer + recon_uvoffset;
}
- *returnintra = INT_MAX;
+ *returnintra = INT64_MAX;
x->skip = 0;
@@ -3831,15 +3831,15 @@
x->partition_info->bmi[15].second_mv.as_int;
}
- if (best_single_rd == INT_MAX)
+ if (best_single_rd == INT64_MAX)
*best_single_rd_diff = INT_MIN;
else
*best_single_rd_diff = best_rd - best_single_rd;
- if (best_comp_rd == INT_MAX)
+ if (best_comp_rd == INT64_MAX)
*best_comp_rd_diff = INT_MIN;
else
*best_comp_rd_diff = best_rd - best_comp_rd;
- if (best_hybrid_rd == INT_MAX)
+ if (best_hybrid_rd == INT64_MAX)
*best_hybrid_rd_diff = INT_MIN;
else
*best_hybrid_rd_diff = best_rd - best_hybrid_rd;
@@ -3968,7 +3968,7 @@
MACROBLOCKD *const xd = &x->e_mbd;
int rate;
int distortion;
- int intra_error = 0;
+ int64_t intra_error = 0;
unsigned char *segment_id = &xd->mode_info_context->mbmi.segment_id;
if (xd->segmentation_enabled)
--- a/vp8/encoder/rdopt.h
+++ b/vp8/encoder/rdopt.h
@@ -17,7 +17,7 @@
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 *returnrate, int *returndistortion, int64_t *returnintra,
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);
--
⑨