|
|
@@ -1186,8 +1186,8 @@ static void global_mv(DiracContext *s, DiracBlock *block, int x, int y, int ref) |
|
|
|
int *c = s->globalmc[ref].perspective; |
|
|
|
|
|
|
|
int m = (1<<ep) - (c[0]*x + c[1]*y); |
|
|
|
int64_t mx = m * (int64_t)((A[0][0] * x + A[0][1]*y) + (1<<ez) * b[0]); |
|
|
|
int64_t my = m * (int64_t)((A[1][0] * x + A[1][1]*y) + (1<<ez) * b[1]); |
|
|
|
int64_t mx = m * (int64_t)((A[0][0] * (int64_t)x + A[0][1]*(int64_t)y) + (1<<ez) * b[0]); |
|
|
|
int64_t my = m * (int64_t)((A[1][0] * (int64_t)x + A[1][1]*(int64_t)y) + (1<<ez) * b[1]); |
|
|
|
|
|
|
|
block->u.mv[ref][0] = (mx + (1<<(ez+ep))) >> (ez+ep); |
|
|
|
block->u.mv[ref][1] = (my + (1<<(ez+ep))) >> (ez+ep); |
|
|
|