summaryrefslogtreecommitdiff
path: root/libavcodec/x86
diff options
context:
space:
mode:
authorDiego Biurrun <diego@biurrun.de>2016-08-23 23:23:45 +0200
committerDiego Biurrun <diego@biurrun.de>2016-08-26 11:36:26 +0200
commitd9d26a3674f31f482f54e936fcb382160830877a (patch)
tree027c2a1b7b9258c64f255b37a1ca00889388caf6 /libavcodec/x86
parent6892df9294d93322d43255ada299507465bc93c8 (diff)
vp56: Change type of stride parameters to ptrdiff_t
This avoids SIMD-optimized functions having to sign-extend their line size argument manually to be able to do pointer arithmetic.
Diffstat (limited to 'libavcodec/x86')
-rw-r--r--libavcodec/x86/vp6dsp.asm5
-rw-r--r--libavcodec/x86/vp6dsp_init.c4
2 files changed, 3 insertions, 6 deletions
diff --git a/libavcodec/x86/vp6dsp.asm b/libavcodec/x86/vp6dsp.asm
index 80f8ca5f38..b667d38aea 100644
--- a/libavcodec/x86/vp6dsp.asm
+++ b/libavcodec/x86/vp6dsp.asm
@@ -115,7 +115,7 @@ SECTION .text
%endmacro
%macro vp6_filter_diag4 0
-; void ff_vp6_filter_diag4_<opt>(uint8_t *dst, uint8_t *src, int stride,
+; void ff_vp6_filter_diag4_<opt>(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
; const int16_t h_weight[4], const int16_t v_weights[4])
cglobal vp6_filter_diag4, 5, 7, 8
mov r5, rsp ; backup stack pointer
@@ -126,9 +126,6 @@ cglobal vp6_filter_diag4, 5, 7, 8
sub rsp, 8*15
movq m6, [pw_64]
%endif
-%if ARCH_X86_64
- movsxd r2, r2d
-%endif
sub r1, r2
diff --git a/libavcodec/x86/vp6dsp_init.c b/libavcodec/x86/vp6dsp_init.c
index 9bf41783c2..472e03439e 100644
--- a/libavcodec/x86/vp6dsp_init.c
+++ b/libavcodec/x86/vp6dsp_init.c
@@ -25,9 +25,9 @@
#include "libavutil/x86/cpu.h"
#include "libavcodec/vp56dsp.h"
-void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, int stride,
+void ff_vp6_filter_diag4_mmx(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
const int16_t *h_weights,const int16_t *v_weights);
-void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, int stride,
+void ff_vp6_filter_diag4_sse2(uint8_t *dst, uint8_t *src, ptrdiff_t stride,
const int16_t *h_weights,const int16_t *v_weights);
av_cold void ff_vp6dsp_init_x86(VP56DSPContext* c, enum AVCodecID codec)