Browse code

Use ptrdiff_t instead of int for {avg, put}_pixels line_size parameter.

This avoids SIMD-optimized functions having to sign-extend their
line size argument manually to be able to do pointer arithmetic.

Diego Biurrun authored on 2013/01/30 06:13:55
Showing 17 changed files
... ...
@@ -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]