This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.
... | ... |
@@ -32,7 +32,7 @@ void (*add_pixels_clamped_axp_p)(const int16_t *block, uint8_t *pixels, |
32 | 32 |
/* These functions were the base for the optimized assembler routines, |
33 | 33 |
and remain here for documentation purposes. */ |
34 | 34 |
static void put_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels, |
35 |
- int line_size) |
|
35 |
+ ptrdiff_t line_size) |
|
36 | 36 |
{ |
37 | 37 |
int i = 8; |
38 | 38 |
uint64_t clampmask = zap(-1, 0xaa); /* 0x00ff00ff00ff00ff */ |
... | ... |
@@ -56,7 +56,7 @@ static void put_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels, |
56 | 56 |
} |
57 | 57 |
|
58 | 58 |
void add_pixels_clamped_mvi(const int16_t *block, uint8_t *pixels, |
59 |
- int line_size) |
|
59 |
+ ptrdiff_t line_size) |
|
60 | 60 |
{ |
61 | 61 |
int h = 8; |
62 | 62 |
/* Keep this function a leaf function by generating the constants |
... | ... |
@@ -212,7 +212,7 @@ static inline uint64_t avg4(uint64_t l1, uint64_t l2, uint64_t l3, uint64_t l4) |
212 | 212 |
#define MAKE_OP(OPNAME, SUFF, OPKIND, STORE) \ |
213 | 213 |
static void OPNAME ## _pixels ## SUFF ## _axp \ |
214 | 214 |
(uint8_t *restrict block, const uint8_t *restrict pixels, \ |
215 |
- int line_size, int h) \ |
|
215 |
+ ptrdiff_t line_size, int h) \ |
|
216 | 216 |
{ \ |
217 | 217 |
if ((size_t) pixels & 0x7) { \ |
218 | 218 |
OPKIND(uldq, STORE); \ |
... | ... |
@@ -223,7 +223,7 @@ static void OPNAME ## _pixels ## SUFF ## _axp \ |
223 | 223 |
\ |
224 | 224 |
static void OPNAME ## _pixels16 ## SUFF ## _axp \ |
225 | 225 |
(uint8_t *restrict block, const uint8_t *restrict pixels, \ |
226 |
- int line_size, int h) \ |
|
226 |
+ ptrdiff_t line_size, int h) \ |
|
227 | 227 |
{ \ |
228 | 228 |
OPNAME ## _pixels ## SUFF ## _axp(block, pixels, line_size, h); \ |
229 | 229 |
OPNAME ## _pixels ## SUFF ## _axp(block + 8, pixels + 8, line_size, h); \ |
... | ... |
@@ -262,7 +262,7 @@ PIXOP(put_no_rnd, STORE); |
262 | 262 |
PIXOP(avg_no_rnd, STORE); |
263 | 263 |
|
264 | 264 |
static void put_pixels16_axp_asm(uint8_t *block, const uint8_t *pixels, |
265 |
- int line_size, int h) |
|
265 |
+ ptrdiff_t line_size, int h) |
|
266 | 266 |
{ |
267 | 267 |
put_pixels_axp_asm(block, pixels, line_size, h); |
268 | 268 |
put_pixels_axp_asm(block + 8, pixels + 8, line_size, h); |
... | ... |
@@ -26,7 +26,7 @@ void ff_simple_idct_put_axp(uint8_t *dest, int line_size, int16_t *block); |
26 | 26 |
void ff_simple_idct_add_axp(uint8_t *dest, int line_size, int16_t *block); |
27 | 27 |
|
28 | 28 |
void put_pixels_axp_asm(uint8_t *block, const uint8_t *pixels, |
29 |
- int line_size, int h); |
|
29 |
+ ptrdiff_t line_size, int h); |
|
30 | 30 |
void put_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
31 | 31 |
int line_size); |
32 | 32 |
void add_pixels_clamped_mvi_asm(const int16_t *block, uint8_t *pixels, |
... | ... |
@@ -30,16 +30,16 @@ void ff_simple_idct_arm(int16_t *data); |
30 | 30 |
static void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size); |
31 | 31 |
static void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size); |
32 | 32 |
|
33 |
-void ff_put_pixels8_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
34 |
-void ff_put_pixels8_x2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
35 |
-void ff_put_pixels8_y2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
36 |
-void ff_put_pixels8_xy2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
33 |
+void ff_put_pixels8_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
34 |
+void ff_put_pixels8_x2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
35 |
+void ff_put_pixels8_y2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
36 |
+void ff_put_pixels8_xy2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
37 | 37 |
|
38 |
-void ff_put_no_rnd_pixels8_x2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
39 |
-void ff_put_no_rnd_pixels8_y2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
40 |
-void ff_put_no_rnd_pixels8_xy2_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
38 |
+void ff_put_no_rnd_pixels8_x2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
39 |
+void ff_put_no_rnd_pixels8_y2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
40 |
+void ff_put_no_rnd_pixels8_xy2_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
41 | 41 |
|
42 |
-void ff_put_pixels16_arm(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
42 |
+void ff_put_pixels16_arm(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
43 | 43 |
|
44 | 44 |
CALL_2X_PIXELS(ff_put_pixels16_x2_arm, ff_put_pixels8_x2_arm, 8) |
45 | 45 |
CALL_2X_PIXELS(ff_put_pixels16_y2_arm, ff_put_pixels8_y2_arm, 8) |
... | ... |
@@ -28,23 +28,23 @@ void ff_simple_idct_armv6(int16_t *data); |
28 | 28 |
void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data); |
29 | 29 |
void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); |
30 | 30 |
|
31 |
-void ff_put_pixels16_armv6(uint8_t *, const uint8_t *, int, int); |
|
32 |
-void ff_put_pixels16_x2_armv6(uint8_t *, const uint8_t *, int, int); |
|
33 |
-void ff_put_pixels16_y2_armv6(uint8_t *, const uint8_t *, int, int); |
|
31 |
+void ff_put_pixels16_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
32 |
+void ff_put_pixels16_x2_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
33 |
+void ff_put_pixels16_y2_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
34 | 34 |
|
35 |
-void ff_put_pixels16_x2_no_rnd_armv6(uint8_t *, const uint8_t *, int, int); |
|
36 |
-void ff_put_pixels16_y2_no_rnd_armv6(uint8_t *, const uint8_t *, int, int); |
|
35 |
+void ff_put_pixels16_x2_no_rnd_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
36 |
+void ff_put_pixels16_y2_no_rnd_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
37 | 37 |
|
38 |
-void ff_avg_pixels16_armv6(uint8_t *, const uint8_t *, int, int); |
|
38 |
+void ff_avg_pixels16_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
39 | 39 |
|
40 |
-void ff_put_pixels8_armv6(uint8_t *, const uint8_t *, int, int); |
|
41 |
-void ff_put_pixels8_x2_armv6(uint8_t *, const uint8_t *, int, int); |
|
42 |
-void ff_put_pixels8_y2_armv6(uint8_t *, const uint8_t *, int, int); |
|
40 |
+void ff_put_pixels8_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
41 |
+void ff_put_pixels8_x2_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
42 |
+void ff_put_pixels8_y2_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
43 | 43 |
|
44 |
-void ff_put_pixels8_x2_no_rnd_armv6(uint8_t *, const uint8_t *, int, int); |
|
45 |
-void ff_put_pixels8_y2_no_rnd_armv6(uint8_t *, const uint8_t *, int, int); |
|
44 |
+void ff_put_pixels8_x2_no_rnd_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
45 |
+void ff_put_pixels8_y2_no_rnd_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
46 | 46 |
|
47 |
-void ff_avg_pixels8_armv6(uint8_t *, const uint8_t *, int, int); |
|
47 |
+void ff_avg_pixels8_armv6(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
48 | 48 |
|
49 | 49 |
void ff_add_pixels_clamped_armv6(const int16_t *block, |
50 | 50 |
uint8_t *restrict pixels, |
... | ... |
@@ -32,32 +32,32 @@ void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data); |
32 | 32 |
void ff_clear_block_neon(int16_t *block); |
33 | 33 |
void ff_clear_blocks_neon(int16_t *blocks); |
34 | 34 |
|
35 |
-void ff_put_pixels16_neon(uint8_t *, const uint8_t *, int, int); |
|
36 |
-void ff_put_pixels16_x2_neon(uint8_t *, const uint8_t *, int, int); |
|
37 |
-void ff_put_pixels16_y2_neon(uint8_t *, const uint8_t *, int, int); |
|
38 |
-void ff_put_pixels16_xy2_neon(uint8_t *, const uint8_t *, int, int); |
|
39 |
-void ff_put_pixels8_neon(uint8_t *, const uint8_t *, int, int); |
|
40 |
-void ff_put_pixels8_x2_neon(uint8_t *, const uint8_t *, int, int); |
|
41 |
-void ff_put_pixels8_y2_neon(uint8_t *, const uint8_t *, int, int); |
|
42 |
-void ff_put_pixels8_xy2_neon(uint8_t *, const uint8_t *, int, int); |
|
43 |
-void ff_put_pixels16_x2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
44 |
-void ff_put_pixels16_y2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
45 |
-void ff_put_pixels16_xy2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
46 |
-void ff_put_pixels8_x2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
47 |
-void ff_put_pixels8_y2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
48 |
-void ff_put_pixels8_xy2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
49 |
- |
|
50 |
-void ff_avg_pixels16_neon(uint8_t *, const uint8_t *, int, int); |
|
51 |
-void ff_avg_pixels16_x2_neon(uint8_t *, const uint8_t *, int, int); |
|
52 |
-void ff_avg_pixels16_y2_neon(uint8_t *, const uint8_t *, int, int); |
|
53 |
-void ff_avg_pixels16_xy2_neon(uint8_t *, const uint8_t *, int, int); |
|
54 |
-void ff_avg_pixels8_neon(uint8_t *, const uint8_t *, int, int); |
|
55 |
-void ff_avg_pixels8_x2_neon(uint8_t *, const uint8_t *, int, int); |
|
56 |
-void ff_avg_pixels8_y2_neon(uint8_t *, const uint8_t *, int, int); |
|
57 |
-void ff_avg_pixels8_xy2_neon(uint8_t *, const uint8_t *, int, int); |
|
58 |
-void ff_avg_pixels16_x2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
59 |
-void ff_avg_pixels16_y2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
60 |
-void ff_avg_pixels16_xy2_no_rnd_neon(uint8_t *, const uint8_t *, int, int); |
|
35 |
+void ff_put_pixels16_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
36 |
+void ff_put_pixels16_x2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
37 |
+void ff_put_pixels16_y2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
38 |
+void ff_put_pixels16_xy2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
39 |
+void ff_put_pixels8_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
40 |
+void ff_put_pixels8_x2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
41 |
+void ff_put_pixels8_y2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
42 |
+void ff_put_pixels8_xy2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
43 |
+void ff_put_pixels16_x2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
44 |
+void ff_put_pixels16_y2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
45 |
+void ff_put_pixels16_xy2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
46 |
+void ff_put_pixels8_x2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
47 |
+void ff_put_pixels8_y2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
48 |
+void ff_put_pixels8_xy2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
49 |
+ |
|
50 |
+void ff_avg_pixels16_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
51 |
+void ff_avg_pixels16_x2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
52 |
+void ff_avg_pixels16_y2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
53 |
+void ff_avg_pixels16_xy2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
54 |
+void ff_avg_pixels8_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
55 |
+void ff_avg_pixels8_x2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
56 |
+void ff_avg_pixels8_y2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
57 |
+void ff_avg_pixels8_xy2_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
58 |
+void ff_avg_pixels16_x2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
59 |
+void ff_avg_pixels16_y2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
60 |
+void ff_avg_pixels16_xy2_no_rnd_neon(uint8_t *, const uint8_t *, ptrdiff_t, int); |
|
61 | 61 |
|
62 | 62 |
void ff_add_pixels_clamped_neon(const int16_t *, uint8_t *, int); |
63 | 63 |
void ff_put_pixels_clamped_neon(const int16_t *, uint8_t *, int); |
... | ... |
@@ -55,73 +55,73 @@ static void bfin_clear_blocks (int16_t *blocks) |
55 | 55 |
|
56 | 56 |
|
57 | 57 |
|
58 |
-static void bfin_put_pixels8 (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
58 |
+static void bfin_put_pixels8 (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
59 | 59 |
{ |
60 | 60 |
ff_bfin_put_pixels8uc (block, pixels, pixels, line_size, line_size, h); |
61 | 61 |
} |
62 | 62 |
|
63 |
-static void bfin_put_pixels8_x2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
63 |
+static void bfin_put_pixels8_x2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
64 | 64 |
{ |
65 | 65 |
ff_bfin_put_pixels8uc (block, pixels, pixels+1, line_size, line_size, h); |
66 | 66 |
} |
67 | 67 |
|
68 |
-static void bfin_put_pixels8_y2 (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
68 |
+static void bfin_put_pixels8_y2 (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
69 | 69 |
{ |
70 | 70 |
ff_bfin_put_pixels8uc (block, pixels, pixels+line_size, line_size, line_size, h); |
71 | 71 |
} |
72 | 72 |
|
73 |
-static void bfin_put_pixels8_xy2 (uint8_t *block, const uint8_t *s0, int line_size, int h) |
|
73 |
+static void bfin_put_pixels8_xy2 (uint8_t *block, const uint8_t *s0, ptrdiff_t line_size, int h) |
|
74 | 74 |
{ |
75 | 75 |
ff_bfin_z_put_pixels8_xy2 (block,s0,line_size, line_size, h); |
76 | 76 |
} |
77 | 77 |
|
78 |
-static void bfin_put_pixels16 (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
78 |
+static void bfin_put_pixels16 (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
79 | 79 |
{ |
80 | 80 |
ff_bfin_put_pixels16uc (block, pixels, pixels, line_size, line_size, h); |
81 | 81 |
} |
82 | 82 |
|
83 |
-static void bfin_put_pixels16_x2 (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
83 |
+static void bfin_put_pixels16_x2 (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
84 | 84 |
{ |
85 | 85 |
ff_bfin_put_pixels16uc (block, pixels, pixels+1, line_size, line_size, h); |
86 | 86 |
} |
87 | 87 |
|
88 |
-static void bfin_put_pixels16_y2 (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
88 |
+static void bfin_put_pixels16_y2 (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
89 | 89 |
{ |
90 | 90 |
ff_bfin_put_pixels16uc (block, pixels, pixels+line_size, line_size, line_size, h); |
91 | 91 |
} |
92 | 92 |
|
93 |
-static void bfin_put_pixels16_xy2 (uint8_t *block, const uint8_t *s0, int line_size, int h) |
|
93 |
+static void bfin_put_pixels16_xy2 (uint8_t *block, const uint8_t *s0, ptrdiff_t line_size, int h) |
|
94 | 94 |
{ |
95 | 95 |
ff_bfin_z_put_pixels16_xy2 (block,s0,line_size, line_size, h); |
96 | 96 |
} |
97 | 97 |
|
98 |
-static void bfin_put_pixels8_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
98 |
+static void bfin_put_pixels8_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
99 | 99 |
{ |
100 | 100 |
ff_bfin_put_pixels8uc_nornd (block, pixels, pixels, line_size, h); |
101 | 101 |
} |
102 | 102 |
|
103 |
-static void bfin_put_pixels8_x2_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
103 |
+static void bfin_put_pixels8_x2_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
104 | 104 |
{ |
105 | 105 |
ff_bfin_put_pixels8uc_nornd (block, pixels, pixels+1, line_size, h); |
106 | 106 |
} |
107 | 107 |
|
108 |
-static void bfin_put_pixels8_y2_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
108 |
+static void bfin_put_pixels8_y2_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
109 | 109 |
{ |
110 | 110 |
ff_bfin_put_pixels8uc_nornd (block, pixels, pixels+line_size, line_size, h); |
111 | 111 |
} |
112 | 112 |
|
113 | 113 |
|
114 |
-static void bfin_put_pixels16_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
114 |
+static void bfin_put_pixels16_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
115 | 115 |
{ |
116 | 116 |
ff_bfin_put_pixels16uc_nornd (block, pixels, pixels, line_size, h); |
117 | 117 |
} |
118 | 118 |
|
119 |
-static void bfin_put_pixels16_x2_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
119 |
+static void bfin_put_pixels16_x2_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
120 | 120 |
{ |
121 | 121 |
ff_bfin_put_pixels16uc_nornd (block, pixels, pixels+1, line_size, h); |
122 | 122 |
} |
123 | 123 |
|
124 |
-static void bfin_put_pixels16_y2_nornd (uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
124 |
+static void bfin_put_pixels16_y2_nornd (uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
125 | 125 |
{ |
126 | 126 |
ff_bfin_put_pixels16uc_nornd (block, pixels, pixels+line_size, line_size, h); |
127 | 127 |
} |
... | ... |
@@ -137,7 +137,7 @@ void clear_blocks_c(int16_t *blocks); |
137 | 137 |
/* add and put pixel (decoding) */ |
138 | 138 |
// blocksizes for op_pixels_func are 8x4,8x8 16x8 16x16 |
139 | 139 |
//h for op_pixels_func is limited to {width/2, width} but never larger than 16 and never smaller than 4 |
140 |
-typedef void (*op_pixels_func)(uint8_t *block/*align width (8 or 16)*/, const uint8_t *pixels/*align 1*/, int line_size, int h); |
|
140 |
+typedef void (*op_pixels_func)(uint8_t *block/*align width (8 or 16)*/, const uint8_t *pixels/*align 1*/, ptrdiff_t line_size, int h); |
|
141 | 141 |
typedef void (*tpel_mc_func)(uint8_t *block/*align width (8 or 16)*/, const uint8_t *pixels/*align 1*/, int line_size, int w, int h); |
142 | 142 |
typedef void (*qpel_mc_func)(uint8_t *dst/*align width (8 or 16)*/, uint8_t *src/*align 1*/, int stride); |
143 | 143 |
typedef void (*h264_chroma_mc_func)(uint8_t *dst/*align 8*/, uint8_t *src/*align 1*/, int srcStride, int h, int x, int y); |
... | ... |
@@ -172,19 +172,19 @@ static inline void FUNC(OPNAME ## _no_rnd_pixels16_l2)(uint8_t *dst, const uint8 |
172 | 172 |
FUNC(OPNAME ## _no_rnd_pixels8_l2)(dst+8*sizeof(pixel), src1+8*sizeof(pixel), src2+8*sizeof(pixel), dst_stride, src_stride1, src_stride2, h);\ |
173 | 173 |
}\ |
174 | 174 |
\ |
175 |
-static inline void FUNCC(OPNAME ## _no_rnd_pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
175 |
+static inline void FUNCC(OPNAME ## _no_rnd_pixels8_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
176 | 176 |
FUNC(OPNAME ## _no_rnd_pixels8_l2)(block, pixels, pixels+sizeof(pixel), line_size, line_size, line_size, h);\ |
177 | 177 |
}\ |
178 | 178 |
\ |
179 |
-static inline void FUNCC(OPNAME ## _pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
179 |
+static inline void FUNCC(OPNAME ## _pixels8_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
180 | 180 |
FUNC(OPNAME ## _pixels8_l2)(block, pixels, pixels+sizeof(pixel), line_size, line_size, line_size, h);\ |
181 | 181 |
}\ |
182 | 182 |
\ |
183 |
-static inline void FUNCC(OPNAME ## _no_rnd_pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
183 |
+static inline void FUNCC(OPNAME ## _no_rnd_pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
184 | 184 |
FUNC(OPNAME ## _no_rnd_pixels8_l2)(block, pixels, pixels+line_size, line_size, line_size, line_size, h);\ |
185 | 185 |
}\ |
186 | 186 |
\ |
187 |
-static inline void FUNCC(OPNAME ## _pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
187 |
+static inline void FUNCC(OPNAME ## _pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
188 | 188 |
FUNC(OPNAME ## _pixels8_l2)(block, pixels, pixels+line_size, line_size, line_size, line_size, h);\ |
189 | 189 |
}\ |
190 | 190 |
\ |
... | ... |
@@ -225,19 +225,19 @@ static inline void FUNC(OPNAME ## _pixels8_l4)(uint8_t *dst, const uint8_t *src1 |
225 | 225 |
}\ |
226 | 226 |
}\ |
227 | 227 |
\ |
228 |
-static inline void FUNCC(OPNAME ## _pixels4_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
228 |
+static inline void FUNCC(OPNAME ## _pixels4_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
229 | 229 |
FUNC(OPNAME ## _pixels4_l2)(block, pixels, pixels+sizeof(pixel), line_size, line_size, line_size, h);\ |
230 | 230 |
}\ |
231 | 231 |
\ |
232 |
-static inline void FUNCC(OPNAME ## _pixels4_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
232 |
+static inline void FUNCC(OPNAME ## _pixels4_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
233 | 233 |
FUNC(OPNAME ## _pixels4_l2)(block, pixels, pixels+line_size, line_size, line_size, line_size, h);\ |
234 | 234 |
}\ |
235 | 235 |
\ |
236 |
-static inline void FUNCC(OPNAME ## _pixels2_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
236 |
+static inline void FUNCC(OPNAME ## _pixels2_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
237 | 237 |
FUNC(OPNAME ## _pixels2_l2)(block, pixels, pixels+sizeof(pixel), line_size, line_size, line_size, h);\ |
238 | 238 |
}\ |
239 | 239 |
\ |
240 |
-static inline void FUNCC(OPNAME ## _pixels2_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\ |
|
240 |
+static inline void FUNCC(OPNAME ## _pixels2_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\ |
|
241 | 241 |
FUNC(OPNAME ## _pixels2_l2)(block, pixels, pixels+line_size, line_size, line_size, line_size, h);\ |
242 | 242 |
}\ |
243 | 243 |
\ |
... | ... |
@@ -288,7 +288,7 @@ static inline void FUNC(OPNAME ## _no_rnd_pixels16_l4)(uint8_t *dst, const uint8 |
288 | 288 |
FUNC(OPNAME ## _no_rnd_pixels8_l4)(dst+8*sizeof(pixel), src1+8*sizeof(pixel), src2+8*sizeof(pixel), src3+8*sizeof(pixel), src4+8*sizeof(pixel), dst_stride, src_stride1, src_stride2, src_stride3, src_stride4, h);\ |
289 | 289 |
}\ |
290 | 290 |
\ |
291 |
-static inline void FUNCC(OPNAME ## _pixels2_xy2)(uint8_t *_block, const uint8_t *_pixels, int line_size, int h)\ |
|
291 |
+static inline void FUNCC(OPNAME ## _pixels2_xy2)(uint8_t *_block, const uint8_t *_pixels, ptrdiff_t line_size, int h)\ |
|
292 | 292 |
{\ |
293 | 293 |
int i, a0, b0, a1, b1;\ |
294 | 294 |
pixel *block = (pixel*)_block;\ |
... | ... |
@@ -324,7 +324,7 @@ static inline void FUNCC(OPNAME ## _pixels2_xy2)(uint8_t *_block, const uint8_t |
324 | 324 |
}\ |
325 | 325 |
}\ |
326 | 326 |
\ |
327 |
-static inline void FUNCC(OPNAME ## _pixels4_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h)\ |
|
327 |
+static inline void FUNCC(OPNAME ## _pixels4_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)\ |
|
328 | 328 |
{\ |
329 | 329 |
/* FIXME HIGH BIT DEPTH */\ |
330 | 330 |
int i;\ |
... | ... |
@@ -403,7 +403,7 @@ static inline void FUNCC(OPNAME ## _pixels8_xy2)(uint8_t *block, const uint8_t * |
403 | 403 |
}\ |
404 | 404 |
}\ |
405 | 405 |
\ |
406 |
-static inline void FUNCC(OPNAME ## _no_rnd_pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h)\ |
|
406 |
+static inline void FUNCC(OPNAME ## _no_rnd_pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)\ |
|
407 | 407 |
{\ |
408 | 408 |
/* FIXME HIGH BIT DEPTH */\ |
409 | 409 |
int j;\ |
... | ... |
@@ -290,7 +290,7 @@ static int zero_cmp(void *s, uint8_t *a, uint8_t *b, int stride, int h){ |
290 | 290 |
return 0; |
291 | 291 |
} |
292 | 292 |
|
293 |
-static void zero_hpel(uint8_t *a, const uint8_t *b, int stride, int h){ |
|
293 |
+static void zero_hpel(uint8_t *a, const uint8_t *b, ptrdiff_t stride, int h){ |
|
294 | 294 |
} |
295 | 295 |
|
296 | 296 |
int ff_init_me(MpegEncContext *s){ |
... | ... |
@@ -607,7 +607,7 @@ static void add_bytes_altivec(uint8_t *dst, uint8_t *src, int w) { |
607 | 607 |
} |
608 | 608 |
|
609 | 609 |
/* next one assumes that ((line_size % 16) == 0) */ |
610 |
-void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
610 |
+void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
611 | 611 |
{ |
612 | 612 |
register vector unsigned char pixelsv1, pixelsv2; |
613 | 613 |
register vector unsigned char pixelsv1B, pixelsv2B; |
... | ... |
@@ -616,9 +616,9 @@ void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_siz |
616 | 616 |
|
617 | 617 |
register vector unsigned char perm = vec_lvsl(0, pixels); |
618 | 618 |
int i; |
619 |
- register int line_size_2 = line_size << 1; |
|
620 |
- register int line_size_3 = line_size + line_size_2; |
|
621 |
- register int line_size_4 = line_size << 2; |
|
619 |
+ register ptrdiff_t line_size_2 = line_size << 1; |
|
620 |
+ register ptrdiff_t line_size_3 = line_size + line_size_2; |
|
621 |
+ register ptrdiff_t line_size_4 = line_size << 2; |
|
622 | 622 |
|
623 | 623 |
// hand-unrolling the loop by 4 gains about 15% |
624 | 624 |
// mininum execution time goes from 74 to 60 cycles |
... | ... |
@@ -649,7 +649,7 @@ void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_siz |
649 | 649 |
|
650 | 650 |
/* next one assumes that ((line_size % 16) == 0) */ |
651 | 651 |
#define op_avg(a,b) a = ( ((a)|(b)) - ((((a)^(b))&0xFEFEFEFEUL)>>1) ) |
652 |
-void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
652 |
+void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
653 | 653 |
{ |
654 | 654 |
register vector unsigned char pixelsv1, pixelsv2, pixelsv, blockv; |
655 | 655 |
register vector unsigned char perm = vec_lvsl(0, pixels); |
... | ... |
@@ -668,7 +668,7 @@ void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_siz |
668 | 668 |
} |
669 | 669 |
|
670 | 670 |
/* next one assumes that ((line_size % 8) == 0) */ |
671 |
-static void avg_pixels8_altivec(uint8_t * block, const uint8_t * pixels, int line_size, int h) |
|
671 |
+static void avg_pixels8_altivec(uint8_t * block, const uint8_t * pixels, ptrdiff_t line_size, int h) |
|
672 | 672 |
{ |
673 | 673 |
register vector unsigned char pixelsv1, pixelsv2, pixelsv, blockv; |
674 | 674 |
int i; |
... | ... |
@@ -699,7 +699,7 @@ static void avg_pixels8_altivec(uint8_t * block, const uint8_t * pixels, int lin |
699 | 699 |
} |
700 | 700 |
|
701 | 701 |
/* next one assumes that ((line_size % 8) == 0) */ |
702 |
-static void put_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
702 |
+static void put_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
703 | 703 |
{ |
704 | 704 |
register int i; |
705 | 705 |
register vector unsigned char pixelsv1, pixelsv2, pixelsavg; |
... | ... |
@@ -758,7 +758,7 @@ static void put_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, int l |
758 | 758 |
} |
759 | 759 |
|
760 | 760 |
/* next one assumes that ((line_size % 8) == 0) */ |
761 |
-static void put_no_rnd_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
761 |
+static void put_no_rnd_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
762 | 762 |
{ |
763 | 763 |
register int i; |
764 | 764 |
register vector unsigned char pixelsv1, pixelsv2, pixelsavg; |
... | ... |
@@ -818,7 +818,7 @@ static void put_no_rnd_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels |
818 | 818 |
} |
819 | 819 |
|
820 | 820 |
/* next one assumes that ((line_size % 16) == 0) */ |
821 |
-static void put_pixels16_xy2_altivec(uint8_t * block, const uint8_t * pixels, int line_size, int h) |
|
821 |
+static void put_pixels16_xy2_altivec(uint8_t * block, const uint8_t * pixels, ptrdiff_t line_size, int h) |
|
822 | 822 |
{ |
823 | 823 |
register int i; |
824 | 824 |
register vector unsigned char pixelsv1, pixelsv2, pixelsv3, pixelsv4; |
... | ... |
@@ -886,7 +886,7 @@ static void put_pixels16_xy2_altivec(uint8_t * block, const uint8_t * pixels, in |
886 | 886 |
} |
887 | 887 |
|
888 | 888 |
/* next one assumes that ((line_size % 16) == 0) */ |
889 |
-static void put_no_rnd_pixels16_xy2_altivec(uint8_t * block, const uint8_t * pixels, int line_size, int h) |
|
889 |
+static void put_no_rnd_pixels16_xy2_altivec(uint8_t * block, const uint8_t * pixels, ptrdiff_t line_size, int h) |
|
890 | 890 |
{ |
891 | 891 |
register int i; |
892 | 892 |
register vector unsigned char pixelsv1, pixelsv2, pixelsv3, pixelsv4; |
... | ... |
@@ -1284,7 +1284,7 @@ static int hadamard8_diff16_altivec(/*MpegEncContext*/ void *s, uint8_t *dst, ui |
1284 | 1284 |
} |
1285 | 1285 |
|
1286 | 1286 |
/* next one assumes that ((line_size % 8) == 0) */ |
1287 |
-static void avg_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
1287 |
+static void avg_pixels8_xy2_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
1288 | 1288 |
{ |
1289 | 1289 |
register int i; |
1290 | 1290 |
register vector unsigned char pixelsv1, pixelsv2, pixelsavg; |
... | ... |
@@ -26,9 +26,9 @@ |
26 | 26 |
#include <stdint.h> |
27 | 27 |
#include "libavcodec/dsputil.h" |
28 | 28 |
|
29 |
-void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
29 |
+void ff_put_pixels16_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
30 | 30 |
|
31 |
-void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
31 |
+void ff_avg_pixels16_altivec(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
32 | 32 |
|
33 | 33 |
void ff_fdct_altivec(int16_t *block); |
34 | 34 |
void ff_gmc1_altivec(uint8_t *dst, uint8_t *src, int stride, int h, |
... | ... |
@@ -262,7 +262,7 @@ if (sz==16) { \ |
262 | 262 |
|
263 | 263 |
#define DEFFUNC(op,rnd,xy,sz,OP_N,avgfunc) \ |
264 | 264 |
static void op##_##rnd##_pixels##sz##_##xy (uint8_t * dest, const uint8_t * ref, \ |
265 |
- const int stride, int height) \ |
|
265 |
+ const int ptrdiff_t, int height) \ |
|
266 | 266 |
{ \ |
267 | 267 |
switch((int)ref&3) { \ |
268 | 268 |
case 0:OP_N##0(sz,rnd##_##avgfunc); return; \ |
... | ... |
@@ -120,7 +120,7 @@ DECLARE_ALIGNED(8, static const int16_t, constants256_1024)[] = |
120 | 120 |
#define TMP32 58 |
121 | 121 |
|
122 | 122 |
static void MC_put_o_16_vis (uint8_t * dest, const uint8_t * ref, |
123 |
- const int stride, int height) |
|
123 |
+ const ptrdiff_t line_size, int height) |
|
124 | 124 |
{ |
125 | 125 |
ref = vis_alignaddr(ref); |
126 | 126 |
do { /* 5 cycles */ |
... | ... |
@@ -141,7 +141,7 @@ static void MC_put_o_16_vis (uint8_t * dest, const uint8_t * ref, |
141 | 141 |
} |
142 | 142 |
|
143 | 143 |
static void MC_put_o_8_vis (uint8_t * dest, const uint8_t * ref, |
144 |
- const int stride, int height) |
|
144 |
+ const ptrdiff_t line_size, int height) |
|
145 | 145 |
{ |
146 | 146 |
ref = vis_alignaddr(ref); |
147 | 147 |
do { /* 4 cycles */ |
... | ... |
@@ -160,7 +160,7 @@ static void MC_put_o_8_vis (uint8_t * dest, const uint8_t * ref, |
160 | 160 |
|
161 | 161 |
|
162 | 162 |
static void MC_avg_o_16_vis (uint8_t * dest, const uint8_t * ref, |
163 |
- const int stride, int height) |
|
163 |
+ const ptrdiff_t line_size, int height) |
|
164 | 164 |
{ |
165 | 165 |
int stride_8 = stride + 8; |
166 | 166 |
|
... | ... |
@@ -320,7 +320,7 @@ static void MC_avg_o_16_vis (uint8_t * dest, const uint8_t * ref, |
320 | 320 |
} |
321 | 321 |
|
322 | 322 |
static void MC_avg_o_8_vis (uint8_t * dest, const uint8_t * ref, |
323 |
- const int stride, int height) |
|
323 |
+ const ptrdiff_t line_size, int height) |
|
324 | 324 |
{ |
325 | 325 |
ref = vis_alignaddr(ref); |
326 | 326 |
|
... | ... |
@@ -412,7 +412,7 @@ static void MC_avg_o_8_vis (uint8_t * dest, const uint8_t * ref, |
412 | 412 |
} |
413 | 413 |
|
414 | 414 |
static void MC_put_x_16_vis (uint8_t * dest, const uint8_t * ref, |
415 |
- const int stride, int height) |
|
415 |
+ const ptrdiff_t line_size, int height) |
|
416 | 416 |
{ |
417 | 417 |
unsigned long off = (unsigned long) ref & 0x7; |
418 | 418 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -604,7 +604,7 @@ static void MC_put_x_16_vis (uint8_t * dest, const uint8_t * ref, |
604 | 604 |
} |
605 | 605 |
|
606 | 606 |
static void MC_put_x_8_vis (uint8_t * dest, const uint8_t * ref, |
607 |
- const int stride, int height) |
|
607 |
+ const ptrdiff_t line_size, int height) |
|
608 | 608 |
{ |
609 | 609 |
unsigned long off = (unsigned long) ref & 0x7; |
610 | 610 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -727,7 +727,7 @@ static void MC_put_x_8_vis (uint8_t * dest, const uint8_t * ref, |
727 | 727 |
} |
728 | 728 |
|
729 | 729 |
static void MC_avg_x_16_vis (uint8_t * dest, const uint8_t * ref, |
730 |
- const int stride, int height) |
|
730 |
+ const ptrdiff_t line_size, int height) |
|
731 | 731 |
{ |
732 | 732 |
unsigned long off = (unsigned long) ref & 0x7; |
733 | 733 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -817,7 +817,7 @@ static void MC_avg_x_16_vis (uint8_t * dest, const uint8_t * ref, |
817 | 817 |
} |
818 | 818 |
|
819 | 819 |
static void MC_avg_x_8_vis (uint8_t * dest, const uint8_t * ref, |
820 |
- const int stride, int height) |
|
820 |
+ const ptrdiff_t line_size, int height) |
|
821 | 821 |
{ |
822 | 822 |
unsigned long off = (unsigned long) ref & 0x7; |
823 | 823 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -982,7 +982,7 @@ static void MC_avg_x_8_vis (uint8_t * dest, const uint8_t * ref, |
982 | 982 |
} |
983 | 983 |
|
984 | 984 |
static void MC_put_y_16_vis (uint8_t * dest, const uint8_t * ref, |
985 |
- const int stride, int height) |
|
985 |
+ const ptrdiff_t line_size, int height) |
|
986 | 986 |
{ |
987 | 987 |
ref = vis_alignaddr(ref); |
988 | 988 |
vis_ld64(ref[0], TMP0); |
... | ... |
@@ -1136,7 +1136,7 @@ static void MC_put_y_16_vis (uint8_t * dest, const uint8_t * ref, |
1136 | 1136 |
} |
1137 | 1137 |
|
1138 | 1138 |
static void MC_put_y_8_vis (uint8_t * dest, const uint8_t * ref, |
1139 |
- const int stride, int height) |
|
1139 |
+ const ptrdiff_t line_size, int height) |
|
1140 | 1140 |
{ |
1141 | 1141 |
ref = vis_alignaddr(ref); |
1142 | 1142 |
vis_ld64(ref[0], TMP0); |
... | ... |
@@ -1226,7 +1226,7 @@ static void MC_put_y_8_vis (uint8_t * dest, const uint8_t * ref, |
1226 | 1226 |
} |
1227 | 1227 |
|
1228 | 1228 |
static void MC_avg_y_16_vis (uint8_t * dest, const uint8_t * ref, |
1229 |
- const int stride, int height) |
|
1229 |
+ const ptrdiff_t line_size, int height) |
|
1230 | 1230 |
{ |
1231 | 1231 |
int stride_8 = stride + 8; |
1232 | 1232 |
int stride_16 = stride + 16; |
... | ... |
@@ -1354,7 +1354,7 @@ static void MC_avg_y_16_vis (uint8_t * dest, const uint8_t * ref, |
1354 | 1354 |
} |
1355 | 1355 |
|
1356 | 1356 |
static void MC_avg_y_8_vis (uint8_t * dest, const uint8_t * ref, |
1357 |
- const int stride, int height) |
|
1357 |
+ const ptrdiff_t line_size, int height) |
|
1358 | 1358 |
{ |
1359 | 1359 |
int stride_8 = stride + 8; |
1360 | 1360 |
|
... | ... |
@@ -1433,7 +1433,7 @@ static void MC_avg_y_8_vis (uint8_t * dest, const uint8_t * ref, |
1433 | 1433 |
} |
1434 | 1434 |
|
1435 | 1435 |
static void MC_put_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
1436 |
- const int stride, int height) |
|
1436 |
+ const ptrdiff_t line_size, int height) |
|
1437 | 1437 |
{ |
1438 | 1438 |
unsigned long off = (unsigned long) ref & 0x7; |
1439 | 1439 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -1597,7 +1597,7 @@ static void MC_put_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
1597 | 1597 |
} |
1598 | 1598 |
|
1599 | 1599 |
static void MC_put_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
1600 |
- const int stride, int height) |
|
1600 |
+ const ptrdiff_t line_size, int height) |
|
1601 | 1601 |
{ |
1602 | 1602 |
unsigned long off = (unsigned long) ref & 0x7; |
1603 | 1603 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -1701,7 +1701,7 @@ static void MC_put_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
1701 | 1701 |
} |
1702 | 1702 |
|
1703 | 1703 |
static void MC_avg_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
1704 |
- const int stride, int height) |
|
1704 |
+ const ptrdiff_t line_size, int height) |
|
1705 | 1705 |
{ |
1706 | 1706 |
unsigned long off = (unsigned long) ref & 0x7; |
1707 | 1707 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -1897,7 +1897,7 @@ static void MC_avg_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
1897 | 1897 |
} |
1898 | 1898 |
|
1899 | 1899 |
static void MC_avg_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
1900 |
- const int stride, int height) |
|
1900 |
+ const ptrdiff_t line_size, int height) |
|
1901 | 1901 |
{ |
1902 | 1902 |
unsigned long off = (unsigned long) ref & 0x7; |
1903 | 1903 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -2040,7 +2040,7 @@ static void MC_avg_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
2040 | 2040 |
*/ |
2041 | 2041 |
|
2042 | 2042 |
static void MC_put_no_round_o_16_vis (uint8_t * dest, const uint8_t * ref, |
2043 |
- const int stride, int height) |
|
2043 |
+ const ptrdiff_t line_size, int height) |
|
2044 | 2044 |
{ |
2045 | 2045 |
ref = vis_alignaddr(ref); |
2046 | 2046 |
do { /* 5 cycles */ |
... | ... |
@@ -2061,7 +2061,7 @@ static void MC_put_no_round_o_16_vis (uint8_t * dest, const uint8_t * ref, |
2061 | 2061 |
} |
2062 | 2062 |
|
2063 | 2063 |
static void MC_put_no_round_o_8_vis (uint8_t * dest, const uint8_t * ref, |
2064 |
- const int stride, int height) |
|
2064 |
+ const ptrdiff_t line_size, int height) |
|
2065 | 2065 |
{ |
2066 | 2066 |
ref = vis_alignaddr(ref); |
2067 | 2067 |
do { /* 4 cycles */ |
... | ... |
@@ -2080,7 +2080,7 @@ static void MC_put_no_round_o_8_vis (uint8_t * dest, const uint8_t * ref, |
2080 | 2080 |
|
2081 | 2081 |
|
2082 | 2082 |
static void MC_avg_no_round_o_16_vis (uint8_t * dest, const uint8_t * ref, |
2083 |
- const int stride, int height) |
|
2083 |
+ const ptrdiff_t line_size, int height) |
|
2084 | 2084 |
{ |
2085 | 2085 |
int stride_8 = stride + 8; |
2086 | 2086 |
|
... | ... |
@@ -2240,7 +2240,7 @@ static void MC_avg_no_round_o_16_vis (uint8_t * dest, const uint8_t * ref, |
2240 | 2240 |
} |
2241 | 2241 |
|
2242 | 2242 |
static void MC_put_no_round_x_16_vis (uint8_t * dest, const uint8_t * ref, |
2243 |
- const int stride, int height) |
|
2243 |
+ const ptrdiff_t line_size, int height) |
|
2244 | 2244 |
{ |
2245 | 2245 |
unsigned long off = (unsigned long) ref & 0x7; |
2246 | 2246 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -2432,7 +2432,7 @@ static void MC_put_no_round_x_16_vis (uint8_t * dest, const uint8_t * ref, |
2432 | 2432 |
} |
2433 | 2433 |
|
2434 | 2434 |
static void MC_put_no_round_x_8_vis (uint8_t * dest, const uint8_t * ref, |
2435 |
- const int stride, int height) |
|
2435 |
+ const ptrdiff_t line_size, int height) |
|
2436 | 2436 |
{ |
2437 | 2437 |
unsigned long off = (unsigned long) ref & 0x7; |
2438 | 2438 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -2555,7 +2555,7 @@ static void MC_put_no_round_x_8_vis (uint8_t * dest, const uint8_t * ref, |
2555 | 2555 |
} |
2556 | 2556 |
|
2557 | 2557 |
static void MC_avg_no_round_x_16_vis (uint8_t * dest, const uint8_t * ref, |
2558 |
- const int stride, int height) |
|
2558 |
+ const ptrdiff_t line_size, int height) |
|
2559 | 2559 |
{ |
2560 | 2560 |
unsigned long off = (unsigned long) ref & 0x7; |
2561 | 2561 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -2645,7 +2645,7 @@ static void MC_avg_no_round_x_16_vis (uint8_t * dest, const uint8_t * ref, |
2645 | 2645 |
} |
2646 | 2646 |
|
2647 | 2647 |
static void MC_put_no_round_y_16_vis (uint8_t * dest, const uint8_t * ref, |
2648 |
- const int stride, int height) |
|
2648 |
+ const ptrdiff_t line_size, int height) |
|
2649 | 2649 |
{ |
2650 | 2650 |
ref = vis_alignaddr(ref); |
2651 | 2651 |
vis_ld64(ref[0], TMP0); |
... | ... |
@@ -2799,7 +2799,7 @@ static void MC_put_no_round_y_16_vis (uint8_t * dest, const uint8_t * ref, |
2799 | 2799 |
} |
2800 | 2800 |
|
2801 | 2801 |
static void MC_put_no_round_y_8_vis (uint8_t * dest, const uint8_t * ref, |
2802 |
- const int stride, int height) |
|
2802 |
+ const ptrdiff_t line_size, int height) |
|
2803 | 2803 |
{ |
2804 | 2804 |
ref = vis_alignaddr(ref); |
2805 | 2805 |
vis_ld64(ref[0], TMP0); |
... | ... |
@@ -2889,7 +2889,7 @@ static void MC_put_no_round_y_8_vis (uint8_t * dest, const uint8_t * ref, |
2889 | 2889 |
} |
2890 | 2890 |
|
2891 | 2891 |
static void MC_avg_no_round_y_16_vis (uint8_t * dest, const uint8_t * ref, |
2892 |
- const int stride, int height) |
|
2892 |
+ const ptrdiff_t line_size, int height) |
|
2893 | 2893 |
{ |
2894 | 2894 |
int stride_8 = stride + 8; |
2895 | 2895 |
int stride_16 = stride + 16; |
... | ... |
@@ -3017,7 +3017,7 @@ static void MC_avg_no_round_y_16_vis (uint8_t * dest, const uint8_t * ref, |
3017 | 3017 |
} |
3018 | 3018 |
|
3019 | 3019 |
static void MC_put_no_round_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
3020 |
- const int stride, int height) |
|
3020 |
+ const ptrdiff_t line_size, int height) |
|
3021 | 3021 |
{ |
3022 | 3022 |
unsigned long off = (unsigned long) ref & 0x7; |
3023 | 3023 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -3181,7 +3181,7 @@ static void MC_put_no_round_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
3181 | 3181 |
} |
3182 | 3182 |
|
3183 | 3183 |
static void MC_put_no_round_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
3184 |
- const int stride, int height) |
|
3184 |
+ const ptrdiff_t line_size, int height) |
|
3185 | 3185 |
{ |
3186 | 3186 |
unsigned long off = (unsigned long) ref & 0x7; |
3187 | 3187 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -3285,7 +3285,7 @@ static void MC_put_no_round_xy_8_vis (uint8_t * dest, const uint8_t * ref, |
3285 | 3285 |
} |
3286 | 3286 |
|
3287 | 3287 |
static void MC_avg_no_round_xy_16_vis (uint8_t * dest, const uint8_t * ref, |
3288 |
- const int stride, int height) |
|
3288 |
+ const ptrdiff_t line_size, int height) |
|
3289 | 3289 |
{ |
3290 | 3290 |
unsigned long off = (unsigned long) ref & 0x7; |
3291 | 3291 |
unsigned long off_plus_1 = off + 1; |
... | ... |
@@ -27,14 +27,14 @@ |
27 | 27 |
//FIXME the following could be optimized too ... |
28 | 28 |
static void DEF(ff_put_no_rnd_pixels16_x2)(uint8_t *block, |
29 | 29 |
const uint8_t *pixels, |
30 |
- int line_size, int h) |
|
30 |
+ ptrdiff_t line_size, int h) |
|
31 | 31 |
{ |
32 | 32 |
DEF(ff_put_no_rnd_pixels8_x2)(block, pixels, line_size, h); |
33 | 33 |
DEF(ff_put_no_rnd_pixels8_x2)(block + 8, pixels + 8, line_size, h); |
34 | 34 |
} |
35 | 35 |
|
36 | 36 |
static void DEF(ff_put_pixels16_y2)(uint8_t *block, const uint8_t *pixels, |
37 |
- int line_size, int h) |
|
37 |
+ ptrdiff_t line_size, int h) |
|
38 | 38 |
{ |
39 | 39 |
DEF(ff_put_pixels8_y2)(block, pixels, line_size, h); |
40 | 40 |
DEF(ff_put_pixels8_y2)(block + 8, pixels + 8, line_size, h); |
... | ... |
@@ -42,35 +42,35 @@ static void DEF(ff_put_pixels16_y2)(uint8_t *block, const uint8_t *pixels, |
42 | 42 |
|
43 | 43 |
static void DEF(ff_put_no_rnd_pixels16_y2)(uint8_t *block, |
44 | 44 |
const uint8_t *pixels, |
45 |
- int line_size, int h) |
|
45 |
+ ptrdiff_t line_size, int h) |
|
46 | 46 |
{ |
47 | 47 |
DEF(ff_put_no_rnd_pixels8_y2)(block, pixels, line_size, h); |
48 | 48 |
DEF(ff_put_no_rnd_pixels8_y2)(block + 8, pixels + 8, line_size, h); |
49 | 49 |
} |
50 | 50 |
|
51 | 51 |
static void DEF(ff_avg_pixels16)(uint8_t *block, const uint8_t *pixels, |
52 |
- int line_size, int h) |
|
52 |
+ ptrdiff_t line_size, int h) |
|
53 | 53 |
{ |
54 | 54 |
DEF(ff_avg_pixels8)(block, pixels, line_size, h); |
55 | 55 |
DEF(ff_avg_pixels8)(block + 8, pixels + 8, line_size, h); |
56 | 56 |
} |
57 | 57 |
|
58 | 58 |
static void DEF(ff_avg_pixels16_x2)(uint8_t *block, const uint8_t *pixels, |
59 |
- int line_size, int h) |
|
59 |
+ ptrdiff_t line_size, int h) |
|
60 | 60 |
{ |
61 | 61 |
DEF(ff_avg_pixels8_x2)(block, pixels, line_size, h); |
62 | 62 |
DEF(ff_avg_pixels8_x2)(block + 8, pixels + 8, line_size, h); |
63 | 63 |
} |
64 | 64 |
|
65 | 65 |
static void DEF(ff_avg_pixels16_y2)(uint8_t *block, const uint8_t *pixels, |
66 |
- int line_size, int h) |
|
66 |
+ ptrdiff_t line_size, int h) |
|
67 | 67 |
{ |
68 | 68 |
DEF(ff_avg_pixels8_y2)(block, pixels, line_size, h); |
69 | 69 |
DEF(ff_avg_pixels8_y2)(block + 8, pixels + 8, line_size, h); |
70 | 70 |
} |
71 | 71 |
|
72 | 72 |
static void DEF(ff_avg_pixels16_xy2)(uint8_t *block, const uint8_t *pixels, |
73 |
- int line_size, int h) |
|
73 |
+ ptrdiff_t line_size, int h) |
|
74 | 74 |
{ |
75 | 75 |
DEF(ff_avg_pixels8_xy2)(block, pixels, line_size, h); |
76 | 76 |
DEF(ff_avg_pixels8_xy2)(block + 8, pixels + 8, line_size, h); |
... | ... |
@@ -83,9 +83,9 @@ DECLARE_ALIGNED(16, const double, ff_pd_2)[2] = { 2.0, 2.0 }; |
83 | 83 |
|
84 | 84 |
#if HAVE_YASM |
85 | 85 |
void ff_put_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels, |
86 |
- int line_size, int h); |
|
86 |
+ ptrdiff_t line_size, int h); |
|
87 | 87 |
void ff_put_pixels8_x2_3dnow(uint8_t *block, const uint8_t *pixels, |
88 |
- int line_size, int h); |
|
88 |
+ ptrdiff_t line_size, int h); |
|
89 | 89 |
void ff_put_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
90 | 90 |
int dstStride, int src1Stride, int h); |
91 | 91 |
void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, |
... | ... |
@@ -94,9 +94,9 @@ void ff_put_no_rnd_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, |
94 | 94 |
void ff_avg_pixels8_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
95 | 95 |
int dstStride, int src1Stride, int h); |
96 | 96 |
void ff_put_pixels16_x2_mmxext(uint8_t *block, const uint8_t *pixels, |
97 |
- int line_size, int h); |
|
97 |
+ ptrdiff_t line_size, int h); |
|
98 | 98 |
void ff_put_pixels16_x2_3dnow(uint8_t *block, const uint8_t *pixels, |
99 |
- int line_size, int h); |
|
99 |
+ ptrdiff_t line_size, int h); |
|
100 | 100 |
void ff_put_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
101 | 101 |
int dstStride, int src1Stride, int h); |
102 | 102 |
void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
... | ... |
@@ -104,47 +104,47 @@ void ff_avg_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
104 | 104 |
void ff_put_no_rnd_pixels16_l2_mmxext(uint8_t *dst, uint8_t *src1, uint8_t *src2, |
105 | 105 |
int dstStride, int src1Stride, int h); |
106 | 106 |
void ff_put_no_rnd_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels, |
107 |
- int line_size, int h); |
|
107 |
+ ptrdiff_t line_size, int h); |
|
108 | 108 |
void ff_put_no_rnd_pixels8_x2_3dnow(uint8_t *block, const uint8_t *pixels, |
109 |
- int line_size, int h); |
|
109 |
+ ptrdiff_t line_size, int h); |
|
110 | 110 |
void ff_put_no_rnd_pixels8_x2_exact_mmxext(uint8_t *block, |
111 | 111 |
const uint8_t *pixels, |
112 |
- int line_size, int h); |
|
112 |
+ ptrdiff_t line_size, int h); |
|
113 | 113 |
void ff_put_no_rnd_pixels8_x2_exact_3dnow(uint8_t *block, |
114 | 114 |
const uint8_t *pixels, |
115 |
- int line_size, int h); |
|
115 |
+ ptrdiff_t line_size, int h); |
|
116 | 116 |
void ff_put_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels, |
117 |
- int line_size, int h); |
|
117 |
+ ptrdiff_t line_size, int h); |
|
118 | 118 |
void ff_put_pixels8_y2_3dnow(uint8_t *block, const uint8_t *pixels, |
119 |
- int line_size, int h); |
|
119 |
+ ptrdiff_t line_size, int h); |
|
120 | 120 |
void ff_put_no_rnd_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels, |
121 |
- int line_size, int h); |
|
121 |
+ ptrdiff_t line_size, int h); |
|
122 | 122 |
void ff_put_no_rnd_pixels8_y2_3dnow(uint8_t *block, const uint8_t *pixels, |
123 |
- int line_size, int h); |
|
123 |
+ ptrdiff_t line_size, int h); |
|
124 | 124 |
void ff_put_no_rnd_pixels8_y2_exact_mmxext(uint8_t *block, |
125 | 125 |
const uint8_t *pixels, |
126 |
- int line_size, int h); |
|
126 |
+ ptrdiff_t line_size, int h); |
|
127 | 127 |
void ff_put_no_rnd_pixels8_y2_exact_3dnow(uint8_t *block, |
128 | 128 |
const uint8_t *pixels, |
129 |
- int line_size, int h); |
|
129 |
+ ptrdiff_t line_size, int h); |
|
130 | 130 |
void ff_avg_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, |
131 |
- int line_size, int h); |
|
131 |
+ ptrdiff_t line_size, int h); |
|
132 | 132 |
void ff_avg_pixels8_3dnow(uint8_t *block, const uint8_t *pixels, |
133 |
- int line_size, int h); |
|
133 |
+ ptrdiff_t line_size, int h); |
|
134 | 134 |
void ff_avg_pixels8_x2_mmxext(uint8_t *block, const uint8_t *pixels, |
135 |
- int line_size, int h); |
|
135 |
+ ptrdiff_t line_size, int h); |
|
136 | 136 |
void ff_avg_pixels8_x2_3dnow(uint8_t *block, const uint8_t *pixels, |
137 |
- int line_size, int h); |
|
137 |
+ ptrdiff_t line_size, int h); |
|
138 | 138 |
void ff_avg_pixels8_y2_mmxext(uint8_t *block, const uint8_t *pixels, |
139 |
- int line_size, int h); |
|
139 |
+ ptrdiff_t line_size, int h); |
|
140 | 140 |
void ff_avg_pixels8_y2_3dnow(uint8_t *block, const uint8_t *pixels, |
141 |
- int line_size, int h); |
|
141 |
+ ptrdiff_t line_size, int h); |
|
142 | 142 |
void ff_avg_pixels8_xy2_mmxext(uint8_t *block, const uint8_t *pixels, |
143 |
- int line_size, int h); |
|
143 |
+ ptrdiff_t line_size, int h); |
|
144 | 144 |
void ff_avg_pixels8_xy2_3dnow(uint8_t *block, const uint8_t *pixels, |
145 |
- int line_size, int h); |
|
145 |
+ ptrdiff_t line_size, int h); |
|
146 | 146 |
|
147 |
-void ff_put_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, int line_size, int h); |
|
147 |
+void ff_put_pixels8_mmxext(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h); |
|
148 | 148 |
static void ff_put_pixels16_mmxext(uint8_t *block, const uint8_t *pixels, |
149 | 149 |
int line_size, int h) |
150 | 150 |
{ |
... | ... |
@@ -1455,9 +1455,9 @@ static void gmc_mmx(uint8_t *dst, uint8_t *src, |
1455 | 1455 |
#endif /* HAVE_INLINE_ASM */ |
1456 | 1456 |
|
1457 | 1457 |
void ff_put_pixels16_sse2(uint8_t *block, const uint8_t *pixels, |
1458 |
- int line_size, int h); |
|
1458 |
+ ptrdiff_t line_size, int h); |
|
1459 | 1459 |
void ff_avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, |
1460 |
- int line_size, int h); |
|
1460 |
+ ptrdiff_t line_size, int h); |
|
1461 | 1461 |
|
1462 | 1462 |
void ff_put_h264_chroma_mc8_rnd_mmx (uint8_t *dst, uint8_t *src, |
1463 | 1463 |
int stride, int h, int x, int y); |
... | ... |
@@ -25,7 +25,7 @@ |
25 | 25 |
*/ |
26 | 26 |
|
27 | 27 |
// put_pixels |
28 |
-static void DEF(put, pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
28 |
+static void DEF(put, pixels8_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
29 | 29 |
{ |
30 | 30 |
MOVQ_BFE(mm6); |
31 | 31 |
__asm__ volatile( |
... | ... |
@@ -107,7 +107,7 @@ static void av_unused DEF(put, pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t |
107 | 107 |
:"memory"); |
108 | 108 |
} |
109 | 109 |
|
110 |
-static void DEF(put, pixels16_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
110 |
+static void DEF(put, pixels16_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
111 | 111 |
{ |
112 | 112 |
MOVQ_BFE(mm6); |
113 | 113 |
__asm__ volatile( |
... | ... |
@@ -202,7 +202,7 @@ static void av_unused DEF(put, pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t |
202 | 202 |
:"memory"); |
203 | 203 |
} |
204 | 204 |
|
205 |
-static void DEF(put, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
205 |
+static void DEF(put, pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
206 | 206 |
{ |
207 | 207 |
MOVQ_BFE(mm6); |
208 | 208 |
__asm__ volatile( |
... | ... |
@@ -231,7 +231,7 @@ static void DEF(put, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line |
231 | 231 |
:REG_a, "memory"); |
232 | 232 |
} |
233 | 233 |
|
234 |
-static void DEF(put, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
234 |
+static void DEF(put, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
235 | 235 |
{ |
236 | 236 |
MOVQ_ZERO(mm7); |
237 | 237 |
SET_RND(mm6); // =2 for rnd and =1 for no_rnd version |
... | ... |
@@ -298,7 +298,7 @@ static void DEF(put, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int lin |
298 | 298 |
} |
299 | 299 |
|
300 | 300 |
// avg_pixels |
301 |
-static void av_unused DEF(avg, pixels4)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
301 |
+static void av_unused DEF(avg, pixels4)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
302 | 302 |
{ |
303 | 303 |
MOVQ_BFE(mm6); |
304 | 304 |
JUMPALIGN(); |
... | ... |
@@ -319,7 +319,7 @@ static void av_unused DEF(avg, pixels4)(uint8_t *block, const uint8_t *pixels, i |
319 | 319 |
|
320 | 320 |
#ifndef NO_RND |
321 | 321 |
// in case more speed is needed - unroling would certainly help |
322 |
-static void DEF(avg, pixels8)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
322 |
+static void DEF(avg, pixels8)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
323 | 323 |
{ |
324 | 324 |
MOVQ_BFE(mm6); |
325 | 325 |
JUMPALIGN(); |
... | ... |
@@ -339,7 +339,7 @@ static void DEF(avg, pixels8)(uint8_t *block, const uint8_t *pixels, int line_si |
339 | 339 |
} |
340 | 340 |
#endif // NO_RND |
341 | 341 |
|
342 |
-static void DEF(avg, pixels16)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
342 |
+static void DEF(avg, pixels16)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
343 | 343 |
{ |
344 | 344 |
MOVQ_BFE(mm6); |
345 | 345 |
JUMPALIGN(); |
... | ... |
@@ -363,7 +363,7 @@ static void DEF(avg, pixels16)(uint8_t *block, const uint8_t *pixels, int line_s |
363 | 363 |
} |
364 | 364 |
|
365 | 365 |
#ifndef NO_RND |
366 |
-static void DEF(avg, pixels8_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
366 |
+static void DEF(avg, pixels8_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
367 | 367 |
{ |
368 | 368 |
MOVQ_BFE(mm6); |
369 | 369 |
JUMPALIGN(); |
... | ... |
@@ -405,7 +405,7 @@ static av_unused void DEF(avg, pixels8_l2)(uint8_t *dst, uint8_t *src1, uint8_t |
405 | 405 |
} while (--h); |
406 | 406 |
} |
407 | 407 |
|
408 |
-static void DEF(avg, pixels16_x2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
408 |
+static void DEF(avg, pixels16_x2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
409 | 409 |
{ |
410 | 410 |
MOVQ_BFE(mm6); |
411 | 411 |
JUMPALIGN(); |
... | ... |
@@ -458,7 +458,7 @@ static av_unused void DEF(avg, pixels16_l2)(uint8_t *dst, uint8_t *src1, uint8_t |
458 | 458 |
} while (--h); |
459 | 459 |
} |
460 | 460 |
|
461 |
-static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
461 |
+static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
462 | 462 |
{ |
463 | 463 |
MOVQ_BFE(mm6); |
464 | 464 |
__asm__ volatile( |
... | ... |
@@ -498,7 +498,7 @@ static void DEF(avg, pixels8_y2)(uint8_t *block, const uint8_t *pixels, int line |
498 | 498 |
} |
499 | 499 |
|
500 | 500 |
// this routine is 'slightly' suboptimal but mostly unused |
501 |
-static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
501 |
+static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
502 | 502 |
{ |
503 | 503 |
MOVQ_ZERO(mm7); |
504 | 504 |
SET_RND(mm6); // =2 for rnd and =1 for no_rnd version |
... | ... |
@@ -573,22 +573,22 @@ static void DEF(avg, pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int lin |
573 | 573 |
} |
574 | 574 |
|
575 | 575 |
//FIXME optimize |
576 |
-static void DEF(put, pixels16_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){ |
|
576 |
+static void DEF(put, pixels16_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){ |
|
577 | 577 |
DEF(put, pixels8_y2)(block , pixels , line_size, h); |
578 | 578 |
DEF(put, pixels8_y2)(block+8, pixels+8, line_size, h); |
579 | 579 |
} |
580 | 580 |
|
581 |
-static void DEF(put, pixels16_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){ |
|
581 |
+static void DEF(put, pixels16_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){ |
|
582 | 582 |
DEF(put, pixels8_xy2)(block , pixels , line_size, h); |
583 | 583 |
DEF(put, pixels8_xy2)(block+8, pixels+8, line_size, h); |
584 | 584 |
} |
585 | 585 |
|
586 |
-static void DEF(avg, pixels16_y2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){ |
|
586 |
+static void DEF(avg, pixels16_y2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){ |
|
587 | 587 |
DEF(avg, pixels8_y2)(block , pixels , line_size, h); |
588 | 588 |
DEF(avg, pixels8_y2)(block+8, pixels+8, line_size, h); |
589 | 589 |
} |
590 | 590 |
|
591 |
-static void DEF(avg, pixels16_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){ |
|
591 |
+static void DEF(avg, pixels16_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){ |
|
592 | 592 |
DEF(avg, pixels8_xy2)(block , pixels , line_size, h); |
593 | 593 |
DEF(avg, pixels8_xy2)(block+8, pixels+8, line_size, h); |
594 | 594 |
} |
... | ... |
@@ -25,10 +25,9 @@ cextern pb_1 |
25 | 25 |
|
26 | 26 |
SECTION_TEXT |
27 | 27 |
|
28 |
-; put_pixels8_x2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
28 |
+; put_pixels8_x2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
29 | 29 |
%macro PUT_PIXELS8_X2 0 |
30 | 30 |
cglobal put_pixels8_x2, 4,5 |
31 |
- movsxdifnidn r2, r2d |
|
32 | 31 |
lea r4, [r2*2] |
33 | 32 |
.loop: |
34 | 33 |
mova m0, [r1] |
... | ... |
@@ -58,10 +57,9 @@ INIT_MMX 3dnow |
58 | 58 |
PUT_PIXELS8_X2 |
59 | 59 |
|
60 | 60 |
|
61 |
-; put_pixels16_x2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
61 |
+; put_pixels16_x2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
62 | 62 |
%macro PUT_PIXELS_16 0 |
63 | 63 |
cglobal put_pixels16_x2, 4,5 |
64 |
- movsxdifnidn r2, r2d |
|
65 | 64 |
lea r4, [r2*2] |
66 | 65 |
.loop: |
67 | 66 |
mova m0, [r1] |
... | ... |
@@ -103,11 +101,10 @@ INIT_MMX 3dnow |
103 | 103 |
PUT_PIXELS_16 |
104 | 104 |
|
105 | 105 |
|
106 |
-; put_no_rnd_pixels8_x2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
106 |
+; put_no_rnd_pixels8_x2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
107 | 107 |
%macro PUT_NO_RND_PIXELS8_X2 0 |
108 | 108 |
cglobal put_no_rnd_pixels8_x2, 4,5 |
109 | 109 |
mova m6, [pb_1] |
110 |
- movsxdifnidn r2, r2d |
|
111 | 110 |
lea r4, [r2*2] |
112 | 111 |
.loop: |
113 | 112 |
mova m0, [r1] |
... | ... |
@@ -145,10 +142,9 @@ INIT_MMX 3dnow |
145 | 145 |
PUT_NO_RND_PIXELS8_X2 |
146 | 146 |
|
147 | 147 |
|
148 |
-; put_no_rnd_pixels8_x2_exact(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
148 |
+; put_no_rnd_pixels8_x2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
149 | 149 |
%macro PUT_NO_RND_PIXELS8_X2_EXACT 0 |
150 | 150 |
cglobal put_no_rnd_pixels8_x2_exact, 4,5 |
151 |
- movsxdifnidn r2, r2d |
|
152 | 151 |
lea r4, [r2*3] |
153 | 152 |
pcmpeqb m6, m6 |
154 | 153 |
.loop: |
... | ... |
@@ -193,10 +189,9 @@ INIT_MMX 3dnow |
193 | 193 |
PUT_NO_RND_PIXELS8_X2_EXACT |
194 | 194 |
|
195 | 195 |
|
196 |
-; put_pixels8_y2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
196 |
+; put_pixels8_y2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
197 | 197 |
%macro PUT_PIXELS8_Y2 0 |
198 | 198 |
cglobal put_pixels8_y2, 4,5 |
199 |
- movsxdifnidn r2, r2d |
|
200 | 199 |
lea r4, [r2*2] |
201 | 200 |
mova m0, [r1] |
202 | 201 |
sub r0, r2 |
... | ... |
@@ -228,11 +223,10 @@ INIT_MMX 3dnow |
228 | 228 |
PUT_PIXELS8_Y2 |
229 | 229 |
|
230 | 230 |
|
231 |
-; put_no_rnd_pixels8_y2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
231 |
+; put_no_rnd_pixels8_y2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
232 | 232 |
%macro PUT_NO_RND_PIXELS8_Y2 0 |
233 | 233 |
cglobal put_no_rnd_pixels8_y2, 4,5 |
234 | 234 |
mova m6, [pb_1] |
235 |
- movsxdifnidn r2, r2d |
|
236 | 235 |
lea r4, [r2+r2] |
237 | 236 |
mova m0, [r1] |
238 | 237 |
sub r0, r2 |
... | ... |
@@ -266,10 +260,9 @@ INIT_MMX 3dnow |
266 | 266 |
PUT_NO_RND_PIXELS8_Y2 |
267 | 267 |
|
268 | 268 |
|
269 |
-; put_no_rnd_pixels8_y2_exact(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
269 |
+; put_no_rnd_pixels8_y2_exact(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
270 | 270 |
%macro PUT_NO_RND_PIXELS8_Y2_EXACT 0 |
271 | 271 |
cglobal put_no_rnd_pixels8_y2_exact, 4,5 |
272 |
- movsxdifnidn r2, r2d |
|
273 | 272 |
lea r4, [r2*3] |
274 | 273 |
mova m0, [r1] |
275 | 274 |
pcmpeqb m6, m6 |
... | ... |
@@ -309,10 +302,9 @@ INIT_MMX 3dnow |
309 | 309 |
PUT_NO_RND_PIXELS8_Y2_EXACT |
310 | 310 |
|
311 | 311 |
|
312 |
-; avg_pixels8(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
312 |
+; avg_pixels8(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
313 | 313 |
%macro AVG_PIXELS8 0 |
314 | 314 |
cglobal avg_pixels8, 4,5 |
315 |
- movsxdifnidn r2, r2d |
|
316 | 315 |
lea r4, [r2*2] |
317 | 316 |
.loop: |
318 | 317 |
mova m0, [r0] |
... | ... |
@@ -340,10 +332,9 @@ INIT_MMX 3dnow |
340 | 340 |
AVG_PIXELS8 |
341 | 341 |
|
342 | 342 |
|
343 |
-; avg_pixels8_x2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
343 |
+; avg_pixels8_x2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
344 | 344 |
%macro AVG_PIXELS8_X2 0 |
345 | 345 |
cglobal avg_pixels8_x2, 4,5 |
346 |
- movsxdifnidn r2, r2d |
|
347 | 346 |
lea r4, [r2*2] |
348 | 347 |
.loop: |
349 | 348 |
mova m0, [r1] |
... | ... |
@@ -377,10 +368,9 @@ INIT_MMX 3dnow |
377 | 377 |
AVG_PIXELS8_X2 |
378 | 378 |
|
379 | 379 |
|
380 |
-; avg_pixels8_y2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
380 |
+; avg_pixels8_y2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
381 | 381 |
%macro AVG_PIXELS8_Y2 0 |
382 | 382 |
cglobal avg_pixels8_y2, 4,5 |
383 |
- movsxdifnidn r2, r2d |
|
384 | 383 |
lea r4, [r2*2] |
385 | 384 |
mova m0, [r1] |
386 | 385 |
sub r0, r2 |
... | ... |
@@ -420,11 +410,10 @@ INIT_MMX 3dnow |
420 | 420 |
AVG_PIXELS8_Y2 |
421 | 421 |
|
422 | 422 |
|
423 |
-; avg_pixels8_xy2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
423 |
+; avg_pixels8_xy2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
424 | 424 |
%macro AVG_PIXELS8_XY2 0 |
425 | 425 |
cglobal avg_pixels8_xy2, 4,5 |
426 | 426 |
mova m6, [pb_1] |
427 |
- movsxdifnidn r2, r2d |
|
428 | 427 |
lea r4, [r2*2] |
429 | 428 |
mova m0, [r1] |
430 | 429 |
pavgb m0, [r1+1] |
... | ... |
@@ -465,9 +454,8 @@ INIT_MMX 3dnow |
465 | 465 |
AVG_PIXELS8_XY2 |
466 | 466 |
|
467 | 467 |
INIT_XMM sse2 |
468 |
-; void put_pixels16_sse2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
468 |
+; void put_pixels16_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
469 | 469 |
cglobal put_pixels16, 4,5,4 |
470 |
- movsxdifnidn r2, r2d |
|
471 | 470 |
lea r4, [r2*3] |
472 | 471 |
.loop: |
473 | 472 |
movu m0, [r1] |
... | ... |
@@ -484,9 +472,8 @@ cglobal put_pixels16, 4,5,4 |
484 | 484 |
jnz .loop |
485 | 485 |
REP_RET |
486 | 486 |
|
487 |
-; void avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, int line_size, int h) |
|
487 |
+; void avg_pixels16_sse2(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h) |
|
488 | 488 |
cglobal avg_pixels16, 4,5,4 |
489 |
- movsxdifnidn r2, r2d |
|
490 | 489 |
lea r4, [r2*3] |
491 | 490 |
.loop: |
492 | 491 |
movu m0, [r1] |