7 |
#include "../utils/timer.h" |
#include "../utils/timer.h" |
8 |
#include "motion.h" |
#include "motion.h" |
9 |
|
|
10 |
|
#undef BFRAMES |
11 |
|
|
12 |
#define ABS(X) (((X)>0)?(X):-(X)) |
#define ABS(X) (((X)>0)?(X):-(X)) |
13 |
#define SIGN(X) (((X)>0)?1:-1) |
#define SIGN(X) (((X)>0)?1:-1) |
14 |
|
|
33 |
ddx = dx / 2; |
ddx = dx / 2; |
34 |
ddy = dy / 2; |
ddy = dy / 2; |
35 |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
36 |
ref + (y + ddy) * stride + x + ddx, stride); |
ref + (int) ((y + ddy) * stride + x + ddx), stride); |
37 |
break; |
break; |
38 |
|
|
39 |
case 1: |
case 1: |
40 |
ddx = dx / 2; |
ddx = dx / 2; |
41 |
ddy = (dy - 1) / 2; |
ddy = (dy - 1) / 2; |
42 |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
43 |
refv + (y + ddy) * stride + x + ddx, stride); |
refv + (int) ((y + ddy) * stride + x + ddx), stride); |
44 |
break; |
break; |
45 |
|
|
46 |
case 2: |
case 2: |
47 |
ddx = (dx - 1) / 2; |
ddx = (dx - 1) / 2; |
48 |
ddy = dy / 2; |
ddy = dy / 2; |
49 |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
50 |
refh + (y + ddy) * stride + x + ddx, stride); |
refh + (int) ((y + ddy) * stride + x + ddx), stride); |
51 |
break; |
break; |
52 |
|
|
53 |
default: // case 3: |
default: // case 3: |
54 |
ddx = (dx - 1) / 2; |
ddx = (dx - 1) / 2; |
55 |
ddy = (dy - 1) / 2; |
ddy = (dy - 1) / 2; |
56 |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
transfer_8to16sub(dct_codes, cur + y * stride + x, |
57 |
refhv + (y + ddy) * stride + x + ddx, stride); |
refhv + (int) ((y + ddy) * stride + x + ddx), stride); |
58 |
break; |
break; |
59 |
} |
} |
60 |
} |
} |