diff --git a/libavcodec/dsputil.h b/libavcodec/dsputil.h
index f95077f0f473ce17249703f19c8bdf6184ba6f47..d0ba95ceeb43d277d2863bd17a661d8a48a21bab 100644
--- a/libavcodec/dsputil.h
+++ b/libavcodec/dsputil.h
@@ -114,7 +114,7 @@ DEF_OLD_QPEL(qpel8_mc13_old_c)
 DEF_OLD_QPEL(qpel8_mc33_old_c)
 
 #define CALL_2X_PIXELS(a, b, n)\
-static void a(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
+static void a(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\
     b(block  , pixels  , line_size, h);\
     b(block+n, pixels+n, line_size, h);\
 }
diff --git a/libavcodec/dsputil_template.c b/libavcodec/dsputil_template.c
index f9cecd1cc1ff0cf648abfe770e8a1978791d19b1..5244e20b84d3118d0c4853a618ead65018855fd6 100644
--- a/libavcodec/dsputil_template.c
+++ b/libavcodec/dsputil_template.c
@@ -361,7 +361,7 @@ static inline void FUNCC(OPNAME ## _pixels4_xy2)(uint8_t *block, const uint8_t *
         }\
 }\
 \
-static inline void FUNCC(OPNAME ## _pixels8_xy2)(uint8_t *block, const uint8_t *pixels, int line_size, int h)\
+static inline void FUNCC(OPNAME ## _pixels8_xy2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h)\
 {\
     /* FIXME HIGH BIT DEPTH */\
     int j;\
diff --git a/libavcodec/hpel_template.c b/libavcodec/hpel_template.c
index e3d74c5ea208332ad27c960d7582d031c6bd1c38..0c1f756a0cb3c8355b2767fe9c0005cb79c1d8a7 100644
--- a/libavcodec/hpel_template.c
+++ b/libavcodec/hpel_template.c
@@ -20,7 +20,7 @@
  */
 
 #define DEF_HPEL(OPNAME, OP) \
-static inline void FUNCC(OPNAME ## _pixels2)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
+static inline void FUNCC(OPNAME ## _pixels2)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\
     int i;\
     for(i=0; i<h; i++){\
         OP(*((pixel2*)(block  )), AV_RN2P(pixels  ));\
@@ -28,7 +28,7 @@ static inline void FUNCC(OPNAME ## _pixels2)(uint8_t *block, const uint8_t *pixe
         block +=line_size;\
     }\
 }\
-static inline void FUNCC(OPNAME ## _pixels4)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
+static inline void FUNCC(OPNAME ## _pixels4)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\
     int i;\
     for(i=0; i<h; i++){\
         OP(*((pixel4*)(block  )), AV_RN4P(pixels  ));\
@@ -36,7 +36,7 @@ static inline void FUNCC(OPNAME ## _pixels4)(uint8_t *block, const uint8_t *pixe
         block +=line_size;\
     }\
 }\
-static inline void FUNCC(OPNAME ## _pixels8)(uint8_t *block, const uint8_t *pixels, int line_size, int h){\
+static inline void FUNCC(OPNAME ## _pixels8)(uint8_t *block, const uint8_t *pixels, ptrdiff_t line_size, int h){\
     int i;\
     for(i=0; i<h; i++){\
         OP(*((pixel4*)(block                )), AV_RN4P(pixels                ));\