diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index cd7f6923fb..546124cdf2 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -426,7 +426,7 @@ static void copy_luma(AVFrame *dst, AVFrame *src, int width, int height) } static void fade(uint8_t *dst, uint8_t *src, - int width, int height, int linesize, + int width, int height, ptrdiff_t linesize, int alpha, int beta) { int i, j; @@ -1427,7 +1427,7 @@ void decode_mb_coeffs(VP8Context *s, VP8ThreadData *td, VP56RangeCoder *c, static av_always_inline void backup_mb_border(uint8_t *top_border, uint8_t *src_y, uint8_t *src_cb, uint8_t *src_cr, - int linesize, int uvlinesize, int simple) + ptrdiff_t linesize, ptrdiff_t uvlinesize, int simple) { AV_COPY128(top_border, src_y + 15 * linesize); if (!simple) { @@ -1438,7 +1438,7 @@ void backup_mb_border(uint8_t *top_border, uint8_t *src_y, static av_always_inline void xchg_mb_border(uint8_t *top_border, uint8_t *src_y, uint8_t *src_cb, - uint8_t *src_cr, int linesize, int uvlinesize, int mb_x, + uint8_t *src_cr, ptrdiff_t linesize, ptrdiff_t uvlinesize, int mb_x, int mb_y, int mb_width, int simple, int xchg) { uint8_t *top_border_m1 = top_border - 32; // for TL prediction @@ -1591,7 +1591,8 @@ void intra_predict(VP8Context *s, VP8ThreadData *td, uint8_t *dst[3], for (y = 0; y < 4; y++) { uint8_t *topright = ptr + 4 - s->linesize; for (x = 0; x < 4; x++) { - int copy = 0, linesize = s->linesize; + int copy = 0; + ptrdiff_t linesize = s->linesize; uint8_t *dst = ptr + 4 * x; DECLARE_ALIGNED(4, uint8_t, copy_dst)[5 * 8]; @@ -1697,7 +1698,7 @@ void vp8_mc_luma(VP8Context *s, VP8ThreadData *td, uint8_t *dst, uint8_t *src = ref->f->data[0]; if (AV_RN32A(mv)) { - int src_linesize = linesize; + ptrdiff_t src_linesize = linesize; int mx = (mv->x << 1) & 7, mx_idx = subpel_idx[0][mx]; int my = (mv->y << 1) & 7, my_idx = subpel_idx[0][my]; @@ -2041,8 +2042,8 @@ void filter_mb(VP8Context *s, uint8_t *dst[3], VP8FilterStrength *f, int filter_level = f->filter_level; int inner_limit = f->inner_limit; int inner_filter = f->inner_filter; - int linesize = s->linesize; - int uvlinesize = s->uvlinesize; + ptrdiff_t linesize = s->linesize; + ptrdiff_t uvlinesize = s->uvlinesize; static const uint8_t hev_thresh_lut[2][64] = { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, @@ -2128,7 +2129,7 @@ void filter_mb_simple(VP8Context *s, uint8_t *dst, VP8FilterStrength *f, int filter_level = f->filter_level; int inner_limit = f->inner_limit; int inner_filter = f->inner_filter; - int linesize = s->linesize; + ptrdiff_t linesize = s->linesize; if (!filter_level) return; diff --git a/libavcodec/vp8.h b/libavcodec/vp8.h index ba5e62a045..65948e1d6b 100644 --- a/libavcodec/vp8.h +++ b/libavcodec/vp8.h @@ -143,8 +143,8 @@ typedef struct VP8Context { uint16_t mb_width; /* number of horizontal MB */ uint16_t mb_height; /* number of vertical MB */ - int linesize; - int uvlinesize; + ptrdiff_t linesize; + ptrdiff_t uvlinesize; uint8_t keyframe; uint8_t deblock_filter; diff --git a/tests/checkasm/vp8dsp.c b/tests/checkasm/vp8dsp.c index 0260d631ba..40e4061228 100644 --- a/tests/checkasm/vp8dsp.c +++ b/tests/checkasm/vp8dsp.c @@ -171,7 +171,7 @@ static void check_idct_dc4(void) for (chroma = 0; chroma <= 1; chroma++) { void (*idct4dc)(uint8_t *, int16_t[4][16], ptrdiff_t) = chroma ? d.vp8_idct_dc_add4uv : d.vp8_idct_dc_add4y; if (check_func(idct4dc, "vp8_idct_dc_add4%s", chroma ? "uv" : "y")) { - int stride = chroma ? 8 : 16; + ptrdiff_t stride = chroma ? 8 : 16; int w = chroma ? 2 : 4; for (i = 0; i < 4; i++) { int blockx = 4 * (i % w); @@ -365,7 +365,7 @@ static void randomize_loopfilter_buffers(int lineoff, int str, } // Fill the buffer with random pixels -static void fill_loopfilter_buffers(uint8_t *buf, int stride, int w, int h) +static void fill_loopfilter_buffers(uint8_t *buf, ptrdiff_t stride, int w, int h) { int x, y; for (y = 0; y < h; y++)