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