OSDN Git Service

avfilter/vf_pullup: use ptrdiff_t as stride argument for dsp functions
authorMichael Niedermayer <michaelni@gmx.at>
Wed, 25 Jun 2014 15:49:03 +0000 (17:49 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Wed, 25 Jun 2014 16:26:22 +0000 (18:26 +0200)
This should avoid issues on x86_64

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 6dffc8f5aaab6b20385f0a0d9ef95cec7d6cdd4b)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavfilter/vf_pullup.c
libavfilter/vf_pullup.h
libavfilter/x86/vf_pullup_init.c

index 80f448b..7c65852 100644 (file)
@@ -69,7 +69,7 @@ static int query_formats(AVFilterContext *ctx)
 
 #define ABS(a) (((a) ^ ((a) >> 31)) - ((a) >> 31))
 
-static int diff_c(const uint8_t *a, const uint8_t *b, int s)
+static int diff_c(const uint8_t *a, const uint8_t *b, ptrdiff_t s)
 {
     int i, j, diff = 0;
 
@@ -83,7 +83,7 @@ static int diff_c(const uint8_t *a, const uint8_t *b, int s)
     return diff;
 }
 
-static int comb_c(const uint8_t *a, const uint8_t *b, int s)
+static int comb_c(const uint8_t *a, const uint8_t *b, ptrdiff_t s)
 {
     int i, j, comb = 0;
 
@@ -98,7 +98,7 @@ static int comb_c(const uint8_t *a, const uint8_t *b, int s)
     return comb;
 }
 
-static int var_c(const uint8_t *a, const uint8_t *b, int s)
+static int var_c(const uint8_t *a, const uint8_t *b, ptrdiff_t s)
 {
     int i, j, var = 0;
 
@@ -510,7 +510,7 @@ static void pullup_release_frame(PullupFrame *f)
 
 static void compute_metric(PullupContext *s, int *dest,
                            PullupField *fa, int pa, PullupField *fb, int pb,
-                           int (*func)(const uint8_t *, const uint8_t *, int))
+                           int (*func)(const uint8_t *, const uint8_t *, ptrdiff_t))
 {
     int mp = s->metric_plane;
     int xstep = 8;
index 3213b4d..8f59335 100644 (file)
@@ -61,9 +61,9 @@ typedef struct PullupContext {
     PullupBuffer buffers[10];
     PullupFrame frame;
 
-    int (*diff)(const uint8_t *a, const uint8_t *b, int s);
-    int (*comb)(const uint8_t *a, const uint8_t *b, int s);
-    int (*var )(const uint8_t *a, const uint8_t *b, int s);
+    int (*diff)(const uint8_t *a, const uint8_t *b, ptrdiff_t s);
+    int (*comb)(const uint8_t *a, const uint8_t *b, ptrdiff_t s);
+    int (*var )(const uint8_t *a, const uint8_t *b, ptrdiff_t s);
 } PullupContext;
 
 void ff_pullup_init_x86(PullupContext *s);
index 9948abf..5b36b68 100644 (file)
@@ -23,9 +23,9 @@
 #include "libavutil/x86/cpu.h"
 #include "libavfilter/vf_pullup.h"
 
-int ff_pullup_filter_diff_mmx(const uint8_t *a, const uint8_t *b, int s);
-int ff_pullup_filter_comb_mmx(const uint8_t *a, const uint8_t *b, int s);
-int ff_pullup_filter_var_mmx (const uint8_t *a, const uint8_t *b, int s);
+int ff_pullup_filter_diff_mmx(const uint8_t *a, const uint8_t *b, ptrdiff_t s);
+int ff_pullup_filter_comb_mmx(const uint8_t *a, const uint8_t *b, ptrdiff_t s);
+int ff_pullup_filter_var_mmx (const uint8_t *a, const uint8_t *b, ptrdiff_t s);
 
 av_cold void ff_pullup_init_x86(PullupContext *s)
 {