diff options
author | Diego Biurrun <diego@biurrun.de> | 2016-09-01 21:41:01 +0200 |
---|---|---|
committer | Diego Biurrun <diego@biurrun.de> | 2016-09-29 14:48:04 +0200 |
commit | e4a94d8b36c48d95a7d412c40d7b558422ff659c (patch) | |
tree | 754724de182b2d0379f14d2a347d1e4f78d52648 /libavcodec/aarch64 | |
parent | 2ec9fa5ec60dcd10e1cb10d8b4e4437e634ea428 (diff) | |
download | ffmpeg-e4a94d8b36c48d95a7d412c40d7b558422ff659c.tar.gz |
h264chroma: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their
stride argument manually to be able to do pointer arithmetic.
Diffstat (limited to 'libavcodec/aarch64')
-rw-r--r-- | libavcodec/aarch64/h264chroma_init_aarch64.c | 12 | ||||
-rw-r--r-- | libavcodec/aarch64/h264cmc_neon.S | 7 | ||||
-rw-r--r-- | libavcodec/aarch64/rv40dsp_init_aarch64.c | 16 | ||||
-rw-r--r-- | libavcodec/aarch64/vc1dsp_init_aarch64.c | 16 |
4 files changed, 24 insertions, 27 deletions
diff --git a/libavcodec/aarch64/h264chroma_init_aarch64.c b/libavcodec/aarch64/h264chroma_init_aarch64.c index c7679ab4cc..a373291344 100644 --- a/libavcodec/aarch64/h264chroma_init_aarch64.c +++ b/libavcodec/aarch64/h264chroma_init_aarch64.c @@ -28,18 +28,18 @@ #include "config.h" -void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_put_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_put_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_put_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_avg_h264_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_avg_h264_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); -void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, int stride, +void ff_avg_h264_chroma_mc2_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y); av_cold void ff_h264chroma_init_aarch64(H264ChromaContext *c, int bit_depth) diff --git a/libavcodec/aarch64/h264cmc_neon.S b/libavcodec/aarch64/h264cmc_neon.S index d1025c7a25..edc256cbc3 100644 --- a/libavcodec/aarch64/h264cmc_neon.S +++ b/libavcodec/aarch64/h264cmc_neon.S @@ -21,10 +21,9 @@ #include "libavutil/aarch64/asm.S" -/* chroma_mc8(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */ +/* chroma_mc8(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc8 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc8_neon, export=1 - sxtw x2, w2 .ifc \type,avg mov x8, x0 .endif @@ -192,10 +191,9 @@ function ff_\type\()_\codec\()_chroma_mc8_neon, export=1 endfunc .endm -/* chroma_mc4(uint8_t *dst, uint8_t *src, int stride, int h, int x, int y) */ +/* chroma_mc4(uint8_t *dst, uint8_t *src, ptrdiff_t stride, int h, int x, int y) */ .macro h264_chroma_mc4 type, codec=h264 function ff_\type\()_\codec\()_chroma_mc4_neon, export=1 - sxtw x2, w2 .ifc \type,avg mov x8, x0 .endif @@ -359,7 +357,6 @@ endfunc .macro h264_chroma_mc2 type function ff_\type\()_h264_chroma_mc2_neon, export=1 - sxtw x2, w2 prfm pldl1strm, [x1] prfm pldl1strm, [x1, x2] orr w7, w4, w5 diff --git a/libavcodec/aarch64/rv40dsp_init_aarch64.c b/libavcodec/aarch64/rv40dsp_init_aarch64.c index 0bb404f6d2..f7fcd5b493 100644 --- a/libavcodec/aarch64/rv40dsp_init_aarch64.c +++ b/libavcodec/aarch64/rv40dsp_init_aarch64.c @@ -25,15 +25,15 @@ #include "config.h" -void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); -void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); +void ff_put_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); +void ff_put_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); -void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); -void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); +void ff_avg_rv40_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); +void ff_avg_rv40_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); av_cold void ff_rv40dsp_init_aarch64(RV34DSPContext *c) { diff --git a/libavcodec/aarch64/vc1dsp_init_aarch64.c b/libavcodec/aarch64/vc1dsp_init_aarch64.c index 11cd81eb5c..ab97a97740 100644 --- a/libavcodec/aarch64/vc1dsp_init_aarch64.c +++ b/libavcodec/aarch64/vc1dsp_init_aarch64.c @@ -25,14 +25,14 @@ #include "config.h" -void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); -void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); -void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); -void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, int stride, int h, - int x, int y); +void ff_put_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); +void ff_avg_vc1_chroma_mc8_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); +void ff_put_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); +void ff_avg_vc1_chroma_mc4_neon(uint8_t *dst, uint8_t *src, ptrdiff_t stride, + int h, int x, int y); av_cold void ff_vc1dsp_init_aarch64(VC1DSPContext *dsp) { |