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
142Some instructions on some architectures have strict alignment restrictions,142Some instructions on some architectures have strict alignment restrictions,
143for example most SSE/SSE2 instructions on x86.143for example most SSE/SSE2 instructions on x86.
144The minimum guaranteed alignment is written in the .h files, for example:144The 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);
146 146
147 147
148General Tips:148General Tips:
libavcodec/arm/idct.h+7−6
@@ -19,6 +19,7 @@ · 18 unmodified lines
19#ifndef AVCODEC_ARM_IDCT_H19#ifndef AVCODEC_ARM_IDCT_H
20#define AVCODEC_ARM_IDCT_H20#define AVCODEC_ARM_IDCT_H
21 21
22#include <stddef.h>
22#include <stdint.h>23#include <stdint.h>
23 24
24void ff_j_rev_dct_arm(int16_t *data);25void ff_j_rev_dct_arm(int16_t *data);
@@ -26,15 +27,15 @@ void ff_j_rev_dct_arm(int16_t *data); · 1 unmodified line
26void ff_simple_idct_arm(int16_t *data);27void ff_simple_idct_arm(int16_t *data);
27 28
28void ff_simple_idct_armv5te(int16_t *data);29void ff_simple_idct_armv5te(int16_t *data);
29void ff_simple_idct_put_armv5te(uint8_t *dest, int line_size, int16_t *data);30void ff_simple_idct_put_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
30void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data);31void ff_simple_idct_add_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
31 32
32void ff_simple_idct_armv6(int16_t *data);33void ff_simple_idct_armv6(int16_t *data);
33void ff_simple_idct_put_armv6(uint8_t *dest, int line_size, int16_t *data);34void ff_simple_idct_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
34void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data);35void ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
35 36
36void ff_simple_idct_neon(int16_t *data);37void ff_simple_idct_neon(int16_t *data);
37void ff_simple_idct_put_neon(uint8_t *dest, int line_size, int16_t *data);38void ff_simple_idct_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
38void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data);39void ff_simple_idct_add_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data);
39 40
40#endif /* AVCODEC_ARM_IDCT_H */41#endif /* AVCODEC_ARM_IDCT_H */
libavcodec/arm/idctdsp_arm.S+1−1
@@ -22,7 +22,7 @@ · 21 unmodified lines
22#include "config.h"22#include "config.h"
23#include "libavutil/arm/asm.S"23#include "libavutil/arm/asm.S"
24 24
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)
26function ff_add_pixels_clamped_arm, export=1, align=526function ff_add_pixels_clamped_arm, export=1, align=5
27 push {r4-r10}27 push {r4-r10}
28 mov r10, #828 mov r10, #8
libavcodec/arm/idctdsp_init_arm.c+10−5
@@ -19,6 +19,7 @@ · 18 unmodified lines
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20 */20 */
21 21
22#include <stddef.h>
22#include <stdint.h>23#include <stdint.h>
23 24
24#include "libavutil/attributes.h"25#include "libavutil/attributes.h"
@@ -30,29 +31,33 @@ · 5 unmodified lines
30#include "idctdsp_arm.h"31#include "idctdsp_arm.h"
31 32
32void ff_add_pixels_clamped_arm(const int16_t *block, uint8_t *dest,33void ff_add_pixels_clamped_arm(const int16_t *block, uint8_t *dest,
33 int line_size);34 ptrdiff_t line_size);
34 35
35/* XXX: those functions should be suppressed ASAP when all IDCTs are36/* XXX: those functions should be suppressed ASAP when all IDCTs are
36 * converted */37 * converted */
37static void j_rev_dct_arm_put(uint8_t *dest, int line_size, int16_t *block)38static void j_rev_dct_arm_put(uint8_t *dest, ptrdiff_t line_size,
39 int16_t *block)
38{40{
39 ff_j_rev_dct_arm(block);41 ff_j_rev_dct_arm(block);
40 ff_put_pixels_clamped(block, dest, line_size);42 ff_put_pixels_clamped(block, dest, line_size);
41}43}
42 44
43static void j_rev_dct_arm_add(uint8_t *dest, int line_size, int16_t *block)45static void j_rev_dct_arm_add(uint8_t *dest, ptrdiff_t line_size,
46 int16_t *block)
44{47{
45 ff_j_rev_dct_arm(block);48 ff_j_rev_dct_arm(block);
46 ff_add_pixels_clamped(block, dest, line_size);49 ff_add_pixels_clamped(block, dest, line_size);
47}50}
48 51
49static void simple_idct_arm_put(uint8_t *dest, int line_size, int16_t *block)52static void simple_idct_arm_put(uint8_t *dest, ptrdiff_t line_size,
53 int16_t *block)
50{54{
51 ff_simple_idct_arm(block);55 ff_simple_idct_arm(block);
52 ff_put_pixels_clamped(block, dest, line_size);56 ff_put_pixels_clamped(block, dest, line_size);
53}57}
54 58
55static void simple_idct_arm_add(uint8_t *dest, int line_size, int16_t *block)59static void simple_idct_arm_add(uint8_t *dest, ptrdiff_t line_size,
60 int16_t *block)
56{61{
57 ff_simple_idct_arm(block);62 ff_simple_idct_arm(block);
58 ff_add_pixels_clamped(block, dest, line_size);63 ff_add_pixels_clamped(block, dest, line_size);
libavcodec/arm/idctdsp_init_armv6.c+1−1
@@ -27,7 +27,7 @@ · 26 unmodified lines
27#include "idctdsp_arm.h"27#include "idctdsp_arm.h"
28 28
29void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels,29void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels,
30 int line_size);30 ptrdiff_t line_size);
31 31
32av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx,32av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx,
33 unsigned high_bit_depth)33 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
390 pop {r4-r11, pc}390 pop {r4-r11, pc}
391endfunc391endfunc
392 392
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); */
394function ff_simple_idct_add_armv6, export=1394function ff_simple_idct_add_armv6, export=1
395 push {r0, r1, r4-r11, lr}395 push {r0, r1, r4-r11, lr}
396 sub sp, sp, #128396 sub sp, sp, #128
@@ -407,7 +407,7 @@ function ff_simple_idct_add_armv6, export=1 · 10 unmodified lines
407 pop {r4-r11, pc}407 pop {r4-r11, pc}
408endfunc408endfunc
409 409
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); */
411function ff_simple_idct_put_armv6, export=1411function ff_simple_idct_put_armv6, export=1
412 push {r0, r1, r4-r11, lr}412 push {r0, r1, r4-r11, lr}
413 sub sp, sp, #128413 sub sp, sp, #128
libavcodec/arm/simple_idct_neon.S+2−2
@@ -261,7 +261,7 @@ endconst · 260 unmodified lines
261 pop {r4-r7, pc}261 pop {r4-r7, pc}
262 .endm262 .endm
263 263
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); */
265function ff_simple_idct_put_neon, export=1265function ff_simple_idct_put_neon, export=1
266 idct_start r2266 idct_start r2
267 267
@@ -316,7 +316,7 @@ function idct_col4_add8_neon · 48 unmodified lines
316 bx lr316 bx lr
317endfunc317endfunc
318 318
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); */
320function ff_simple_idct_add_neon, export=1320function ff_simple_idct_add_neon, export=1
321 idct_start r2321 idct_start r2
322 322
libavcodec/arm/vc1dsp_init_neon.c+7−7
@@ -25,14 +25,14 @@ · 24 unmodified lines
25#include "config.h"25#include "config.h"
26 26
27void ff_vc1_inv_trans_8x8_neon(int16_t *block);27void ff_vc1_inv_trans_8x8_neon(int16_t *block);
28void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, int linesize, int16_t *block);28void ff_vc1_inv_trans_4x8_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
29void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, int linesize, int16_t *block);29void ff_vc1_inv_trans_8x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
30void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, int linesize, int16_t *block);30void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
31 31
32void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, int linesize, int16_t *block);32void ff_vc1_inv_trans_8x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
33void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, int linesize, int16_t *block);33void ff_vc1_inv_trans_4x8_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
34void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, int linesize, int16_t *block);34void ff_vc1_inv_trans_8x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
35void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, int linesize, int16_t *block);35void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block);
36 36
37void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels,37void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels,
38 ptrdiff_t line_size, int rnd);38 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
426 bx lr426 bx lr
427endfunc427endfunc
428 428
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])
430function ff_vc1_inv_trans_8x4_neon, export=1430function ff_vc1_inv_trans_8x4_neon, export=1
431 vld1.64 {q0-q1}, [r2,:128]! @ load 8 * 4 * 2 = 64 bytes / 16 bytes per quad = 4 quad registers431 vld1.64 {q0-q1}, [r2,:128]! @ load 8 * 4 * 2 = 64 bytes / 16 bytes per quad = 4 quad registers
432 vld1.64 {q2-q3}, [r2,:128]432 vld1.64 {q2-q3}, [r2,:128]
@@ -511,7 +511,7 @@ function ff_vc1_inv_trans_8x4_neon, export=1 · 78 unmodified lines
511 bx lr511 bx lr
512endfunc512endfunc
513 513
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])
515function ff_vc1_inv_trans_4x8_neon, export=1515function ff_vc1_inv_trans_4x8_neon, export=1
516 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes516 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
517 vld4.16 {d0[], d2[], d4[], d6[]}, [r2,:64], r12 @ read each column into a q register517 vld4.16 {d0[], d2[], d4[], d6[]}, [r2,:64], r12 @ read each column into a q register
@@ -593,7 +593,7 @@ endfunc · 75 unmodified lines
593 vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift593 vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift
594.endm594.endm
595 595
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])
597function ff_vc1_inv_trans_4x4_neon, export=1597function ff_vc1_inv_trans_4x4_neon, export=1
598 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes598 mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes
599 vld4.16 {d0[], d1[], d2[], d3[]}, [r2,:64], r12 @ read each column into a register599 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
24#ifndef AVCODEC_DCT_H24#ifndef AVCODEC_DCT_H
25#define AVCODEC_DCT_H25#define AVCODEC_DCT_H
26 26
27#include <stddef.h>
27#include <stdint.h>28#include <stdint.h>
28 29
29#include "rdft.h"30#include "rdft.h"
@@ -59,7 +60,7 @@ void ff_fdct248_islow_8(int16_t *data); · 29 unmodified lines
59void ff_fdct248_islow_10(int16_t *data);60void ff_fdct248_islow_10(int16_t *data);
60 61
61void ff_j_rev_dct(int16_t *data);62void ff_j_rev_dct(int16_t *data);
62void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block);63void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
63void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block);64void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
64 65
65#endif /* AVCODEC_DCT_H */66#endif /* AVCODEC_DCT_H */
libavcodec/dv.h+1−1
@@ -47,7 +47,7 @@ typedef struct DVVideoContext { · 46 unmodified lines
47 47
48 void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize);48 void (*get_pixels)(int16_t *block, const uint8_t *pixels, ptrdiff_t linesize);
49 void (*fdct[2])(int16_t *block);49 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);
51 me_cmp_func ildct_cmp;51 me_cmp_func ildct_cmp;
52 DVwork_chunk work_chunks[4 * 12 * 27];52 DVwork_chunk work_chunks[4 * 12 * 27];
53 uint32_t idct_factor[2 * 4 * 16 * 64];53 uint32_t idct_factor[2 * 4 * 16 * 64];
libavcodec/dvdec.c+1−1
@@ -52,7 +52,7 @@ typedef struct BlockInfo { · 51 unmodified lines
52 const uint32_t *factor_table;52 const uint32_t *factor_table;
53 const uint8_t *scan_table;53 const uint8_t *scan_table;
54 uint8_t pos; /* position in block */54 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);
56 uint8_t partial_bit_count;56 uint8_t partial_bit_count;
57 uint32_t partial_bit_buffer;57 uint32_t partial_bit_buffer;
58 int shift_offset;58 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
47B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8,47B7*B0/8, B7*B1/8, B7*B2/8, B7*B3/8, B7*B4/8, B7*B5/8, B7*B6/8, B7*B7/8,
48};48};
49 49
50static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest, int stride, int x, int y, int type){50static inline void p8idct(int16_t data[64], FLOAT temp[64], uint8_t *dest,
51 ptrdiff_t stride, int x, int y, int type)
52{
51 int i;53 int i;
52 FLOAT s04, d04, s17, d17, s26, d26, s53, d53;54 FLOAT s04, d04, s17, d17, s26, d26, s53, d53;
53 FLOAT os07, os16, os25, os34;55 FLOAT os07, os16, os25, os34;
@@ -135,7 +137,8 @@ void ff_faanidct(int16_t block[64]){ · 81 unmodified lines
135 p8idct(block, temp, NULL, 0, 8, 1, 1);137 p8idct(block, temp, NULL, 0, 8, 1, 1);
136}138}
137 139
138void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){140void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
141{
139 FLOAT temp[64];142 FLOAT temp[64];
140 int i;143 int i;
141 144
@@ -148,7 +151,8 @@ void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]){ · 6 unmodified lines
148 p8idct(NULL , temp, dest, line_size, 8, 1, 2);151 p8idct(NULL , temp, dest, line_size, 8, 1, 2);
149}152}
150 153
151void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]){154void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64])
155{
152 FLOAT temp[64];156 FLOAT temp[64];
153 int i;157 int i;
154 158
libavcodec/faanidct.h+3−2
@@ -22,10 +22,11 @@ · 21 unmodified lines
22#ifndef AVCODEC_FAANIDCT_H22#ifndef AVCODEC_FAANIDCT_H
23#define AVCODEC_FAANIDCT_H23#define AVCODEC_FAANIDCT_H
24 24
25#include <stddef.h>
25#include <stdint.h>26#include <stdint.h>
26 27
27void ff_faanidct(int16_t block[64]);28void ff_faanidct(int16_t block[64]);
28void ff_faanidct_add(uint8_t *dest, int line_size, int16_t block[64]);29void ff_faanidct_add(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
29void ff_faanidct_put(uint8_t *dest, int line_size, int16_t block[64]);30void ff_faanidct_put(uint8_t *dest, ptrdiff_t line_size, int16_t block[64]);
30 31
31#endif /* AVCODEC_FAANIDCT_H */32#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
79 }79 }
80}80}
81 81
82void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);82void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
83void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);83void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
84 84
85static void put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,85static void put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
86 int line_size)86 ptrdiff_t line_size)
87{87{
88 int i;88 int i;
89 89
@@ -105,7 +105,7 @@ static void put_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels, · 15 unmodified lines
105 105
106static void put_signed_pixels_clamped_c(const int16_t *block,106static void put_signed_pixels_clamped_c(const int16_t *block,
107 uint8_t *restrict pixels,107 uint8_t *restrict pixels,
108 int line_size)108 ptrdiff_t line_size)
109{109{
110 int i, j;110 int i, j;
111 111
@@ -125,7 +125,7 @@ static void put_signed_pixels_clamped_c(const int16_t *block, · 13 unmodified lines
125}125}
126 126
127static void add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,127static void add_pixels_clamped_c(const int16_t *block, uint8_t *restrict pixels,
128 int line_size)128 ptrdiff_t line_size)
129{129{
130 int i;130 int i;
131 131
libavcodec/idctdsp.h+7−7
@@ -52,13 +52,13 @@ typedef struct IDCTDSPContext { · 51 unmodified lines
52 /* pixel ops : interface with DCT */52 /* pixel ops : interface with DCT */
53 void (*put_pixels_clamped)(const int16_t *block /* align 16 */,53 void (*put_pixels_clamped)(const int16_t *block /* align 16 */,
54 uint8_t *pixels /* align 8 */,54 uint8_t *pixels /* align 8 */,
55 int line_size);55 ptrdiff_t line_size);
56 void (*put_signed_pixels_clamped)(const int16_t *block /* align 16 */,56 void (*put_signed_pixels_clamped)(const int16_t *block /* align 16 */,
57 uint8_t *pixels /* align 8 */,57 uint8_t *pixels /* align 8 */,
58 int line_size);58 ptrdiff_t line_size);
59 void (*add_pixels_clamped)(const int16_t *block /* align 16 */,59 void (*add_pixels_clamped)(const int16_t *block /* align 16 */,
60 uint8_t *pixels /* align 8 */,60 uint8_t *pixels /* align 8 */,
61 int line_size);61 ptrdiff_t line_size);
62 62
63 void (*idct)(int16_t *block /* align 16 */);63 void (*idct)(int16_t *block /* align 16 */);
64 64
@@ -68,14 +68,14 @@ typedef struct IDCTDSPContext { · 3 unmodified lines
68 * @param line_size size in bytes of a horizontal line of dest68 * @param line_size size in bytes of a horizontal line of dest
69 */69 */
70 void (*idct_put)(uint8_t *dest /* align 8 */,70 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 */);
72 72
73 /**73 /**
74 * block -> idct -> add dest -> clip to unsigned 8 bit -> dest.74 * block -> idct -> add dest -> clip to unsigned 8 bit -> dest.
75 * @param line_size size in bytes of a horizontal line of dest75 * @param line_size size in bytes of a horizontal line of dest
76 */76 */
77 void (*idct_add)(uint8_t *dest /* align 8 */,77 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 */);
79 79
80 /**80 /**
81 * IDCT input permutation.81 * IDCT input permutation.
@@ -95,8 +95,8 @@ typedef struct IDCTDSPContext { · 13 unmodified lines
95 enum idct_permutation_type perm_type;95 enum idct_permutation_type perm_type;
96} IDCTDSPContext;96} IDCTDSPContext;
97 97
98extern void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);98extern void (*ff_put_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
99extern void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, int line_size);99extern void (*ff_add_pixels_clamped)(const int16_t *block, uint8_t *pixels, ptrdiff_t line_size);
100 100
101void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);101void ff_idctdsp_init(IDCTDSPContext *c, AVCodecContext *avctx);
102 102
libavcodec/jrevdct.c+2−2
@@ -943,13 +943,13 @@ void ff_j_rev_dct(DCTBLOCK data) · 942 unmodified lines
943 }943 }
944}944}
945 945
946void ff_jref_idct_put(uint8_t *dest, int line_size, int16_t *block)946void ff_jref_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
947{947{
948 ff_j_rev_dct(block);948 ff_j_rev_dct(block);
949 ff_put_pixels_clamped(block, dest, line_size);949 ff_put_pixels_clamped(block, dest, line_size);
950}950}
951 951
952void ff_jref_idct_add(uint8_t *dest, int line_size, int16_t *block)952void ff_jref_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
953{953{
954 ff_j_rev_dct(block);954 ff_j_rev_dct(block);
955 ff_add_pixels_clamped(block, dest, line_size);955 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
153 { 19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722 }153 { 19266, 26722, 25172, 22654, 19266, 22654, 25172, 26722 }
154};154};
155 155
156static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk)156static void idct_put_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
157{157{
158 vec_s16 *block = (vec_s16 *) blk;158 vec_s16 *block = (vec_s16 *) blk;
159 vec_u8 tmp;159 vec_u8 tmp;
@@ -182,7 +182,7 @@ static void idct_put_altivec(uint8_t *dest, int stride, int16_t *blk) · 22 unmodified lines
182 COPY(dest, vx7);182 COPY(dest, vx7);
183}183}
184 184
185static void idct_add_altivec(uint8_t *dest, int stride, int16_t *blk)185static void idct_add_altivec(uint8_t *dest, ptrdiff_t stride, int16_t *blk)
186{186{
187 vec_s16 *block = (vec_s16 *) blk;187 vec_s16 *block = (vec_s16 *) blk;
188 vec_u8 tmp;188 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
229 229
230/** Do inverse transform on 8x4 part of block230/** Do inverse transform on 8x4 part of block
231*/231*/
232static void vc1_inv_trans_8x4_altivec(uint8_t *dest, int stride, int16_t *block)232static void vc1_inv_trans_8x4_altivec(uint8_t *dest, ptrdiff_t stride,
233 int16_t *block)
233{234{
234 vector signed short src0, src1, src2, src3, src4, src5, src6, src7;235 vector signed short src0, src1, src2, src3, src4, src5, src6, src7;
235 vector signed int s0, s1, s2, s3, s4, s5, s6, s7;236 vector signed int s0, s1, s2, s3, s4, s5, s6, s7;
libavcodec/simple_idct.c+6−6
@@ -49,7 +49,7 @@ · 48 unmodified lines
49 and the butterfly must be multiplied by 0.5 * sqrt(2.0) */49 and the butterfly must be multiplied by 0.5 * sqrt(2.0) */
50#define C_SHIFT (4+1+12)50#define C_SHIFT (4+1+12)
51 51
52static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col)52static inline void idct4col_put(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
53{53{
54 int c0, c1, c2, c3, a0, a1, a2, a3;54 int c0, c1, c2, c3, a0, a1, a2, a3;
55 55
@@ -85,7 +85,7 @@ static inline void idct4col_put(uint8_t *dest, int line_size, const int16_t *col · 29 unmodified lines
85/* XXX: I think a 1.0/sqrt(2) normalization should be needed to85/* XXX: I think a 1.0/sqrt(2) normalization should be needed to
86 compensate the extra butterfly stage - I don't have the full DV86 compensate the extra butterfly stage - I don't have the full DV
87 specification */87 specification */
88void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block)88void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
89{89{
90 int i;90 int i;
91 int16_t *ptr;91 int16_t *ptr;
@@ -128,7 +128,7 @@ void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block) · 36 unmodified lines
128#define C2 C_FIX(0.2705980501)128#define C2 C_FIX(0.2705980501)
129#define C3 C_FIX(0.5)129#define C3 C_FIX(0.5)
130#define C_SHIFT (4+1+12)130#define C_SHIFT (4+1+12)
131static inline void idct4col_add(uint8_t *dest, int line_size, const int16_t *col)131static inline void idct4col_add(uint8_t *dest, ptrdiff_t line_size, const int16_t *col)
132{132{
133 int c0, c1, c2, c3, a0, a1, a2, a3;133 int c0, c1, c2, c3, a0, a1, a2, a3;
134 134
@@ -173,7 +173,7 @@ static inline void idct4row(int16_t *row) · 38 unmodified lines
173 row[3]= (c0 - c1) >> R_SHIFT;173 row[3]= (c0 - c1) >> R_SHIFT;
174}174}
175 175
176void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block)176void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
177{177{
178 int i;178 int i;
179 179
@@ -188,7 +188,7 @@ void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block) · 8 unmodified lines
188 }188 }
189}189}
190 190
191void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block)191void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
192{192{
193 int i;193 int i;
194 194
@@ -203,7 +203,7 @@ void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block) · 8 unmodified lines
203 }203 }
204}204}
205 205
206void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block)206void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
207{207{
208 int i;208 int i;
209 209
libavcodec/simple_idct.h+9−8
@@ -28,14 +28,15 @@ · 27 unmodified lines
28#ifndef AVCODEC_SIMPLE_IDCT_H28#ifndef AVCODEC_SIMPLE_IDCT_H
29#define AVCODEC_SIMPLE_IDCT_H29#define AVCODEC_SIMPLE_IDCT_H
30 30
31#include <stddef.h>
31#include <stdint.h>32#include <stdint.h>
32 33
33void ff_simple_idct_put_8(uint8_t *dest, int line_size, int16_t *block);34void ff_simple_idct_put_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
34void ff_simple_idct_add_8(uint8_t *dest, int line_size, int16_t *block);35void ff_simple_idct_add_8(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
35void ff_simple_idct_8(int16_t *block);36void ff_simple_idct_8(int16_t *block);
36 37
37void ff_simple_idct_put_10(uint8_t *dest, int line_size, int16_t *block);38void ff_simple_idct_put_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
38void ff_simple_idct_add_10(uint8_t *dest, int line_size, int16_t *block);39void ff_simple_idct_add_10(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
39void ff_simple_idct_10(int16_t *block);40void ff_simple_idct_10(int16_t *block);
40/**41/**
41 * Special version of ff_simple_idct_10() which does dequantization42 * 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
44 */45 */
45void ff_prores_idct(int16_t *block, const int16_t *qmat);46void ff_prores_idct(int16_t *block, const int16_t *qmat);
46 47
47void ff_simple_idct248_put(uint8_t *dest, int line_size, int16_t *block);48void ff_simple_idct248_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
48 49
49void ff_simple_idct84_add(uint8_t *dest, int line_size, int16_t *block);50void ff_simple_idct84_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
50void ff_simple_idct48_add(uint8_t *dest, int line_size, int16_t *block);51void ff_simple_idct48_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
51void ff_simple_idct44_add(uint8_t *dest, int line_size, int16_t *block);52void ff_simple_idct44_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
52 53
53#endif /* AVCODEC_SIMPLE_IDCT_H */54#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
222 } \222 } \
223 } while (0)223 } while (0)
224 224
225static inline void FUNC(idctSparseColPut)(pixel *dest, int line_size,225static inline void FUNC(idctSparseColPut)(pixel *dest, ptrdiff_t line_size,
226 int16_t *col)226 int16_t *col)
227{227{
228 int a0, a1, a2, a3, b0, b1, b2, b3;228 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
246 dest[0] = av_clip_pixel((a0 - b0) >> COL_SHIFT);246 dest[0] = av_clip_pixel((a0 - b0) >> COL_SHIFT);
247}247}
248 248
249static inline void FUNC(idctSparseColAdd)(pixel *dest, int line_size,249static inline void FUNC(idctSparseColAdd)(pixel *dest, ptrdiff_t line_size,
250 int16_t *col)250 int16_t *col)
251{251{
252 int a0, a1, a2, a3, b0, b1, b2, b3;252 int a0, a1, a2, a3, b0, b1, b2, b3;
@@ -286,7 +286,7 @@ static inline void FUNC(idctSparseCol)(int16_t *col) · 33 unmodified lines
286 col[56] = ((a0 - b0) >> COL_SHIFT);286 col[56] = ((a0 - b0) >> COL_SHIFT);
287}287}
288 288
289void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block)289void FUNC(ff_simple_idct_put)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
290{290{
291 pixel *dest = (pixel *)dest_;291 pixel *dest = (pixel *)dest_;
292 int i;292 int i;
@@ -300,7 +300,7 @@ void FUNC(ff_simple_idct_put)(uint8_t *dest_, int line_size, int16_t *block) · 7 unmodified lines
300 FUNC(idctSparseColPut)(dest + i, line_size, block + i);300 FUNC(idctSparseColPut)(dest + i, line_size, block + i);
301}301}
302 302
303void FUNC(ff_simple_idct_add)(uint8_t *dest_, int line_size, int16_t *block)303void FUNC(ff_simple_idct_add)(uint8_t *dest_, ptrdiff_t line_size, int16_t *block)
304{304{
305 pixel *dest = (pixel *)dest_;305 pixel *dest = (pixel *)dest_;
306 int i;306 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
253DECLARE_ALIGNED(8, static uint8_t, img_dest)[64];253DECLARE_ALIGNED(8, static uint8_t, img_dest)[64];
254DECLARE_ALIGNED(8, static uint8_t, img_dest1)[64];254DECLARE_ALIGNED(8, static uint8_t, img_dest1)[64];
255 255
256static void idct248_ref(uint8_t *dest, int linesize, int16_t *block)256static void idct248_ref(uint8_t *dest, ptrdiff_t linesize, int16_t *block)
257{257{
258 static int init;258 static int init;
259 static double c8[8][8];259 static double c8[8][8];
@@ -334,7 +334,8 @@ static void idct248_ref(uint8_t *dest, int linesize, int16_t *block) · 74 unmodified lines
334}334}
335 335
336static void idct248_error(const char *name,336static 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,
338 int16_t *block),339 int16_t *block),
339 int speed)340 int speed)
340{341{
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
235}235}
236 236
237/* Do inverse transform on 8x8 block */237/* Do inverse transform on 8x8 block */
238static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, int linesize, int16_t *block)238static void vc1_inv_trans_8x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
239{239{
240 int i;240 int i;
241 int dc = block[0];241 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
252 dest[5] = av_clip_uint8(dest[5] + dc);252 dest[5] = av_clip_uint8(dest[5] + dc);
253 dest[6] = av_clip_uint8(dest[6] + dc);253 dest[6] = av_clip_uint8(dest[6] + dc);
254 dest[7] = av_clip_uint8(dest[7] + dc);254 dest[7] = av_clip_uint8(dest[7] + dc);
255 dest += linesize;255 dest += stride;
256 }256 }
257}257}
258 258
@@ -326,7 +326,7 @@ static void vc1_inv_trans_8x8_c(int16_t block[64]) · 67 unmodified lines
326}326}
327 327
328/* Do inverse transform on 8x4 part of block */328/* Do inverse transform on 8x4 part of block */
329static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, int linesize, int16_t *block)329static void vc1_inv_trans_8x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
330{330{
331 int i;331 int i;
332 int dc = block[0];332 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
343 dest[5] = av_clip_uint8(dest[5] + dc);343 dest[5] = av_clip_uint8(dest[5] + dc);
344 dest[6] = av_clip_uint8(dest[6] + dc);344 dest[6] = av_clip_uint8(dest[6] + dc);
345 dest[7] = av_clip_uint8(dest[7] + dc);345 dest[7] = av_clip_uint8(dest[7] + dc);
346 dest += linesize;346 dest += stride;
347 }347 }
348}348}
349 349
350static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block)350static void vc1_inv_trans_8x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
351{351{
352 int i;352 int i;
353 register int t1, t2, t3, t4, t5, t6, t7, t8;353 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
392 t3 = 22 * src[ 8] + 10 * src[24];392 t3 = 22 * src[ 8] + 10 * src[24];
393 t4 = 22 * src[24] - 10 * src[ 8];393 t4 = 22 * src[24] - 10 * src[ 8];
394 394
395 dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7));395 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
396 dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7));396 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
397 dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7));397 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
398 dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7));398 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
399 399
400 src++;400 src++;
401 dest++;401 dest++;
@@ -403,7 +403,7 @@ static void vc1_inv_trans_8x4_c(uint8_t *dest, int linesize, int16_t *block) · 1 unmodified line
403}403}
404 404
405/* Do inverse transform on 4x8 parts of block */405/* Do inverse transform on 4x8 parts of block */
406static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, int linesize, int16_t *block)406static void vc1_inv_trans_4x8_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
407{407{
408 int i;408 int i;
409 int dc = block[0];409 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
416 dest[1] = av_clip_uint8(dest[1] + dc);416 dest[1] = av_clip_uint8(dest[1] + dc);
417 dest[2] = av_clip_uint8(dest[2] + dc);417 dest[2] = av_clip_uint8(dest[2] + dc);
418 dest[3] = av_clip_uint8(dest[3] + dc);418 dest[3] = av_clip_uint8(dest[3] + dc);
419 dest += linesize;419 dest += stride;
420 }420 }
421}421}
422 422
423static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block)423static void vc1_inv_trans_4x8_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
424{424{
425 int i;425 int i;
426 register int t1, t2, t3, t4, t5, t6, t7, t8;426 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
461 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];461 t3 = 9 * src[ 8] - 16 * src[24] + 4 * src[40] + 15 * src[56];
462 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];462 t4 = 4 * src[ 8] - 9 * src[24] + 15 * src[40] - 16 * src[56];
463 463
464 dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t5 + t1) >> 7));464 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t5 + t1) >> 7));
465 dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t6 + t2) >> 7));465 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t6 + t2) >> 7));
466 dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t7 + t3) >> 7));466 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t7 + t3) >> 7));
467 dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t8 + t4) >> 7));467 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t8 + t4) >> 7));
468 dest[4 * linesize] = av_clip_uint8(dest[4 * linesize] + ((t8 - t4 + 1) >> 7));468 dest[4 * stride] = av_clip_uint8(dest[4 * stride] + ((t8 - t4 + 1) >> 7));
469 dest[5 * linesize] = av_clip_uint8(dest[5 * linesize] + ((t7 - t3 + 1) >> 7));469 dest[5 * stride] = av_clip_uint8(dest[5 * stride] + ((t7 - t3 + 1) >> 7));
470 dest[6 * linesize] = av_clip_uint8(dest[6 * linesize] + ((t6 - t2 + 1) >> 7));470 dest[6 * stride] = av_clip_uint8(dest[6 * stride] + ((t6 - t2 + 1) >> 7));
471 dest[7 * linesize] = av_clip_uint8(dest[7 * linesize] + ((t5 - t1 + 1) >> 7));471 dest[7 * stride] = av_clip_uint8(dest[7 * stride] + ((t5 - t1 + 1) >> 7));
472 472
473 src++;473 src++;
474 dest++;474 dest++;
@@ -476,7 +476,7 @@ static void vc1_inv_trans_4x8_c(uint8_t *dest, int linesize, int16_t *block) · 1 unmodified line
476}476}
477 477
478/* Do inverse transform on 4x4 part of block */478/* Do inverse transform on 4x4 part of block */
479static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, int linesize, int16_t *block)479static void vc1_inv_trans_4x4_dc_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
480{480{
481 int i;481 int i;
482 int dc = block[0];482 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
489 dest[1] = av_clip_uint8(dest[1] + dc);489 dest[1] = av_clip_uint8(dest[1] + dc);
490 dest[2] = av_clip_uint8(dest[2] + dc);490 dest[2] = av_clip_uint8(dest[2] + dc);
491 dest[3] = av_clip_uint8(dest[3] + dc);491 dest[3] = av_clip_uint8(dest[3] + dc);
492 dest += linesize;492 dest += stride;
493 }493 }
494}494}
495 495
496static void vc1_inv_trans_4x4_c(uint8_t *dest, int linesize, int16_t *block)496static void vc1_inv_trans_4x4_c(uint8_t *dest, ptrdiff_t stride, int16_t *block)
497{497{
498 int i;498 int i;
499 register int t1, t2, t3, t4;499 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
523 t3 = 22 * src[8] + 10 * src[24];523 t3 = 22 * src[8] + 10 * src[24];
524 t4 = 22 * src[24] - 10 * src[8];524 t4 = 22 * src[24] - 10 * src[8];
525 525
526 dest[0 * linesize] = av_clip_uint8(dest[0 * linesize] + ((t1 + t3) >> 7));526 dest[0 * stride] = av_clip_uint8(dest[0 * stride] + ((t1 + t3) >> 7));
527 dest[1 * linesize] = av_clip_uint8(dest[1 * linesize] + ((t2 - t4) >> 7));527 dest[1 * stride] = av_clip_uint8(dest[1 * stride] + ((t2 - t4) >> 7));
528 dest[2 * linesize] = av_clip_uint8(dest[2 * linesize] + ((t2 + t4) >> 7));528 dest[2 * stride] = av_clip_uint8(dest[2 * stride] + ((t2 + t4) >> 7));
529 dest[3 * linesize] = av_clip_uint8(dest[3 * linesize] + ((t1 - t3) >> 7));529 dest[3 * stride] = av_clip_uint8(dest[3 * stride] + ((t1 - t3) >> 7));
530 530
531 src++;531 src++;
532 dest++;532 dest++;
libavcodec/vc1dsp.h+7−7
@@ -33,13 +33,13 @@ · 32 unmodified lines
33typedef struct VC1DSPContext {33typedef struct VC1DSPContext {
34 /* vc1 functions */34 /* vc1 functions */
35 void (*vc1_inv_trans_8x8)(int16_t *b);35 void (*vc1_inv_trans_8x8)(int16_t *b);
36 void (*vc1_inv_trans_8x4)(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, int line_size, 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, int line_size, 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, int line_size, 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, int line_size, 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, int line_size, 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, int line_size, int16_t *block);42 void (*vc1_inv_trans_4x4_dc)(uint8_t *dest, ptrdiff_t stride, int16_t *block);
43 void (*vc1_v_overlap)(uint8_t *src, int stride);43 void (*vc1_v_overlap)(uint8_t *src, int stride);
44 void (*vc1_h_overlap)(uint8_t *src, int stride);44 void (*vc1_h_overlap)(uint8_t *src, int stride);
45 void (*vc1_v_s_overlap)(int16_t *top, int16_t *bottom);45 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
93 b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14;93 b[8 * 7] = (a0 + a2 - a1 - a5 + (1 << 13)) >> 14;
94}94}
95 95
96static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block)96static void wmv2_idct_add_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
97{97{
98 int i;98 int i;
99 99
@@ -116,7 +116,7 @@ static void wmv2_idct_add_c(uint8_t *dest, int line_size, int16_t *block) · 16 unmodified lines
116 }116 }
117}117}
118 118
119static void wmv2_idct_put_c(uint8_t *dest, int line_size, int16_t *block)119static void wmv2_idct_put_c(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
120{120{
121 int i;121 int i;
122 122
libavcodec/wmv2dsp.h+2−2
@@ -24,8 +24,8 @@ · 23 unmodified lines
24#include "qpeldsp.h"24#include "qpeldsp.h"
25 25
26typedef struct WMV2DSPContext {26typedef struct WMV2DSPContext {
27 void (*idct_add)(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, int line_size, int16_t *block);28 void (*idct_put)(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
29 29
30 qpel_mc_func put_mspel_pixels_tab[8];30 qpel_mc_func put_mspel_pixels_tab[8];
31 31
libavcodec/x86/idctdsp.h+4−3
@@ -19,13 +19,14 @@ · 18 unmodified lines
19#ifndef AVCODEC_X86_IDCTDSP_H19#ifndef AVCODEC_X86_IDCTDSP_H
20#define AVCODEC_X86_IDCTDSP_H20#define AVCODEC_X86_IDCTDSP_H
21 21
22#include <stddef.h>
22#include <stdint.h>23#include <stdint.h>
23 24
24void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,25void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
25 int line_size);26 ptrdiff_t line_size);
26void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,27void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
27 int line_size);28 ptrdiff_t line_size);
28void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,29void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
29 int line_size);30 ptrdiff_t line_size);
30 31
31#endif /* AVCODEC_X86_IDCTDSP_H */32#endif /* AVCODEC_X86_IDCTDSP_H */
libavcodec/x86/idctdsp_mmx.c+3−3
@@ -31,7 +31,7 @@ · 30 unmodified lines
31#if HAVE_INLINE_ASM31#if HAVE_INLINE_ASM
32 32
33void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,33void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
34 int line_size)34 ptrdiff_t line_size)
35{35{
36 const int16_t *p;36 const int16_t *p;
37 uint8_t *pix;37 uint8_t *pix;
@@ -107,7 +107,7 @@ void ff_put_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels, · 69 unmodified lines
107 "movq %%mm4, (%0, %1) \n\t"107 "movq %%mm4, (%0, %1) \n\t"
108 108
109void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,109void ff_put_signed_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
110 int line_size)110 ptrdiff_t line_size)
111{111{
112 x86_reg line_skip = line_size;112 x86_reg line_skip = line_size;
113 x86_reg line_skip3;113 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
124}124}
125 125
126void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,126void ff_add_pixels_clamped_mmx(const int16_t *block, uint8_t *pixels,
127 int line_size)127 ptrdiff_t line_size)
128{128{
129 const int16_t *p;129 const int16_t *p;
130 uint8_t *pix;130 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
904 904
905//FIXME merge add/put into the idct905//FIXME merge add/put into the idct
906 906
907void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block)907void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
908{908{
909 idct(block);909 idct(block);
910 ff_put_pixels_clamped(block, dest, line_size);910 ff_put_pixels_clamped(block, dest, line_size);
911}911}
912void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block)912void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
913{913{
914 idct(block);914 idct(block);
915 ff_add_pixels_clamped(block, dest, line_size);915 ff_add_pixels_clamped(block, dest, line_size);
libavcodec/x86/simple_idct.h+3−2
@@ -19,10 +19,11 @@ · 18 unmodified lines
19#ifndef AVCODEC_X86_SIMPLE_IDCT_H19#ifndef AVCODEC_X86_SIMPLE_IDCT_H
20#define AVCODEC_X86_SIMPLE_IDCT_H20#define AVCODEC_X86_SIMPLE_IDCT_H
21 21
22#include <stddef.h>
22#include <stdint.h>23#include <stdint.h>
23 24
24void ff_simple_idct_mmx(int16_t *block);25void ff_simple_idct_mmx(int16_t *block);
25void ff_simple_idct_add_mmx(uint8_t *dest, int line_size, int16_t *block);26void ff_simple_idct_add_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
26void ff_simple_idct_put_mmx(uint8_t *dest, int line_size, int16_t *block);27void ff_simple_idct_put_mmx(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
27 28
28#endif /* AVCODEC_X86_SIMPLE_IDCT_H */29#endif /* AVCODEC_X86_SIMPLE_IDCT_H */
libavcodec/x86/vc1dsp_mmx.c+30−30
@@ -498,7 +498,7 @@ DECLARE_FUNCTION(3, 1) · 497 unmodified lines
498DECLARE_FUNCTION(3, 2)498DECLARE_FUNCTION(3, 2)
499DECLARE_FUNCTION(3, 3)499DECLARE_FUNCTION(3, 3)
500 500
501static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, int linesize,501static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
502 int16_t *block)502 int16_t *block)
503{503{
504 int dc = block[0];504 int dc = block[0];
@@ -530,14 +530,14 @@ static void vc1_inv_trans_4x4_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
530 "movd %%mm3, %1 \n\t"530 "movd %%mm3, %1 \n\t"
531 "movd %%mm4, %2 \n\t"531 "movd %%mm4, %2 \n\t"
532 "movd %%mm5, %3 \n\t"532 "movd %%mm5, %3 \n\t"
533 :"+m"(*(uint32_t*)(dest+0*linesize)),533 :"+m"(*(uint32_t *)(dest + 0 * stride)),
534 "+m"(*(uint32_t*)(dest+1*linesize)),534 "+m"(*(uint32_t *)(dest + 1 * stride)),
535 "+m"(*(uint32_t*)(dest+2*linesize)),535 "+m"(*(uint32_t *)(dest + 2 * stride)),
536 "+m"(*(uint32_t*)(dest+3*linesize))536 "+m"(*(uint32_t *)(dest + 3 * stride))
537 );537 );
538}538}
539 539
540static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize,540static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
541 int16_t *block)541 int16_t *block)
542{542{
543 int dc = block[0];543 int dc = block[0];
@@ -569,12 +569,12 @@ static void vc1_inv_trans_4x8_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
569 "movd %%mm3, %1 \n\t"569 "movd %%mm3, %1 \n\t"
570 "movd %%mm4, %2 \n\t"570 "movd %%mm4, %2 \n\t"
571 "movd %%mm5, %3 \n\t"571 "movd %%mm5, %3 \n\t"
572 :"+m"(*(uint32_t*)(dest+0*linesize)),572 :"+m"(*(uint32_t *)(dest + 0 * stride)),
573 "+m"(*(uint32_t*)(dest+1*linesize)),573 "+m"(*(uint32_t *)(dest + 1 * stride)),
574 "+m"(*(uint32_t*)(dest+2*linesize)),574 "+m"(*(uint32_t *)(dest + 2 * stride)),
575 "+m"(*(uint32_t*)(dest+3*linesize))575 "+m"(*(uint32_t *)(dest + 3 * stride))
576 );576 );
577 dest += 4*linesize;577 dest += 4 * stride;
578 __asm__ volatile(578 __asm__ volatile(
579 "movd %0, %%mm2 \n\t"579 "movd %0, %%mm2 \n\t"
580 "movd %1, %%mm3 \n\t"580 "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
592 "movd %%mm3, %1 \n\t"592 "movd %%mm3, %1 \n\t"
593 "movd %%mm4, %2 \n\t"593 "movd %%mm4, %2 \n\t"
594 "movd %%mm5, %3 \n\t"594 "movd %%mm5, %3 \n\t"
595 :"+m"(*(uint32_t*)(dest+0*linesize)),595 :"+m"(*(uint32_t *)(dest + 0 * stride)),
596 "+m"(*(uint32_t*)(dest+1*linesize)),596 "+m"(*(uint32_t *)(dest + 1 * stride)),
597 "+m"(*(uint32_t*)(dest+2*linesize)),597 "+m"(*(uint32_t *)(dest + 2 * stride)),
598 "+m"(*(uint32_t*)(dest+3*linesize))598 "+m"(*(uint32_t *)(dest + 3 * stride))
599 );599 );
600}600}
601 601
602static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, int linesize,602static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
603 int16_t *block)603 int16_t *block)
604{604{
605 int dc = block[0];605 int dc = block[0];
@@ -631,14 +631,14 @@ static void vc1_inv_trans_8x4_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
631 "movq %%mm3, %1 \n\t"631 "movq %%mm3, %1 \n\t"
632 "movq %%mm4, %2 \n\t"632 "movq %%mm4, %2 \n\t"
633 "movq %%mm5, %3 \n\t"633 "movq %%mm5, %3 \n\t"
634 :"+m"(*(uint32_t*)(dest+0*linesize)),634 :"+m"(*(uint32_t *)(dest + 0 * stride)),
635 "+m"(*(uint32_t*)(dest+1*linesize)),635 "+m"(*(uint32_t *)(dest + 1 * stride)),
636 "+m"(*(uint32_t*)(dest+2*linesize)),636 "+m"(*(uint32_t *)(dest + 2 * stride)),
637 "+m"(*(uint32_t*)(dest+3*linesize))637 "+m"(*(uint32_t *)(dest + 3 * stride))
638 );638 );
639}639}
640 640
641static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize,641static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, ptrdiff_t stride,
642 int16_t *block)642 int16_t *block)
643{643{
644 int dc = block[0];644 int dc = block[0];
@@ -670,12 +670,12 @@ static void vc1_inv_trans_8x8_dc_mmxext(uint8_t *dest, int linesize, · 25 unmodified lines
670 "movq %%mm3, %1 \n\t"670 "movq %%mm3, %1 \n\t"
671 "movq %%mm4, %2 \n\t"671 "movq %%mm4, %2 \n\t"
672 "movq %%mm5, %3 \n\t"672 "movq %%mm5, %3 \n\t"
673 :"+m"(*(uint32_t*)(dest+0*linesize)),673 :"+m"(*(uint32_t *)(dest + 0 * stride)),
674 "+m"(*(uint32_t*)(dest+1*linesize)),674 "+m"(*(uint32_t *)(dest + 1 * stride)),
675 "+m"(*(uint32_t*)(dest+2*linesize)),675 "+m"(*(uint32_t *)(dest + 2 * stride)),
676 "+m"(*(uint32_t*)(dest+3*linesize))676 "+m"(*(uint32_t *)(dest + 3 * stride))
677 );677 );
678 dest += 4*linesize;678 dest += 4 * stride;
679 __asm__ volatile(679 __asm__ volatile(
680 "movq %0, %%mm2 \n\t"680 "movq %0, %%mm2 \n\t"
681 "movq %1, %%mm3 \n\t"681 "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
693 "movq %%mm3, %1 \n\t"693 "movq %%mm3, %1 \n\t"
694 "movq %%mm4, %2 \n\t"694 "movq %%mm4, %2 \n\t"
695 "movq %%mm5, %3 \n\t"695 "movq %%mm5, %3 \n\t"
696 :"+m"(*(uint32_t*)(dest+0*linesize)),696 :"+m"(*(uint32_t *)(dest + 0 * stride)),
697 "+m"(*(uint32_t*)(dest+1*linesize)),697 "+m"(*(uint32_t *)(dest + 1 * stride)),
698 "+m"(*(uint32_t*)(dest+2*linesize)),698 "+m"(*(uint32_t *)(dest + 2 * stride)),
699 "+m"(*(uint32_t*)(dest+3*linesize))699 "+m"(*(uint32_t *)(dest + 3 * stride))
700 );700 );
701}701}
702 702
libavcodec/x86/xvididct.h+7−6
@@ -26,18 +26,19 @@ · 25 unmodified lines
26#ifndef AVCODEC_X86_XVIDIDCT_H26#ifndef AVCODEC_X86_XVIDIDCT_H
27#define AVCODEC_X86_XVIDIDCT_H27#define AVCODEC_X86_XVIDIDCT_H
28 28
29#include <stddef.h>
29#include <stdint.h>30#include <stdint.h>
30 31
31void ff_xvid_idct_mmx(short *block);32void ff_xvid_idct_mmx(short *block);
32void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block);33void ff_xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
33void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block);34void ff_xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
34 35
35void ff_xvid_idct_mmxext(short *block);36void ff_xvid_idct_mmxext(short *block);
36void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block);37void ff_xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
37void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block);38void ff_xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block);
38 39
39void ff_xvid_idct_sse2(short *block);40void ff_xvid_idct_sse2(short *block);
40void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block);41void ff_xvid_idct_sse2_put(uint8_t *dest, ptrdiff_t line_size, short *block);
41void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block);42void ff_xvid_idct_sse2_add(uint8_t *dest, ptrdiff_t line_size, short *block);
42 43
43#endif /* AVCODEC_X86_XVIDIDCT_H */44#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
494 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_mmx), "r" (tg_1_16));494 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_mmx), "r" (tg_1_16));
495}495}
496 496
497void ff_xvid_idct_mmx_put(uint8_t *dest, int line_size, int16_t *block)497void ff_xvid_idct_mmx_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
498{498{
499 ff_xvid_idct_mmx(block);499 ff_xvid_idct_mmx(block);
500 ff_put_pixels_clamped_mmx(block, dest, line_size);500 ff_put_pixels_clamped_mmx(block, dest, line_size);
501}501}
502 502
503void ff_xvid_idct_mmx_add(uint8_t *dest, int line_size, int16_t *block)503void ff_xvid_idct_mmx_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
504{504{
505 ff_xvid_idct_mmx(block);505 ff_xvid_idct_mmx(block);
506 ff_add_pixels_clamped_mmx(block, dest, line_size);506 ff_add_pixels_clamped_mmx(block, dest, line_size);
@@ -533,13 +533,13 @@ void ff_xvid_idct_mmxext(short *block) · 26 unmodified lines
533 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_xmm), "r" (tg_1_16));533 :: "r" (block), "r" (rounder_0), "r" (tab_i_04_xmm), "r" (tg_1_16));
534}534}
535 535
536void ff_xvid_idct_mmxext_put(uint8_t *dest, int line_size, int16_t *block)536void ff_xvid_idct_mmxext_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
537{537{
538 ff_xvid_idct_mmxext(block);538 ff_xvid_idct_mmxext(block);
539 ff_put_pixels_clamped_mmx(block, dest, line_size);539 ff_put_pixels_clamped_mmx(block, dest, line_size);
540}540}
541 541
542void ff_xvid_idct_mmxext_add(uint8_t *dest, int line_size, int16_t *block)542void ff_xvid_idct_mmxext_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
543{543{
544 ff_xvid_idct_mmxext(block);544 ff_xvid_idct_mmxext(block);
545 ff_add_pixels_clamped_mmx(block, dest, line_size);545 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
390 "%eax", "%ecx", "%edx", "%esi", "memory");390 "%eax", "%ecx", "%edx", "%esi", "memory");
391}391}
392 392
393void ff_xvid_idct_sse2_put(uint8_t *dest, int line_size, short *block)393void ff_xvid_idct_sse2_put(uint8_t *dest, ptrdiff_t line_size, short *block)
394{394{
395 ff_xvid_idct_sse2(block);395 ff_xvid_idct_sse2(block);
396 ff_put_pixels_clamped_mmx(block, dest, line_size);396 ff_put_pixels_clamped_mmx(block, dest, line_size);
397}397}
398 398
399void ff_xvid_idct_sse2_add(uint8_t *dest, int line_size, short *block)399void ff_xvid_idct_sse2_add(uint8_t *dest, ptrdiff_t line_size, short *block)
400{400{
401 ff_xvid_idct_sse2(block);401 ff_xvid_idct_sse2(block);
402 ff_add_pixels_clamped_mmx(block, dest, line_size);402 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
318 }318 }
319}319}
320 320
321static void xvid_idct_put(uint8_t *dest, int line_size, int16_t *block)321static void xvid_idct_put(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
322{322{
323 ff_xvid_idct(block);323 ff_xvid_idct(block);
324 ff_put_pixels_clamped(block, dest, line_size);324 ff_put_pixels_clamped(block, dest, line_size);
325}325}
326 326
327static void xvid_idct_add(uint8_t *dest, int line_size, int16_t *block)327static void xvid_idct_add(uint8_t *dest, ptrdiff_t line_size, int16_t *block)
328{328{
329 ff_xvid_idct(block);329 ff_xvid_idct(block);
330 ff_add_pixels_clamped(block, dest, line_size);330 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