History

idct: Change type of array stride parameters to ptrdiff_t

ptrdiff_t is the correct type for array strides and similar.

Diego Biurrun committed 10 years ago

Commit 2ec9fa51 parent b2939a736 files · +184 −166Browse files

Unified · Split

36 files
  1. doc/optimization.txt +1 −1
  2. libavcodec/arm/idct.h +7 −6
  3. libavcodec/arm/idctdsp_arm.S +1 −1
  4. libavcodec/arm/idctdsp_init_arm.c +10 −5
  5. libavcodec/arm/idctdsp_init_armv6.c +1 −1
  6. libavcodec/arm/simple_idct_armv6.S +2 −2
  7. libavcodec/arm/simple_idct_neon.S +2 −2
  8. libavcodec/arm/vc1dsp_init_neon.c +7 −7
  9. libavcodec/arm/vc1dsp_neon.S +3 −3
  10. libavcodec/dct.h +3 −2
  11. libavcodec/dv.h +1 −1
  12. libavcodec/dvdec.c +1 −1
  13. libavcodec/faanidct.c +7 −3
  14. libavcodec/faanidct.h +3 −2
  15. libavcodec/idctdsp.c +5 −5
  16. libavcodec/idctdsp.h +7 −7
  17. libavcodec/jrevdct.c +2 −2
  18. libavcodec/ppc/idctdsp.c +2 −2
  19. libavcodec/ppc/vc1dsp_altivec.c +2 −1
  20. libavcodec/simple_idct.c +6 −6
  21. libavcodec/simple_idct.h +9 −8
  22. libavcodec/simple_idct_template.c +4 −4
  23. libavcodec/tests/dct.c +3 −2
  24. libavcodec/vc1dsp.c +27 −27
  25. libavcodec/vc1dsp.h +7 −7
  26. libavcodec/wmv2dsp.c +2 −2
  27. libavcodec/wmv2dsp.h +2 −2
  28. libavcodec/x86/idctdsp.h +4 −3
  29. libavcodec/x86/idctdsp_mmx.c +3 −3
  30. libavcodec/x86/simple_idct.c +2 −2
  31. libavcodec/x86/simple_idct.h +3 −2
  32. libavcodec/x86/vc1dsp_mmx.c +30 −30
  33. libavcodec/x86/xvididct.h +7 −6
  34. libavcodec/x86/xvididct_mmx.c +4 −4
  35. libavcodec/x86/xvididct_sse2.c +2 −2
  36. libavcodec/xvididct.c +2 −2
