rd_pick_inter_mode: prevent signed integer overflow
calculate the txfm_cache difference first as both values may be INT64_MAX with the intent that they cancel each other out. Change-Id: I214d072458e1b24f60289974e6302af1aff7b66c
This commit is contained in:
Родитель
f2541f8a4a
Коммит
e47d9f1d07
|
@ -4090,7 +4090,9 @@ static void rd_pick_inter_mode(VP9_COMP *cpi, MACROBLOCK *x,
|
|||
for (i = 0; i < NB_TXFM_MODES; i++) {
|
||||
int64_t adj_rd;
|
||||
if (this_mode != B_PRED) {
|
||||
adj_rd = this_rd + txfm_cache[i] - txfm_cache[cm->txfm_mode];
|
||||
const int64_t txfm_mode_diff =
|
||||
txfm_cache[i] - txfm_cache[cm->txfm_mode];
|
||||
adj_rd = this_rd + txfm_mode_diff;
|
||||
} else {
|
||||
adj_rd = this_rd;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче