ptrdiff_t is the correct type for array strides and similar.
Showing the changes to libavcodec/arm (8 of 36 files). Show all
Unified · Split
| @@ -19,6 +19,7 @@ · 18 unmodified lines | |||
| 19 | #ifndef AVCODEC_ARM_IDCT_H | 19 | #ifndef AVCODEC_ARM_IDCT_H |
| 20 | #define AVCODEC_ARM_IDCT_H | 20 | #define AVCODEC_ARM_IDCT_H |
| 21 | 21 | ||
| 22 | #include <stddef.h> | ||
| 22 | #include <stdint.h> | 23 | #include <stdint.h> |
| 23 | 24 | ||
| 24 | void ff_j_rev_dct_arm(int16_t *data); | 25 | 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 | |||
| 26 | void ff_simple_idct_arm(int16_t *data); | 27 | void ff_simple_idct_arm(int16_t *data); |
| 27 | 28 | ||
| 28 | void ff_simple_idct_armv5te(int16_t *data); | 29 | 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_put_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data); |
| 30 | void ff_simple_idct_add_armv5te(uint8_t *dest, int line_size, int16_t *data); | 31 | void ff_simple_idct_add_armv5te(uint8_t *dest, ptrdiff_t line_size, int16_t *data); |
| 31 | 32 | ||
| 32 | void ff_simple_idct_armv6(int16_t *data); | 33 | 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_put_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); |
| 34 | void ff_simple_idct_add_armv6(uint8_t *dest, int line_size, int16_t *data); | 35 | void ff_simple_idct_add_armv6(uint8_t *dest, ptrdiff_t line_size, int16_t *data); |
| 35 | 36 | ||
| 36 | void ff_simple_idct_neon(int16_t *data); | 37 | 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_put_neon(uint8_t *dest, ptrdiff_t line_size, int16_t *data); |
| 38 | void ff_simple_idct_add_neon(uint8_t *dest, int line_size, int16_t *data); | 39 | void 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 */ |
| @@ -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) |
| 26 | function ff_add_pixels_clamped_arm, export=1, align=5 | 26 | function ff_add_pixels_clamped_arm, export=1, align=5 |
| 27 | push {r4-r10} | 27 | push {r4-r10} |
| 28 | mov r10, #8 | 28 | mov r10, #8 |
| @@ -19,6 +19,7 @@ · 18 unmodified lines | |||
| 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 19 | * 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 | ||
| 32 | void ff_add_pixels_clamped_arm(const int16_t *block, uint8_t *dest, | 33 | void 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 are | 36 | /* XXX: those functions should be suppressed ASAP when all IDCTs are |
| 36 | * converted */ | 37 | * 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) | ||
| 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 | ||
| 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) | ||
| 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 | ||
| 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) | ||
| 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 | ||
| 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) | ||
| 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); |
| @@ -27,7 +27,7 @@ · 26 unmodified lines | |||
| 27 | #include "idctdsp_arm.h" | 27 | #include "idctdsp_arm.h" |
| 28 | 28 | ||
| 29 | void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels, | 29 | void ff_add_pixels_clamped_armv6(const int16_t *block, uint8_t *pixels, |
| 30 | int line_size); | 30 | ptrdiff_t line_size); |
| 31 | 31 | ||
| 32 | av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx, | 32 | av_cold void ff_idctdsp_init_armv6(IDCTDSPContext *c, AVCodecContext *avctx, |
| 33 | unsigned high_bit_depth) | 33 | unsigned high_bit_depth) |
| @@ -390,7 +390,7 @@ function ff_simple_idct_armv6, export=1 · 389 unmodified lines | |||
| 390 | pop {r4-r11, pc} | 390 | pop {r4-r11, pc} |
| 391 | endfunc | 391 | endfunc |
| 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); */ |
| 394 | function ff_simple_idct_add_armv6, export=1 | 394 | function 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, #128 | 396 | 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} |
| 408 | endfunc | 408 | endfunc |
| 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); */ |
| 411 | function ff_simple_idct_put_armv6, export=1 | 411 | function 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, #128 | 413 | sub sp, sp, #128 |
| @@ -261,7 +261,7 @@ endconst · 260 unmodified lines | |||
| 261 | pop {r4-r7, pc} | 261 | pop {r4-r7, pc} |
| 262 | .endm | 262 | .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); */ |
| 265 | function ff_simple_idct_put_neon, export=1 | 265 | function ff_simple_idct_put_neon, export=1 |
| 266 | idct_start r2 | 266 | idct_start r2 |
| 267 | 267 | ||
| @@ -316,7 +316,7 @@ function idct_col4_add8_neon · 48 unmodified lines | |||
| 316 | bx lr | 316 | bx lr |
| 317 | endfunc | 317 | endfunc |
| 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); */ |
| 320 | function ff_simple_idct_add_neon, export=1 | 320 | function ff_simple_idct_add_neon, export=1 |
| 321 | idct_start r2 | 321 | idct_start r2 |
| 322 | 322 | ||
| @@ -25,14 +25,14 @@ · 24 unmodified lines | |||
| 25 | #include "config.h" | 25 | #include "config.h" |
| 26 | 26 | ||
| 27 | void ff_vc1_inv_trans_8x8_neon(int16_t *block); | 27 | 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); | 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, int linesize, 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, int linesize, int16_t *block); | 30 | void ff_vc1_inv_trans_4x4_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block); |
| 31 | 31 | ||
| 32 | void ff_vc1_inv_trans_8x8_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, int linesize, 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, int linesize, 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, int linesize, int16_t *block); | 35 | void ff_vc1_inv_trans_4x4_dc_neon(uint8_t *dest, ptrdiff_t stride, int16_t *block); |
| 36 | 36 | ||
| 37 | void ff_put_pixels8x8_neon(uint8_t *block, const uint8_t *pixels, | 37 | void 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); |
| @@ -426,7 +426,7 @@ function ff_vc1_inv_trans_8x8_neon, export=1 · 425 unmodified lines | |||
| 426 | bx lr | 426 | bx lr |
| 427 | endfunc | 427 | endfunc |
| 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]) |
| 430 | function ff_vc1_inv_trans_8x4_neon, export=1 | 430 | function 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 registers | 431 | 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 lr | 511 | bx lr |
| 512 | endfunc | 512 | endfunc |
| 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]) |
| 515 | function ff_vc1_inv_trans_4x8_neon, export=1 | 515 | function ff_vc1_inv_trans_4x8_neon, export=1 |
| 516 | mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes | 516 | 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 register | 517 | 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] >>= rshift | 593 | vshr.s16 q1, q1, #\rshift @ dst[3,1] >>= rshift |
| 594 | .endm | 594 | .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]) |
| 597 | function ff_vc1_inv_trans_4x4_neon, export=1 | 597 | function ff_vc1_inv_trans_4x4_neon, export=1 |
| 598 | mov r12, #(8 * 2) @ 8 elements per line, each element 2 bytes | 598 | 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 register | 599 | vld4.16 {d0[], d1[], d2[], d3[]}, [r2,:64], r12 @ read each column into a register |