doc/optimization.txt+1−1
@@ -142,7 +142,7 @@ Alignment: · 141 unmodified lines
142142 Some instructions on some architectures have strict alignment restrictions,
143143 for example most SSE/SSE2 instructions on x86.
144144 The minimum guaranteed alignment is written in the .h files, for example:
145− void (*put_pixels_clamped)(const int16_t *block/*align 16*/, UINT8 *pixels/*align 8*/, int line_size);
145+ void (*put_pixels_clamped)(const int16_t *block/*align 16*/, uint8_t *pixels/*align 8*/, ptrdiff_t stride);
146146
147147
148148 General Tips:
libavcodec/arm/idct.h+7−6
@@ -19,6 +19,7 @@ · 18 unmodified lines
1919 #ifndef AVCODEC_ARM_IDCT_H
2020 #define AVCODEC_ARM_IDCT_H
2121
22+#include <stddef.h>
2223 #include <stdint.h>
2324
2425 void ff_j_rev_dct_arm(int16_t *data);
@@ -26,15 +27,15 @@ void ff_j_rev_dct_arm(int16_t *data); · 1 unmodified line
2627 void ff_simple_idct_arm(int16_t *data);
2728
2829 void ff_simple_idct_armv5te(int16_t *data);
29−void ff_simple_idct_put_armv5te(uint8_t *dest, int line_size, int16_t *data);
30−void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data);
30+void ff_simple_idct_put_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
31+void ff_simple_idct_add_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
3132
3233 void ff_simple_idct_armv6(int16_t *data);
33−void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data);
34−void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data);
34+void ff_simple_idct_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
35+void ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
3536
3637 void ff_simple_idct_neon(int16_t *data);
37−void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data);
38−void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data);
38+void ff_simple_idct_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
39+void ff_simple_idct_add_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
3940
4041 #endif /* AVCODEC_ARM_IDCT_H */
libavcodec/arm/idctdsp_arm.S+1−1
@@ -22,7 +22,7 @@ · 21 unmodified lines
2222 #include "config.h"
2323 #include "libavutil/arm/asm.S"
2424
25−@ void ff_add_pixels_clamped_arm(int16_t *block, uint8_t *dest, int stride)
25+@ void ff_add_pixels_clamped_arm(int16_t *block, uint8_t *dest, ptrdiff_t stride)
2626 function ff_add_pixels_clamped_arm, export=1, align=5
2727 push {r4-r10}
2828 mov r10, #8
libavcodec/arm/idctdsp_init_arm.c+10−5
@@ -19,6 +19,7 @@ · 18 unmodified lines
1919 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
2020 */
2121
22+#include <stddef.h>
2223 #include <stdint.h>
2324
2425 #include "libavutil/attributes.h"
@@ -30,29 +31,33 @@ · 5 unmodified lines
3031 #include "idctdsp_arm.h"
3132
3233 void ff_add_pixels_clamped_arm(const int16_t *block, uint8_t *dest,
33− int line_size);
34+ ptrdiff_t line_size);
3435
3536 /* XXX: those functions should be suppressed ASAP when all IDCTs are
3637 * converted */
37−static void j_rev_dct_arm_put(uint8_t *dest, int line_size, int16_t *block)
38+static void j_rev_dct_arm_put(uint8_t *dest, ptrdiff_t line_size,
39+ int16_t *block)
3840 {
3941 ff_j_rev_dct_arm(block);
4042 ff_put_pixels_clamped(block, dest, line_size);
4143 }
4244
43−static void j_rev_dct_arm_add(uint8_t *dest, int line_size, int16_t *block)
45+static void j_rev_dct_arm_add(uint8_t *dest, ptrdiff_t line_size,
46+ int16_t *block)
4447 {
4548 ff_j_rev_dct_arm(block);
4649 ff_add_pixels_clamped(block, dest, line_size);
4750 }
4851
49−static void simple_idct_arm_put(uint8_t *dest, int line_size, int16_t *block)
52+static void simple_idct_arm_put(uint8_t *dest, ptrdiff_t line_size,
53+ int16_t *block)
5054 {
5155 ff_simple_idct_arm(block);
5256 ff_put_pixels_clamped(block, dest, line_size);
5357 }
5458
55−static void simple_idct_arm_add(uint8_t *dest, int line_size, int16_t *block)
59+static void simple_idct_arm_add(uint8_t *dest, ptrdiff_t line_size,
60+ int16_t *block)
5661 {
5762 ff_simple_idct_arm(block);
5863 ff_add_pixels_clamped(block, dest, line_size);
libavcodec/arm/idctdsp_init_armv6.c+1−1
@@ -27,7 +27,7 @@ · 26 unmodified lines
2727 #include "idctdsp_arm.h"
2828
2929 void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels,
30− int line_size);
30+ ptrdiff_t line_size);
3131
3232 av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx,
3333 unsigned high_bit_depth)
libavcodec/arm/simple_idct_armv6.S+2−2
@@ -390,7 +390,7 @@ function ff_simple_idct_armv6, export=1 · 389 unmodified lines
390390 pop {r4-r11, pc}
391391 endfunc
392392
393−/* ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); */
393+/* ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); */
394394 function ff_simple_idct_add_armv6, export=1
395395 push {r0, r1, r4-r11, lr}
396396 sub sp, sp, #128
@@ -407,7 +407,7 @@ function ff_simple_idct_add_armv6, export=1 · 10 unmodified lines
407407 pop {r4-r11, pc}
408408 endfunc
409409
410−/* ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data); */
410+/* ff_simple_idct_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); */
411411 function ff_simple_idct_put_armv6, export=1
412412 push {r0, r1, r4-r11, lr}
413413 sub sp, sp, #128
libavcodec/arm/simple_idct_neon.S+2−2
@@ -261,7 +261,7 @@ endconst · 260 unmodified lines
261261 pop {r4-r7, pc}
262262 .endm
263263
264−/* void ff_simple_idct_put_neon(uint8_t *dst, int line_size, int16_t *data); */
264+/* void ff_simple_idct_put_neon(uint8_t *dst, ptrdiff_t line_size, int16_t *data); */
265265 function ff_simple_idct_put_neon, export=1
266266 idct_start r2
267267
@@ -316,7 +316,7 @@ function idct_col4_add8_neon · 48 unmodified lines
316316 bx lr
317317 endfunc
318318
319−/* void ff_simple_idct_add_neon(uint8_t *dst, int line_size, int16_t *data); */
319+/* void ff_simple_idct_add_neon(uint8_t *dst, ptrdiff_t line_size, int16_t *data); */
320320 function ff_simple_idct_add_neon, export=1
321321 idct_start r2
322322
libavcodec/arm/vc1dsp_init_neon.c+7−7
@@ -25,14 +25,14 @@ · 24 unmodified lines
2525 #include "config.h"
2626
2727 void ff_vc1_inv_trans_8x8_neon(int16_t *block);
28−void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, int linesize, int16_t *block);
29−void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, int linesize, int16_t *block);
30−void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, int linesize, int16_t *block);
28+void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
29+void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
30+void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
3131
32−void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, int linesize, int16_t *block);
33−void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, int linesize, int16_t *block);
34−void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, int linesize, int16_t *block);
35−void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, int linesize, int16_t *block);
32+void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
33+void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
34+void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
35+void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
3636
3737 void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels,
3838 ptrdiff_t line_size, int rnd);
libavcodec/arm/vc1dsp_neon.S+3−3
@@ -426,7 +426,7 @@ function ff_vc1_inv_trans_8x8_neon, export=1 · 425 unmodified lines
426426 bx lr
427427 endfunc
428428
429−@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2])
429+@ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
430430 function ff_vc1_inv_trans_8x4_neon, export=1
431431 vld1.64 {q0-q1}, [r2,:128]! @ load 8 * 4 * 2 = 64 bytes / 16 bytes per quad = 4 quad registers
432432 vld1.64 {q2-q3}, [r2,:128]
@@ -511,7 +511,7 @@ function ff_vc1_inv_trans_8x4_neon, export=1 · 78 unmodified lines
511511 bx lr
512512 endfunc
513513
514−@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2])
514+@ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
515515 function ff_vc1_inv_trans_4x8_neon, export=1
516516 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
517517 vld4.16 {d0[], d2[], d4[], d6[]}, [r2,:64], r12 @ read each column into a q register
@@ -593,7 +593,7 @@ endfunc · 75 unmodified lines
593593 vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift
594594 .endm
595595
596−@ (uint8_t *dest [r0], int linesize [r1], int16_t *block [r2])
596+@ (uint8_t *dest [r0], ptrdiff_t stride [r1], int16_t *block [r2])
597597 function ff_vc1_inv_trans_4x4_neon, export=1
598598 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
599599 vld4.16 {d0[], d1[], d2[], d3[]}, [r2,:64], r12 @ read each column into a register
libavcodec/dct.h+3−2
@@ -24,6 +24,7 @@ · 23 unmodified lines
2424 #ifndef AVCODEC_DCT_H
2525 #define AVCODEC_DCT_H
2626
27+#include <stddef.h>
2728 #include <stdint.h>
2829
2930 #include "rdft.h"
@@ -59,7 +60,7 @@ void ff_fdct248_islow_8(int16_t *data); · 29 unmodified lines
5960 void ff_fdct248_islow_10(int16_t *data);
6061
6162 void ff_j_rev_dct(int16_t *data);
62−void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block);
63−void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block);
63+void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
64+void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
6465
6566 #endif /* AVCODEC_DCT_H */
libavcodec/dv.h+1−1
@@ -47,7 +47,7 @@ typedef struct DVVideoContext { · 46 unmodified lines
4747
4848 void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize);
4949 void (*fdct[2])(int16_t *block);
50− void (*idct_put[2])(uint8_t *dest, int line_size, int16_t *block);
50+ void (*idct_put[2])(uint8_t *dest, ptrdiff_t stride, int16_t *block);
5151 me_cmp_func ildct_cmp;
5252 DVwork_chunk work_chunks[4 * 12 * 27];
5353 uint32_t idct_factor[2 * 4 * 16 * 64];
libavcodec/dvdec.c+1−1
@@ -52,7 +52,7 @@ typedef struct BlockInfo { · 51 unmodified lines
5252 const uint32_t *factor_table;
5353 const uint8_t *scan_table;
5454 uint8_t pos; /* position in block */
55− void (*idct_put)(uint8_t *dest, int line_size, int16_t *block);
55+ void (*idct_put)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
5656 uint8_t partial_bit_count;
5757 uint32_t partial_bit_buffer;
5858 int shift_offset;
libavcodec/faanidct.c+7−3
@@ -47,7 +47,9 @@ B6*B0/8, B6*B1/8, B6*B2/8, B6*B3/8, B6*B4/8, B6*B5/8, B6*B6/8, B6*B7/8, · 46 unmodified lines
4747 B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8,
4848 };
4949
50−static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){
50+static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest,
51+ ptrdiff_t stride, int x, int y, int type)
52+{
5153 int i;
5254 FLOAT s04, d04, s17, d17, s26, d26, s53, d53;
5355 FLOAT os07, os16, os25, os34;
@@ -135,7 +137,8 @@ void ff_faanidct(int16_t block[64]){ · 81 unmodified lines
135137 p8idct(block, temp, NULL, 0, 8, 1, 1);
136138 }
137139
138−void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){
140+void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
141+{
139142 FLOAT temp[64];
140143 int i;
141144
@@ -148,7 +151,8 @@ void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){ · 6 unmodified lines
148151 p8idct(NULL , temp, dest, line_size, 8, 1, 2);
149152 }
150153
151−void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]){
154+void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
155+{
152156 FLOAT temp[64];
153157 int i;
154158
libavcodec/faanidct.h+3−2
@@ -22,10 +22,11 @@ · 21 unmodified lines
2222 #ifndef AVCODEC_FAANIDCT_H
2323 #define AVCODEC_FAANIDCT_H
2424
25+#include <stddef.h>
2526 #include <stdint.h>
2627
2728 void ff_faanidct(int16_t block[64]);
28−void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]);
29−void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]);
29+void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
30+void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
3031
3132 #endif /* AVCODEC_FAANIDCT_H */
libavcodec/idctdsp.c+5−5
@@ -79,11 +79,11 @@ av_cold void ff_init_scantable_permutation(uint8_t *idct_permutation, · 78 unmodified lines
7979 }
8080 }
8181
82−void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
83−void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
82+void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
83+void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
8484
8585 static void put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
86− int line_size)
86+ ptrdiff_t line_size)
8787 {
8888 int i;
8989
@@ -105,7 +105,7 @@ static void put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels, · 15 unmodified lines
105105
106106 static void put_signed_pixels_clamped_c(const int16_t *block,
107107 uint8_t *restrict pixels,
108− int line_size)
108+ ptrdiff_t line_size)
109109 {
110110 int i, j;
111111
@@ -125,7 +125,7 @@ static void put_signed_pixels_clamped_c(const int16_t *block, · 13 unmodified lines
125125 }
126126
127127 static void add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
128− int line_size)
128+ ptrdiff_t line_size)
129129 {
130130 int i;
131131
libavcodec/idctdsp.h+7−7
@@ -52,13 +52,13 @@ typedef struct IDCTDSPContext { · 51 unmodified lines
5252 /* pixel ops : interface with DCT */
5353 void (*put_pixels_clamped)(const int16_t *block /* align 16 */,
5454 uint8_t *pixels /* align 8 */,
55− int line_size);
55+ ptrdiff_t line_size);
5656 void (*put_signed_pixels_clamped)(const int16_t *block /* align 16 */,
5757 uint8_t *pixels /* align 8 */,
58− int line_size);
58+ ptrdiff_t line_size);
5959 void (*add_pixels_clamped)(const int16_t *block /* align 16 */,
6060 uint8_t *pixels /* align 8 */,
61− int line_size);
61+ ptrdiff_t line_size);
6262
6363 void (*idct)(int16_t *block /* align 16 */);
6464
@@ -68,14 +68,14 @@ typedef struct IDCTDSPContext { · 3 unmodified lines
6868 * @param line_size size in bytes of a horizontal line of dest
6969 */
7070 void (*idct_put)(uint8_t *dest /* align 8 */,
71− int line_size, int16_t *block /* align 16 */);
71+ ptrdiff_t line_size, int16_t *block /* align 16 */);
7272
7373 /**
7474 * block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
7575 * @param line_size size in bytes of a horizontal line of dest
7676 */
7777 void (*idct_add)(uint8_t *dest /* align 8 */,
78− int line_size, int16_t *block /* align 16 */);
78+ ptrdiff_t line_size, int16_t *block /* align 16 */);
7979
8080 /**
8181 * IDCT input permutation.
@@ -95,8 +95,8 @@ typedef struct IDCTDSPContext { · 13 unmodified lines
9595 enum idct_permutation_type perm_type;
9696 } IDCTDSPContext;
9797
98−extern void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
99−extern void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);
98+extern void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
99+extern void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
100100
101101 void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);
102102
libavcodec/jrevdct.c+2−2
@@ -943,13 +943,13 @@ void ff_j_rev_dct(DCTBLOCK data) · 942 unmodified lines
943943 }
944944 }
945945
946−void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block)
946+void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
947947 {
948948 ff_j_rev_dct(block);
949949 ff_put_pixels_clamped(block, dest, line_size);
950950 }
951951
952−void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block)
952+void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
953953 {
954954 ff_j_rev_dct(block);
955955 ff_add_pixels_clamped(block, dest, line_size);
libavcodec/ppc/idctdsp.c+2−2
@@ -153,7 +153,7 @@ static const vec_s16 constants[5] = { · 152 unmodified lines
153153 { 19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722 }
154154 };
155155
156−static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk)
156+static void idct_put_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
157157 {
158158 vec_s16 *block = (vec_s16 *) blk;
159159 vec_u8 tmp;
@@ -182,7 +182,7 @@ static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk) · 22 unmodified lines
182182 COPY(dest, vx7);
183183 }
184184
185−static void idct_add_altivec(uint8_t *dest, int stride, int16_t *blk)
185+static void idct_add_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
186186 {
187187 vec_s16 *block = (vec_s16 *) blk;
188188 vec_u8 tmp;
libavcodec/ppc/vc1dsp_altivec.c+2−1
@@ -229,7 +229,8 @@ static void vc1_inv_trans_8x8_altivec(int16_t block[64]) · 228 unmodified lines
229229
230230 /** Do inverse transform on 8x4 part of block
231231 */
232−static void vc1_inv_trans_8x4_altivec(uint8_t *dest, int stride, int16_t *block)
232+static void vc1_inv_trans_8x4_altivec(uint8_t *dest, ptrdiff_t stride,
233+ int16_t *block)
233234 {
234235 vector signed short src0, src1, src2, src3, src4, src5, src6, src7;
235236 vector signed int s0, s1, s2, s3, s4, s5, s6, s7;
libavcodec/simple_idct.c+6−6
@@ -49,7 +49,7 @@ · 48 unmodified lines
4949 and the butterfly must be multiplied by 0.5 * sqrt(2.0) */
5050 #define C_SHIFT (4+1+12)
5151
52−static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col)
52+static inline void idct4col_put(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
5353 {
5454 int c0, c1, c2, c3, a0, a1, a2, a3;
5555
@@ -85,7 +85,7 @@ static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col · 29 unmodified lines
8585 /* XXX: I think a 1.0/sqrt(2) normalization should be needed to
8686 compensate the extra butterfly stage - I don't have the full DV
8787 specification */
88−void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block)
88+void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
8989 {
9090 int i;
9191 int16_t *ptr;
@@ -128,7 +128,7 @@ void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block) · 36 unmodified lines
128128 #define C2 C_FIX(0.2705980501)
129129 #define C3 C_FIX(0.5)
130130 #define C_SHIFT (4+1+12)
131−static inline void idct4col_add(uint8_t *dest, int line_size, const int16_t *col)
131+static inline void idct4col_add(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
132132 {
133133 int c0, c1, c2, c3, a0, a1, a2, a3;
134134
@@ -173,7 +173,7 @@ static inline void idct4row(int16_t *row) · 38 unmodified lines
173173 row[3]= (c0 - c1) >> R_SHIFT;
174174 }
175175
176−void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block)
176+void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
177177 {
178178 int i;
179179
@@ -188,7 +188,7 @@ void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block) · 8 unmodified lines
188188 }
189189 }
190190
191−void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block)
191+void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
192192 {
193193 int i;
194194
@@ -203,7 +203,7 @@ void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block) · 8 unmodified lines
203203 }
204204 }
205205
206−void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block)
206+void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
207207 {
208208 int i;
209209
libavcodec/simple_idct.h+9−8
@@ -28,14 +28,15 @@ · 27 unmodified lines
2828 #ifndef AVCODEC_SIMPLE_IDCT_H
2929 #define AVCODEC_SIMPLE_IDCT_H
3030
31+#include <stddef.h>
3132 #include <stdint.h>
3233
33−void ff_simple_idct_put_8(uint8_t *dest, int line_size, int16_t *block);
34−void ff_simple_idct_add_8(uint8_t *dest, int line_size, int16_t *block);
34+void ff_simple_idct_put_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
35+void ff_simple_idct_add_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
3536 void ff_simple_idct_8(int16_t *block);
3637
37−void ff_simple_idct_put_10(uint8_t *dest, int line_size, int16_t *block);
38−void ff_simple_idct_add_10(uint8_t *dest, int line_size, int16_t *block);
38+void ff_simple_idct_put_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
39+void ff_simple_idct_add_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
3940 void ff_simple_idct_10(int16_t *block);
4041 /**
4142 * Special version of ff_simple_idct_10() which does dequantization
@@ -44,10 +45,10 @@ void ff_simple_idct_10(int16_t *block); · 2 unmodified lines
4445 */
4546 void ff_prores_idct(int16_t *block, const int16_t *qmat);
4647
47−void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block);
48+void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
4849
49−void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block);
50−void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block);
51−void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block);
50+void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
51+void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
52+void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
5253
5354 #endif /* AVCODEC_SIMPLE_IDCT_H */
libavcodec/simple_idct_template.c+4−4
@@ -222,7 +222,7 @@ static inline void FUNC(idctRowCondDC)(int16_t *row, int extra_shift) · 221 unmodified lines
222222 } \
223223 } while (0)
224224
225−static inline void FUNC(idctSparseColPut)(pixel *dest, int line_size,
225+static inline void FUNC(idctSparseColPut)(pixel *dest, ptrdiff_t line_size,
226226 int16_t *col)
227227 {
228228 int a0, a1, a2, a3, b0, b1, b2, b3;
@@ -246,7 +246,7 @@ static inline void FUNC(idctSparseColPut)(pixel *dest, int line_size, · 17 unmodified lines
246246 dest[0] = av_clip_pixel((a0 - b0) >> COL_SHIFT);
247247 }
248248
249−static inline void FUNC(idctSparseColAdd)(pixel *dest, int line_size,
249+static inline void FUNC(idctSparseColAdd)(pixel *dest, ptrdiff_t line_size,
250250 int16_t *col)
251251 {
252252 int a0, a1, a2, a3, b0, b1, b2, b3;
@@ -286,7 +286,7 @@ static inline void FUNC(idctSparseCol)(int16_t *col) · 33 unmodified lines
286286 col[56] = ((a0 - b0) >> COL_SHIFT);
287287 }
288288
289−void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block)
289+void FUNC(ff_simple_idct_put)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
290290 {
291291 pixel *dest = (pixel *)dest_;
292292 int i;
@@ -300,7 +300,7 @@ void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block) · 7 unmodified lines
300300 FUNC(idctSparseColPut)(dest + i, line_size, block + i);
301301 }
302302
303−void FUNC(ff_simple_idct_add)(uint8_t *dest_, int line_size, int16_t *block)
303+void FUNC(ff_simple_idct_add)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
304304 {
305305 pixel *dest = (pixel *)dest_;
306306 int i;
libavcodec/tests/dct.c+3−2
@@ -253,7 +253,7 @@ static int dct_error(const struct algo *dct, int test, int is_idct, int speed) · 252 unmodified lines
253253 DECLARE_ALIGNED(8, static uint8_t, img_dest)[64];
254254 DECLARE_ALIGNED(8, static uint8_t, img_dest1)[64];
255255
256−static void idct248_ref(uint8_t *dest, int linesize, int16_t *block)
256+static void idct248_ref(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
257257 {
258258 static int init;
259259 static double c8[8][8];
@@ -334,7 +334,8 @@ static void idct248_ref(uint8_t *dest, int linesize, int16_t *block) · 74 unmodified lines
334334 }
335335
336336 static void idct248_error(const char *name,
337− void (*idct248_put)(uint8_t *dest, int line_size,
337+ void (*idct248_put)(uint8_t *dest,
338+ ptrdiff_t line_size,
338339 int16_t *block),
339340 int speed)
340341 {
libavcodec/vc1dsp.c+27−27
@@ -235,7 +235,7 @@ static void vc1_h_loop_filter16_c(uint8_t *src, int stride, int pq) · 234 unmodified lines
235235 }
236236
237237 /* Do inverse transform on 8x8 block */
238−static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
238+static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
239239 {
240240 int i;
241241 int dc = block[0];
@@ -252,7 +252,7 @@ static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block) · 10 unmodified lines
252252 dest[5] = av_clip_uint8(dest[5] + dc);
253253 dest[6] = av_clip_uint8(dest[6] + dc);
254254 dest[7] = av_clip_uint8(dest[7] + dc);
255− dest += linesize;
255+ dest += stride;
256256 }
257257 }
258258
@@ -326,7 +326,7 @@ static void vc1_inv_trans_8x8_c(int16_t block[64]) · 67 unmodified lines
326326 }
327327
328328 /* Do inverse transform on 8x4 part of block */
329−static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
329+static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
330330 {
331331 int i;
332332 int dc = block[0];
@@ -343,11 +343,11 @@ static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block) · 10 unmodified lines
343343 dest[5] = av_clip_uint8(dest[5] + dc);
344344 dest[6] = av_clip_uint8(dest[6] + dc);
345345 dest[7] = av_clip_uint8(dest[7] + dc);
346− dest += linesize;
346+ dest += stride;
347347 }
348348 }
349349
350−static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block)
350+static void vc1_inv_trans_8x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
351351 {
352352 int i;
353353 register int t1, t2, t3, t4, t5, t6, t7, t8;
@@ -392,10 +392,10 @@ static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block) · 38 unmodified lines
392392 t3 = 22 * src[ 8] + 10 * src[24];
393393 t4 = 22 * src[24] - 10 * src[ 8];
394394
395− dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7));
396− dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7));
397− dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7));
398− dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7));
395+ dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
396+ dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
397+ dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
398+ dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
399399
400400 src++;
401401 dest++;
@@ -403,7 +403,7 @@ static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block) · 1 unmodified line
403403 }
404404
405405 /* Do inverse transform on 4x8 parts of block */
406−static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block)
406+static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
407407 {
408408 int i;
409409 int dc = block[0];
@@ -416,11 +416,11 @@ static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block) · 6 unmodified lines
416416 dest[1] = av_clip_uint8(dest[1] + dc);
417417 dest[2] = av_clip_uint8(dest[2] + dc);
418418 dest[3] = av_clip_uint8(dest[3] + dc);
419− dest += linesize;
419+ dest += stride;
420420 }
421421 }
422422
423−static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block)
423+static void vc1_inv_trans_4x8_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
424424 {
425425 int i;
426426 register int t1, t2, t3, t4, t5, t6, t7, t8;
@@ -461,14 +461,14 @@ static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block) · 34 unmodified lines
461461 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
462462 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
463463
464− dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t5 + t1) >> 7));
465− dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t6 + t2) >> 7));
466− dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t7 + t3) >> 7));
467− dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t8 + t4) >> 7));
468− dest[4 * linesize] = av_clip_uint8(dest[4 * linesize] + ((t8 - t4 + 1) >> 7));
469− dest[5 * linesize] = av_clip_uint8(dest[5 * linesize] + ((t7 - t3 + 1) >> 7));
470− dest[6 * linesize] = av_clip_uint8(dest[6 * linesize] + ((t6 - t2 + 1) >> 7));
471− dest[7 * linesize] = av_clip_uint8(dest[7 * linesize] + ((t5 - t1 + 1) >> 7));
464+ dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t5 + t1) >> 7));
465+ dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t6 + t2) >> 7));
466+ dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t7 + t3) >> 7));
467+ dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t8 + t4) >> 7));
468+ dest[4 * stride] = av_clip_uint8(dest[4 * stride] + ((t8 - t4 + 1) >> 7));
469+ dest[5 * stride] = av_clip_uint8(dest[5 * stride] + ((t7 - t3 + 1) >> 7));
470+ dest[6 * stride] = av_clip_uint8(dest[6 * stride] + ((t6 - t2 + 1) >> 7));
471+ dest[7 * stride] = av_clip_uint8(dest[7 * stride] + ((t5 - t1 + 1) >> 7));
472472
473473 src++;
474474 dest++;
@@ -476,7 +476,7 @@ static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block) · 1 unmodified line
476476 }
477477
478478 /* Do inverse transform on 4x4 part of block */
479−static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block)
479+static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
480480 {
481481 int i;
482482 int dc = block[0];
@@ -489,11 +489,11 @@ static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block) · 6 unmodified lines
489489 dest[1] = av_clip_uint8(dest[1] + dc);
490490 dest[2] = av_clip_uint8(dest[2] + dc);
491491 dest[3] = av_clip_uint8(dest[3] + dc);
492− dest += linesize;
492+ dest += stride;
493493 }
494494 }
495495
496−static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block)
496+static void vc1_inv_trans_4x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
497497 {
498498 int i;
499499 register int t1, t2, t3, t4;
@@ -523,10 +523,10 @@ static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block) · 23 unmodified lines
523523 t3 = 22 * src[8] + 10 * src[24];
524524 t4 = 22 * src[24] - 10 * src[8];
525525
526− dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7));
527− dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7));
528− dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7));
529− dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7));
526+ dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
527+ dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
528+ dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
529+ dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
530530
531531 src++;
532532 dest++;
libavcodec/vc1dsp.h+7−7
@@ -33,13 +33,13 @@ · 32 unmodified lines
3333 typedef struct VC1DSPContext {
3434 /* vc1 functions */
3535 void (*vc1_inv_trans_8x8)(int16_t *b);
36− void (*vc1_inv_trans_8x4)(uint8_t *dest, int line_size, int16_t *block);
37− void (*vc1_inv_trans_4x8)(uint8_t *dest, int line_size, int16_t *block);
38− void (*vc1_inv_trans_4x4)(uint8_t *dest, int line_size, int16_t *block);
39− void (*vc1_inv_trans_8x8_dc)(uint8_t *dest, int line_size, int16_t *block);
40− void (*vc1_inv_trans_8x4_dc)(uint8_t *dest, int line_size, int16_t *block);
41− void (*vc1_inv_trans_4x8_dc)(uint8_t *dest, int line_size, int16_t *block);
42− void (*vc1_inv_trans_4x4_dc)(uint8_t *dest, int line_size, int16_t *block);
36+ void (*vc1_inv_trans_8x4)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
37+ void (*vc1_inv_trans_4x8)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
38+ void (*vc1_inv_trans_4x4)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
39+ void (*vc1_inv_trans_8x8_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
40+ void (*vc1_inv_trans_8x4_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
41+ void (*vc1_inv_trans_4x8_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
42+ void (*vc1_inv_trans_4x4_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
4343 void (*vc1_v_overlap)(uint8_t *src, int stride);
4444 void (*vc1_h_overlap)(uint8_t *src, int stride);
4545 void (*vc1_v_s_overlap)(int16_t *top, int16_t *bottom);
libavcodec/wmv2dsp.c+2−2
@@ -93,7 +93,7 @@ static void wmv2_idct_col(short * b) · 92 unmodified lines
9393 b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14;
9494 }
9595
96−static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block)
96+static void wmv2_idct_add_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
9797 {
9898 int i;
9999
@@ -116,7 +116,7 @@ static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block) · 16 unmodified lines
116116 }
117117 }
118118
119−static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)
119+static void wmv2_idct_put_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
120120 {
121121 int i;
122122
libavcodec/wmv2dsp.h+2−2
@@ -24,8 +24,8 @@ · 23 unmodified lines
2424 #include "qpeldsp.h"
2525
2626 typedef struct WMV2DSPContext {
27− void (*idct_add)(uint8_t *dest, int line_size, int16_t *block);
28− void (*idct_put)(uint8_t *dest, int line_size, int16_t *block);
27+ void (*idct_add)(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
28+ void (*idct_put)(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
2929
3030 qpel_mc_func put_mspel_pixels_tab[8];
3131
libavcodec/x86/idctdsp.h+4−3
@@ -19,13 +19,14 @@ · 18 unmodified lines
1919 #ifndef AVCODEC_X86_IDCTDSP_H
2020 #define AVCODEC_X86_IDCTDSP_H
2121
22+#include <stddef.h>
2223 #include <stdint.h>
2324
2425 void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
25− int line_size);
26+ ptrdiff_t line_size);
2627 void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
27− int line_size);
28+ ptrdiff_t line_size);
2829 void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
29− int line_size);
30+ ptrdiff_t line_size);
3031
3132 #endif /* AVCODEC_X86_IDCTDSP_H */
libavcodec/x86/idctdsp_mmx.c+3−3
@@ -31,7 +31,7 @@ · 30 unmodified lines
3131 #if HAVE_INLINE_ASM
3232
3333 void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
34− int line_size)
34+ ptrdiff_t line_size)
3535 {
3636 const int16_t *p;
3737 uint8_t *pix;
@@ -107,7 +107,7 @@ void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels, · 69 unmodified lines
107107 "movq %%mm4, (%0, %1) \n\t"
108108
109109 void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
110− int line_size)
110+ ptrdiff_t line_size)
111111 {
112112 x86_reg line_skip = line_size;
113113 x86_reg line_skip3;
@@ -124,7 +124,7 @@ void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels, · 10 unmodified lines
124124 }
125125
126126 void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
127− int line_size)
127+ ptrdiff_t line_size)
128128 {
129129 const int16_t *p;
130130 uint8_t *pix;
libavcodec/x86/simple_idct.c+2−2
@@ -904,12 +904,12 @@ void ff_simple_idct_mmx(int16_t *block) · 903 unmodified lines
904904
905905 //FIXME merge add/put into the idct
906906
907−void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block)
907+void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
908908 {
909909 idct(block);
910910 ff_put_pixels_clamped(block, dest, line_size);
911911 }
912−void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block)
912+void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
913913 {
914914 idct(block);
915915 ff_add_pixels_clamped(block, dest, line_size);
libavcodec/x86/simple_idct.h+3−2
@@ -19,10 +19,11 @@ · 18 unmodified lines
1919 #ifndef AVCODEC_X86_SIMPLE_IDCT_H
2020 #define AVCODEC_X86_SIMPLE_IDCT_H
2121
22+#include <stddef.h>
2223 #include <stdint.h>
2324
2425 void ff_simple_idct_mmx(int16_t *block);
25−void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block);
26−void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block);
26+void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
27+void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
2728
2829 #endif /* AVCODEC_X86_SIMPLE_IDCT_H */
libavcodec/x86/vc1dsp_mmx.c+30−30
@@ -498,7 +498,7 @@ DECLARE_FUNCTION(3, 1) · 497 unmodified lines
498498 DECLARE_FUNCTION(3, 2)
499499 DECLARE_FUNCTION(3, 3)
500500
501−static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, int linesize,
501+static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
502502 int16_t *block)
503503 {
504504 int dc = block[0];
@@ -530,14 +530,14 @@ static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
530530 "movd %%mm3, %1 \n\t"
531531 "movd %%mm4, %2 \n\t"
532532 "movd %%mm5, %3 \n\t"
533− :"+m"(*(uint32_t*)(dest+0*linesize)),
534− "+m"(*(uint32_t*)(dest+1*linesize)),
535− "+m"(*(uint32_t*)(dest+2*linesize)),
536− "+m"(*(uint32_t*)(dest+3*linesize))
533+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
534+ "+m"(*(uint32_t *)(dest + 1 * stride)),
535+ "+m"(*(uint32_t *)(dest + 2 * stride)),
536+ "+m"(*(uint32_t *)(dest + 3 * stride))
537537 );
538538 }
539539
540−static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize,
540+static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
541541 int16_t *block)
542542 {
543543 int dc = block[0];
@@ -569,12 +569,12 @@ static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
569569 "movd %%mm3, %1 \n\t"
570570 "movd %%mm4, %2 \n\t"
571571 "movd %%mm5, %3 \n\t"
572− :"+m"(*(uint32_t*)(dest+0*linesize)),
573− "+m"(*(uint32_t*)(dest+1*linesize)),
574− "+m"(*(uint32_t*)(dest+2*linesize)),
575− "+m"(*(uint32_t*)(dest+3*linesize))
572+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
573+ "+m"(*(uint32_t *)(dest + 1 * stride)),
574+ "+m"(*(uint32_t *)(dest + 2 * stride)),
575+ "+m"(*(uint32_t *)(dest + 3 * stride))
576576 );
577− dest += 4*linesize;
577+ dest += 4 * stride;
578578 __asm__ volatile(
579579 "movd %0, %%mm2 \n\t"
580580 "movd %1, %%mm3 \n\t"
@@ -592,14 +592,14 @@ static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize, · 11 unmodified lines
592592 "movd %%mm3, %1 \n\t"
593593 "movd %%mm4, %2 \n\t"
594594 "movd %%mm5, %3 \n\t"
595− :"+m"(*(uint32_t*)(dest+0*linesize)),
596− "+m"(*(uint32_t*)(dest+1*linesize)),
597− "+m"(*(uint32_t*)(dest+2*linesize)),
598− "+m"(*(uint32_t*)(dest+3*linesize))
595+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
596+ "+m"(*(uint32_t *)(dest + 1 * stride)),
597+ "+m"(*(uint32_t *)(dest + 2 * stride)),
598+ "+m"(*(uint32_t *)(dest + 3 * stride))
599599 );
600600 }
601601
602−static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, int linesize,
602+static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
603603 int16_t *block)
604604 {
605605 int dc = block[0];
@@ -631,14 +631,14 @@ static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
631631 "movq %%mm3, %1 \n\t"
632632 "movq %%mm4, %2 \n\t"
633633 "movq %%mm5, %3 \n\t"
634− :"+m"(*(uint32_t*)(dest+0*linesize)),
635− "+m"(*(uint32_t*)(dest+1*linesize)),
636− "+m"(*(uint32_t*)(dest+2*linesize)),
637− "+m"(*(uint32_t*)(dest+3*linesize))
634+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
635+ "+m"(*(uint32_t *)(dest + 1 * stride)),
636+ "+m"(*(uint32_t *)(dest + 2 * stride)),
637+ "+m"(*(uint32_t *)(dest + 3 * stride))
638638 );
639639 }
640640
641−static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize,
641+static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
642642 int16_t *block)
643643 {
644644 int dc = block[0];
@@ -670,12 +670,12 @@ static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
670670 "movq %%mm3, %1 \n\t"
671671 "movq %%mm4, %2 \n\t"
672672 "movq %%mm5, %3 \n\t"
673− :"+m"(*(uint32_t*)(dest+0*linesize)),
674− "+m"(*(uint32_t*)(dest+1*linesize)),
675− "+m"(*(uint32_t*)(dest+2*linesize)),
676− "+m"(*(uint32_t*)(dest+3*linesize))
673+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
674+ "+m"(*(uint32_t *)(dest + 1 * stride)),
675+ "+m"(*(uint32_t *)(dest + 2 * stride)),
676+ "+m"(*(uint32_t *)(dest + 3 * stride))
677677 );
678− dest += 4*linesize;
678+ dest += 4 * stride;
679679 __asm__ volatile(
680680 "movq %0, %%mm2 \n\t"
681681 "movq %1, %%mm3 \n\t"
@@ -693,10 +693,10 @@ static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize, · 11 unmodified lines
693693 "movq %%mm3, %1 \n\t"
694694 "movq %%mm4, %2 \n\t"
695695 "movq %%mm5, %3 \n\t"
696− :"+m"(*(uint32_t*)(dest+0*linesize)),
697− "+m"(*(uint32_t*)(dest+1*linesize)),
698− "+m"(*(uint32_t*)(dest+2*linesize)),
699− "+m"(*(uint32_t*)(dest+3*linesize))
696+ :"+m"(*(uint32_t *)(dest + 0 * stride)),
697+ "+m"(*(uint32_t *)(dest + 1 * stride)),
698+ "+m"(*(uint32_t *)(dest + 2 * stride)),
699+ "+m"(*(uint32_t *)(dest + 3 * stride))
700700 );
701701 }
702702
libavcodec/x86/xvididct.h+7−6
@@ -26,18 +26,19 @@ · 25 unmodified lines
2626 #ifndef AVCODEC_X86_XVIDIDCT_H
2727 #define AVCODEC_X86_XVIDIDCT_H
2828
29+#include <stddef.h>
2930 #include <stdint.h>
3031
3132 void ff_xvid_idct_mmx(short *block);
32−void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block);
33−void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block);
33+void ff_xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
34+void ff_xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
3435
3536 void ff_xvid_idct_mmxext(short *block);
36−void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block);
37−void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block);
37+void ff_xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
38+void ff_xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
3839
3940 void ff_xvid_idct_sse2(short *block);
40−void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block);
41−void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block);
41+void ff_xvid_idct_sse2_put(uint8_t *dest, ptrdiff_t line_size, short *block);
42+void ff_xvid_idct_sse2_add(uint8_t *dest, ptrdiff_t line_size, short *block);
4243
4344 #endif /* AVCODEC_X86_XVIDIDCT_H */
libavcodec/x86/xvididct_mmx.c+4−4
@@ -494,13 +494,13 @@ void ff_xvid_idct_mmx(short *block) · 493 unmodified lines
494494 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_mmx), "r" (tg_1_16));
495495 }
496496
497−void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block)
497+void ff_xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
498498 {
499499 ff_xvid_idct_mmx(block);
500500 ff_put_pixels_clamped_mmx(block, dest, line_size);
501501 }
502502
503−void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block)
503+void ff_xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
504504 {
505505 ff_xvid_idct_mmx(block);
506506 ff_add_pixels_clamped_mmx(block, dest, line_size);
@@ -533,13 +533,13 @@ void ff_xvid_idct_mmxext(short *block) · 26 unmodified lines
533533 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_xmm), "r" (tg_1_16));
534534 }
535535
536−void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block)
536+void ff_xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
537537 {
538538 ff_xvid_idct_mmxext(block);
539539 ff_put_pixels_clamped_mmx(block, dest, line_size);
540540 }
541541
542−void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block)
542+void ff_xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
543543 {
544544 ff_xvid_idct_mmxext(block);
545545 ff_add_pixels_clamped_mmx(block, dest, line_size);
libavcodec/x86/xvididct_sse2.c+2−2
@@ -390,13 +390,13 @@ inline void ff_xvid_idct_sse2(short *block) · 389 unmodified lines
390390 "%eax", "%ecx", "%edx", "%esi", "memory");
391391 }
392392
393−void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block)
393+void ff_xvid_idct_sse2_put(uint8_t *dest, ptrdiff_t line_size, short *block)
394394 {
395395 ff_xvid_idct_sse2(block);
396396 ff_put_pixels_clamped_mmx(block, dest, line_size);
397397 }
398398
399−void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block)
399+void ff_xvid_idct_sse2_add(uint8_t *dest, ptrdiff_t line_size, short *block)
400400 {
401401 ff_xvid_idct_sse2(block);
402402 ff_add_pixels_clamped_mmx(block, dest, line_size);
libavcodec/xvididct.c+2−2
@@ -318,13 +318,13 @@ void ff_xvid_idct(int16_t *const in) · 317 unmodified lines
318318 }
319319 }
320320
321−static void xvid_idct_put(uint8_t *dest, int line_size, int16_t *block)
321+static void xvid_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
322322 {
323323 ff_xvid_idct(block);
324324 ff_put_pixels_clamped(block, dest, line_size);
325325 }
326326
327−static void xvid_idct_add(uint8_t *dest, int line_size, int16_t *block)
327+static void xvid_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
328328 {
329329 ff_xvid_idct(block);
330330 ff_add_pixels_clamped(block, dest, line_size);

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t