This fixes mismatches due to overflowing low precision parameters.
Change-Id: If34e39ca7ab0adc9688d46b0e8ed62cbb6fdaff0
best_param = curr_param;
for (i = 0; i < n_refinements; i++) {
// look to the left
- *param = curr_param - step;
+ *param =
+ (int16_t)clamp(curr_param - step, p < 2 ? GM_TRANS_MIN : GM_ALPHA_MIN,
+ p < 2 ? GM_TRANS_MAX : GM_ALPHA_MAX);
step_error =
av1_warp_erroradv(wm,
#if CONFIG_AOM_HIGHBITDEPTH
}
// look to the right
- *param = curr_param + step;
+ *param =
+ (int16_t)clamp(curr_param + step, p < 2 ? GM_TRANS_MIN : GM_ALPHA_MIN,
+ p < 2 ? GM_TRANS_MAX : GM_ALPHA_MAX);
step_error =
av1_warp_erroradv(wm,
#if CONFIG_AOM_HIGHBITDEPTH