[FFmpeg-cvslog] Merge commit '746c56b7730ce09397d3a8354acc131285e9d829'

Clément Bœsch git at videolan.org
Mon Mar 20 10:18:30 EET 2017


ffmpeg | branch: master | Clément Bœsch <u at pkh.me> | Mon Mar 20 09:07:57 2017 +0100| [bb3ad401fc658708acffc9fd1b12be6652516c00] | committer: Clément Bœsch

Merge commit '746c56b7730ce09397d3a8354acc131285e9d829'

* commit '746c56b7730ce09397d3a8354acc131285e9d829':
  indeo: Change type of array pitch parameters to ptrdiff_t

Merged-by: Clément Bœsch <u at pkh.me>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=bb3ad401fc658708acffc9fd1b12be6652516c00
---

 libavcodec/indeo3.c  | 14 ++++++-------
 libavcodec/ivi.c     |  8 ++++----
 libavcodec/ivi.h     |  6 +++---
 libavcodec/ivi_dsp.c | 52 +++++++++++++++++++++++------------------------
 libavcodec/ivi_dsp.h | 57 ++++++++++++++++++++++++++--------------------------
 5 files changed, 69 insertions(+), 68 deletions(-)

diff --git a/libavcodec/indeo3.c b/libavcodec/indeo3.c
index e161f83..71d478c 100644
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@ -66,7 +66,7 @@ typedef struct Plane {
     uint8_t         *pixels[2]; ///< pointer to the actual pixel data of the buffers above
     uint32_t        width;
     uint32_t        height;
-    uint32_t        pitch;
+    ptrdiff_t       pitch;
 } Plane;
 
 #define CELL_STACK_MAX  20
@@ -166,7 +166,8 @@ static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx,
                                           AVCodecContext *avctx, int luma_width, int luma_height)
 {
     int p, chroma_width, chroma_height;
-    int luma_pitch, chroma_pitch, luma_size, chroma_size;
+    int luma_size, chroma_size;
+    ptrdiff_t luma_pitch, chroma_pitch;
 
     if (luma_width  < 16 || luma_width  > 640 ||
         luma_height < 16 || luma_height > 480 ||
@@ -425,7 +426,7 @@ if (*data_ptr >= last_ptr) \
 
 static int decode_cell_data(Indeo3DecodeContext *ctx, Cell *cell,
                             uint8_t *block, uint8_t *ref_block,
-                            int pitch, int h_zoom, int v_zoom, int mode,
+                            ptrdiff_t row_offset, int h_zoom, int v_zoom, int mode,
                             const vqEntry *delta[2], int swap_quads[2],
                             const uint8_t **data_ptr, const uint8_t *last_ptr)
 {
@@ -436,9 +437,8 @@ static int decode_cell_data(Indeo3DecodeContext *ctx, Cell *cell,
     unsigned int  dyad1, dyad2;
     uint64_t      pix64;
     int           skip_flag = 0, is_top_of_cell, is_first_row = 1;
-    int           row_offset, blk_row_offset, line_offset;
+    int           blk_row_offset, line_offset;
 
-    row_offset     =  pitch;
     blk_row_offset = (row_offset << (2 + v_zoom)) - (cell->width << 2);
     line_offset    = v_zoom ? row_offset : 0;
 
@@ -1025,11 +1025,11 @@ static int decode_frame_headers(Indeo3DecodeContext *ctx, AVCodecContext *avctx,
  *  @param[in]  dst_height   output plane height
  */
 static void output_plane(const Plane *plane, int buf_sel, uint8_t *dst,
-                         int dst_pitch, int dst_height)
+                         ptrdiff_t dst_pitch, int dst_height)
 {
     int             x,y;
     const uint8_t   *src  = plane->pixels[buf_sel];
-    uint32_t        pitch = plane->pitch;
+    ptrdiff_t       pitch = plane->pitch;
 
     dst_height = FFMIN(dst_height, plane->height);
     for (y = 0; y < dst_height; y++) {
diff --git a/libavcodec/ivi.c b/libavcodec/ivi.c
index ad48abb..c02addf 100644
--- a/libavcodec/ivi.c
+++ b/libavcodec/ivi.c
@@ -74,10 +74,10 @@ static VLC ivi_mb_vlc_tabs [8]; ///< static macroblock Huffman tables
 static VLC ivi_blk_vlc_tabs[8]; ///< static block Huffman tables
 
 typedef void (*ivi_mc_func) (int16_t *buf, const int16_t *ref_buf,
-                             uint32_t pitch, int mc_type);
+                             ptrdiff_t pitch, int mc_type);
 typedef void (*ivi_mc_avg_func) (int16_t *buf, const int16_t *ref_buf1,
                                  const int16_t *ref_buf2,
-                                 uint32_t pitch, int mc_type, int mc_type2);
+                                 ptrdiff_t pitch, int mc_type, int mc_type2);
 
 static int ivi_mc(IVIBandDesc *band, ivi_mc_func mc, ivi_mc_avg_func mc_avg,
                   int offs, int mv_x, int mv_y, int mv_x2, int mv_y2,
@@ -903,11 +903,11 @@ static uint16_t ivi_calc_band_checksum(IVIBandDesc *band)
  *  @param[out]  dst        pointer to the buffer receiving converted pixels
  *  @param[in]   dst_pitch  pitch for moving to the next y line
  */
-static void ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, int dst_pitch)
+static void ivi_output_plane(IVIPlaneDesc *plane, uint8_t *dst, ptrdiff_t dst_pitch)
 {
     int             x, y;
     const int16_t   *src  = plane->bands[0].buf;
-    uint32_t        pitch = plane->bands[0].pitch;
+    ptrdiff_t       pitch = plane->bands[0].pitch;
 
     if (!src)
         return;
diff --git a/libavcodec/ivi.h b/libavcodec/ivi.h
index 3571808..79b97d5 100644
--- a/libavcodec/ivi.h
+++ b/libavcodec/ivi.h
@@ -87,8 +87,8 @@ extern const uint8_t ff_ivi_direct_scan_4x4[16];
 /**
  *  Declare inverse transform function types
  */
-typedef void (InvTransformPtr)(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags);
-typedef void (DCTransformPtr) (const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+typedef void (InvTransformPtr)(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags);
+typedef void (DCTransformPtr) (const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size);
 
 
 /**
@@ -153,7 +153,7 @@ typedef struct IVIBandDesc {
     int16_t         *ref_buf;       ///< pointer to the reference frame buffer (for motion compensation)
     int16_t         *b_ref_buf;     ///< pointer to the second reference frame buffer (for motion compensation)
     int16_t         *bufs[4];       ///< array of pointers to the band buffers
-    int             pitch;          ///< pitch associated with the buffers above
+    ptrdiff_t       pitch;          ///< pitch associated with the buffers above
     int             is_empty;       ///< = 1 if this band doesn't contain any data
     int             mb_size;        ///< macroblock size
     int             blk_size;       ///< block size
diff --git a/libavcodec/ivi_dsp.c b/libavcodec/ivi_dsp.c
index 5211269..b1c4b45 100644
--- a/libavcodec/ivi_dsp.c
+++ b/libavcodec/ivi_dsp.c
@@ -31,13 +31,13 @@
 #include "ivi_dsp.h"
 
 void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst,
-                        const int dst_pitch)
+                        const ptrdiff_t dst_pitch)
 {
     int             x, y, indx;
     int32_t         p0, p1, p2, p3, tmp0, tmp1, tmp2;
     int32_t         b0_1, b0_2, b1_1, b1_2, b1_3, b2_1, b2_2, b2_3, b2_4, b2_5, b2_6;
     int32_t         b3_1, b3_2, b3_3, b3_4, b3_5, b3_6, b3_7, b3_8, b3_9;
-    int32_t         pitch, back_pitch;
+    ptrdiff_t       pitch, back_pitch;
     const short     *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
     const int       num_bands = 4;
 
@@ -188,11 +188,11 @@ void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst,
 }
 
 void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst,
-                           const int dst_pitch)
+                           const ptrdiff_t dst_pitch)
 {
     int             x, y, indx, b0, b1, b2, b3, p0, p1, p2, p3;
     const short     *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
-    int32_t         pitch;
+    ptrdiff_t       pitch;
 
     /* all bands should have the same pitch */
     pitch = plane->bands[0].pitch;
@@ -267,7 +267,7 @@ void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst,
     d3 = COMPENSATE(t2);\
     d4 = COMPENSATE(t3); }
 
-void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                              const uint8_t *flags)
 {
     int     i, shift, sp1, sp2, sp3, sp4;
@@ -322,7 +322,7 @@ void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_row_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_haar8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags)
 {
     int     i;
@@ -347,7 +347,7 @@ void ff_ivi_row_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_col_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_haar8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags)
 {
     int     i;
@@ -376,7 +376,7 @@ void ff_ivi_col_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                              const uint8_t *flags)
 {
     int     i, shift, sp1, sp2;
@@ -423,7 +423,7 @@ void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_row_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_haar4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags)
 {
     int     i;
@@ -445,7 +445,7 @@ void ff_ivi_row_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_col_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_haar4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags)
 {
     int     i;
@@ -469,7 +469,7 @@ void ff_ivi_col_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
 #undef  COMPENSATE
 }
 
-void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        int blk_size)
 {
     int     x, y;
@@ -533,7 +533,7 @@ void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, uint32_t pitch,
     d3 = COMPENSATE(t3);\
     d4 = COMPENSATE(t4);}
 
-void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i;
     const int32_t *src;
@@ -573,7 +573,7 @@ void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch, c
 #undef COMPENSATE
 }
 
-void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i;
     const int32_t *src;
@@ -613,7 +613,7 @@ void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch, c
 #undef COMPENSATE
 }
 
-void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size)
+void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size)
 {
     int     x, y;
     int16_t dc_coeff;
@@ -626,7 +626,7 @@ void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, uint32_t pitch, int blk
     }
 }
 
-void ff_ivi_row_slant8(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_row_slant8(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i;
     int     t0, t1, t2, t3, t4, t5, t6, t7, t8;
@@ -646,7 +646,7 @@ void ff_ivi_row_slant8(const int32_t *in, int16_t *out, uint32_t pitch, const ui
 #undef COMPENSATE
 }
 
-void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size)
+void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size)
 {
     int     x, y;
     int16_t dc_coeff;
@@ -664,7 +664,7 @@ void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, uint32_t pitch, int bl
     }
 }
 
-void ff_ivi_col_slant8(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_col_slant8(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i, row2, row4, row8;
     int     t0, t1, t2, t3, t4, t5, t6, t7, t8;
@@ -691,7 +691,7 @@ void ff_ivi_col_slant8(const int32_t *in, int16_t *out, uint32_t pitch, const ui
 #undef COMPENSATE
 }
 
-void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size)
+void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size)
 {
     int     x, y;
     int16_t dc_coeff;
@@ -705,7 +705,7 @@ void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, uint32_t pitch, int bl
     }
 }
 
-void ff_ivi_row_slant4(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_row_slant4(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i;
     int     t0, t1, t2, t3, t4;
@@ -725,7 +725,7 @@ void ff_ivi_row_slant4(const int32_t *in, int16_t *out, uint32_t pitch, const ui
 #undef COMPENSATE
 }
 
-void ff_ivi_col_slant4(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags)
+void ff_ivi_col_slant4(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags)
 {
     int     i, row2;
     int     t0, t1, t2, t3, t4;
@@ -748,7 +748,7 @@ void ff_ivi_col_slant4(const int32_t *in, int16_t *out, uint32_t pitch, const ui
 #undef COMPENSATE
 }
 
-void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                            const uint8_t *flags)
 {
     int     x, y;
@@ -758,7 +758,7 @@ void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
             out[x] = in[x];
 }
 
-void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                              int blk_size)
 {
     int     y;
@@ -773,9 +773,9 @@ void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
 
 #define IVI_MC_TEMPLATE(size, suffix, OP) \
 static void ivi_mc_ ## size ##x## size ## suffix(int16_t *buf, \
-                                                 uint32_t dpitch, \
+                                                 ptrdiff_t dpitch, \
                                                  const int16_t *ref_buf, \
-                                                 uint32_t pitch, int mc_type) \
+                                                 ptrdiff_t pitch, int mc_type) \
 { \
     int     i, j; \
     const int16_t *wptr; \
@@ -809,7 +809,7 @@ static void ivi_mc_ ## size ##x## size ## suffix(int16_t *buf, \
 } \
 \
 void ff_ivi_mc_ ## size ##x## size ## suffix(int16_t *buf, const int16_t *ref_buf, \
-                                             uint32_t pitch, int mc_type) \
+                                             ptrdiff_t pitch, int mc_type) \
 { \
     ivi_mc_ ## size ##x## size ## suffix(buf, pitch, ref_buf, pitch, mc_type); \
 } \
@@ -818,7 +818,7 @@ void ff_ivi_mc_ ## size ##x## size ## suffix(int16_t *buf, const int16_t *ref_bu
 void ff_ivi_mc_avg_ ## size ##x## size ## suffix(int16_t *buf, \
                                                  const int16_t *ref_buf, \
                                                  const int16_t *ref_buf2, \
-                                                 uint32_t pitch, \
+                                                 ptrdiff_t pitch, \
                                                  int mc_type, int mc_type2) \
 { \
     int16_t tmp[size * size]; \
diff --git a/libavcodec/ivi_dsp.h b/libavcodec/ivi_dsp.h
index c38bb3b..2704d2b 100644
--- a/libavcodec/ivi_dsp.h
+++ b/libavcodec/ivi_dsp.h
@@ -29,6 +29,7 @@
 #ifndef AVCODEC_IVI_DSP_H
 #define AVCODEC_IVI_DSP_H
 
+#include <stddef.h>
 #include <stdint.h>
 
 #include "ivi.h"
@@ -41,7 +42,7 @@
  *  @param[in]   dst_pitch    pitch of the destination buffer
  */
 void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst,
-                        const int dst_pitch);
+                        const ptrdiff_t dst_pitch);
 
 /**
  *  Haar wavelet recomposition filter for Indeo 4
@@ -51,7 +52,7 @@ void ff_ivi_recompose53(const IVIPlaneDesc *plane, uint8_t *dst,
  *  @param[in]  dst_pitch    pitch of the destination buffer
  */
 void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst,
-                           const int dst_pitch);
+                           const ptrdiff_t dst_pitch);
 
 /**
  *  two-dimensional inverse Haar 8x8 transform for Indeo 4
@@ -63,7 +64,7 @@ void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                              const uint8_t *flags);
 void ff_ivi_inverse_haar_8x1(const int32_t *in, int16_t *out, uint32_t pitch,
                              const uint8_t *flags);
@@ -80,7 +81,7 @@ void ff_ivi_inverse_haar_1x8(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_row_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_haar8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags);
 
 /**
@@ -93,7 +94,7 @@ void ff_ivi_row_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_col_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_haar8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags);
 
 /**
@@ -106,7 +107,7 @@ void ff_ivi_col_haar8(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                              const uint8_t *flags);
 
 /**
@@ -119,7 +120,7 @@ void ff_ivi_inverse_haar_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_row_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_haar4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags);
 
 /**
@@ -132,7 +133,7 @@ void ff_ivi_row_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_col_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_haar4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                       const uint8_t *flags);
 
 /**
@@ -145,7 +146,7 @@ void ff_ivi_col_haar4(const int32_t *in, int16_t *out, uint32_t pitch,
  *  @param[in]  pitch       pitch to move to the next y line
  *  @param[in]  blk_size    transform block size
  */
-void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        int blk_size);
 
 /**
@@ -158,7 +159,7 @@ void ff_ivi_dc_haar_2d(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                               const uint8_t *flags);
 
 /**
@@ -171,7 +172,7 @@ void ff_ivi_inverse_slant_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                               const uint8_t *flags);
 
 /**
@@ -185,7 +186,7 @@ void ff_ivi_inverse_slant_4x4(const int32_t *in, int16_t *out, uint32_t pitch,
  *  @param[in]    pitch       pitch to move to the next y line
  *  @param[in]    blk_size    transform block size
  */
-void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size);
 
 /**
  *  inverse 1D row slant transform
@@ -195,7 +196,7 @@ void ff_ivi_dc_slant_2d(const int32_t *in, int16_t *out, uint32_t pitch, int blk
  *  @param[in]    pitch   pitch to move to the next y line
  *  @param[in]    flags   pointer to the array of column flags (unused here)
  */
-void ff_ivi_row_slant8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_slant8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        const uint8_t *flags);
 
 /**
@@ -208,7 +209,7 @@ void ff_ivi_row_slant8(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_col_slant8(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_slant8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        const uint8_t *flags);
 
 /**
@@ -219,7 +220,7 @@ void ff_ivi_col_slant8(const int32_t *in, int16_t *out, uint32_t pitch,
  *  @param[in]    pitch   pitch to move to the next y line
  *  @param[in]    flags   pointer to the array of column flags (unused here)
  */
-void ff_ivi_row_slant4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_row_slant4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        const uint8_t *flags);
 
 /**
@@ -232,29 +233,29 @@ void ff_ivi_row_slant4(const int32_t *in, int16_t *out, uint32_t pitch,
  *                        != 0 - non_empty column, 0 - empty one
  *                        (this array must be filled by caller)
  */
-void ff_ivi_col_slant4(const int32_t *in, int16_t *out, uint32_t pitch,
+void ff_ivi_col_slant4(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                        const uint8_t *flags);
 
 /**
  *  DC-only inverse row slant transform
  */
-void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+void ff_ivi_dc_row_slant(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size);
 
 /**
  *  DC-only inverse column slant transform
  */
-void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+void ff_ivi_dc_col_slant(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size);
 
 /**
  *  Copy the pixels into the frame buffer.
  */
-void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, uint32_t pitch, const uint8_t *flags);
+void ff_ivi_put_pixels_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch, const uint8_t *flags);
 
 /**
  *  Copy the DC coefficient into the first pixel of the block and
  *  zero all others.
  */
-void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, uint32_t pitch, int blk_size);
+void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch, int blk_size);
 
 /**
  *  8x8 block motion compensation with adding delta
@@ -264,7 +265,7 @@ void ff_ivi_put_dc_pixel_8x8(const int32_t *in, int16_t *out, uint32_t pitch, in
  *  @param[in]       pitch    pitch for moving to the next y line
  *  @param[in]       mc_type  interpolation type
  */
-void ff_ivi_mc_8x8_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
+void ff_ivi_mc_8x8_delta(int16_t *buf, const int16_t *ref_buf, ptrdiff_t pitch, int mc_type);
 
 /**
  *  4x4 block motion compensation with adding delta
@@ -274,7 +275,7 @@ void ff_ivi_mc_8x8_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, i
  *  @param[in]       pitch    pitch for moving to the next y line
  *  @param[in]       mc_type  interpolation type
  */
-void ff_ivi_mc_4x4_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
+void ff_ivi_mc_4x4_delta(int16_t *buf, const int16_t *ref_buf, ptrdiff_t pitch, int mc_type);
 
 /**
  *  motion compensation without adding delta
@@ -284,7 +285,7 @@ void ff_ivi_mc_4x4_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, i
  *  @param[in]      pitch    pitch for moving to the next y line
  *  @param[in]      mc_type  interpolation type
  */
-void ff_ivi_mc_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
+void ff_ivi_mc_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, ptrdiff_t pitch, int mc_type);
 
 /**
  *  4x4 block motion compensation without adding delta
@@ -294,7 +295,7 @@ void ff_ivi_mc_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch
  *  @param[in]      pitch    pitch for moving to the next y line
  *  @param[in]      mc_type  interpolation type
  */
-void ff_ivi_mc_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch, int mc_type);
+void ff_ivi_mc_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, ptrdiff_t pitch, int mc_type);
 
 /**
  *  8x8 block motion compensation with adding delta
@@ -306,7 +307,7 @@ void ff_ivi_mc_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, uint32_t pitch
  *  @param[in]      mc_type  interpolation type for backward reference
  *  @param[in]      mc_type2 interpolation type for forward reference
  */
-void ff_ivi_mc_avg_8x8_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, uint32_t pitch, int mc_type, int mc_type2);
+void ff_ivi_mc_avg_8x8_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, ptrdiff_t pitch, int mc_type, int mc_type2);
 
 /**
  *  4x4 block motion compensation with adding delta
@@ -318,7 +319,7 @@ void ff_ivi_mc_avg_8x8_delta(int16_t *buf, const int16_t *ref_buf, const int16_t
  *  @param[in]      mc_type  interpolation type for backward reference
  *  @param[in]      mc_type2 interpolation type for forward reference
  */
-void ff_ivi_mc_avg_4x4_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, uint32_t pitch, int mc_type, int mc_type2);
+void ff_ivi_mc_avg_4x4_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, ptrdiff_t pitch, int mc_type, int mc_type2);
 
 /**
  *  motion compensation without adding delta for B-frames
@@ -330,7 +331,7 @@ void ff_ivi_mc_avg_4x4_delta(int16_t *buf, const int16_t *ref_buf, const int16_t
  *  @param[in]      mc_type  interpolation type for backward reference
  *  @param[in]      mc_type2 interpolation type for forward reference
  */
-void ff_ivi_mc_avg_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, uint32_t pitch, int mc_type, int mc_type2);
+void ff_ivi_mc_avg_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, ptrdiff_t pitch, int mc_type, int mc_type2);
 
 /**
  *  4x4 block motion compensation without adding delta for B-frames
@@ -342,6 +343,6 @@ void ff_ivi_mc_avg_8x8_no_delta(int16_t *buf, const int16_t *ref_buf, const int1
  *  @param[in]      mc_type  interpolation type for backward reference
  *  @param[in]      mc_type2 interpolation type for forward reference
  */
-void ff_ivi_mc_avg_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, uint32_t pitch, int mc_type, int mc_type2);
+void ff_ivi_mc_avg_4x4_no_delta(int16_t *buf, const int16_t *ref_buf, const int16_t *ref_buf2, ptrdiff_t pitch, int mc_type, int mc_type2);
 
 #endif /* AVCODEC_IVI_DSP_H */


======================================================================

diff --cc libavcodec/indeo3.c
index e161f83,89c11e6..71d478c
--- a/libavcodec/indeo3.c
+++ b/libavcodec/indeo3.c
@@@ -148,26 -147,16 +148,27 @@@ static av_cold void build_requant_tab(v
  }
  
  
 +static av_cold void free_frame_buffers(Indeo3DecodeContext *ctx)
 +{
 +    int p;
 +
 +    ctx->width = ctx->height = 0;
 +
 +    for (p = 0; p < 3; p++) {
 +        av_freep(&ctx->planes[p].buffers[0]);
 +        av_freep(&ctx->planes[p].buffers[1]);
 +        ctx->planes[p].pixels[0] = ctx->planes[p].pixels[1] = 0;
 +    }
 +}
 +
 +
  static av_cold int allocate_frame_buffers(Indeo3DecodeContext *ctx,
 -                                          AVCodecContext *avctx)
 +                                          AVCodecContext *avctx, int luma_width, int luma_height)
  {
 -    int p, luma_width, luma_height, chroma_width, chroma_height;
 +    int p, chroma_width, chroma_height;
-     int luma_pitch, chroma_pitch, luma_size, chroma_size;
+     int luma_size, chroma_size;
+     ptrdiff_t luma_pitch, chroma_pitch;
  
 -    luma_width  = ctx->width;
 -    luma_height = ctx->height;
 -
      if (luma_width  < 16 || luma_width  > 640 ||
          luma_height < 16 || luma_height > 480 ||
          luma_width  &  3 || luma_height &   3) {
diff --cc libavcodec/ivi_dsp.c
index 5211269,b8a476d..b1c4b45
--- a/libavcodec/ivi_dsp.c
+++ b/libavcodec/ivi_dsp.c
@@@ -37,8 -37,8 +37,8 @@@ void ff_ivi_recompose53(const IVIPlaneD
      int32_t         p0, p1, p2, p3, tmp0, tmp1, tmp2;
      int32_t         b0_1, b0_2, b1_1, b1_2, b1_3, b2_1, b2_2, b2_3, b2_4, b2_5, b2_6;
      int32_t         b3_1, b3_2, b3_3, b3_4, b3_5, b3_6, b3_7, b3_8, b3_9;
-     int32_t         pitch, back_pitch;
+     ptrdiff_t       pitch, back_pitch;
 -    const short    *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
 +    const short     *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
      const int       num_bands = 4;
  
      /* all bands should have the same pitch */
@@@ -188,11 -178,11 +188,11 @@@
  }
  
  void ff_ivi_recompose_haar(const IVIPlaneDesc *plane, uint8_t *dst,
-                            const int dst_pitch)
+                            const ptrdiff_t dst_pitch)
  {
      int             x, y, indx, b0, b1, b2, b3, p0, p1, p2, p3;
 -    const short    *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
 +    const short     *b0_ptr, *b1_ptr, *b2_ptr, *b3_ptr;
-     int32_t         pitch;
+     ptrdiff_t       pitch;
  
      /* all bands should have the same pitch */
      pitch = plane->bands[0].pitch;
diff --cc libavcodec/ivi_dsp.h
index c38bb3b,d9d3d17..2704d2b
--- a/libavcodec/ivi_dsp.h
+++ b/libavcodec/ivi_dsp.h
@@@ -63,12 -64,8 +64,12 @@@ void ff_ivi_recompose_haar(const IVIPla
   *                        != 0 - non_empty column, 0 - empty one
   *                        (this array must be filled by caller)
   */
- void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, uint32_t pitch,
+ void ff_ivi_inverse_haar_8x8(const int32_t *in, int16_t *out, ptrdiff_t pitch,
                               const uint8_t *flags);
 +void ff_ivi_inverse_haar_8x1(const int32_t *in, int16_t *out, uint32_t pitch,
 +                             const uint8_t *flags);
 +void ff_ivi_inverse_haar_1x8(const int32_t *in, int16_t *out, uint32_t pitch,
 +                             const uint8_t *flags);
  
  /**
   *  one-dimensional inverse 8-point Haar transform on rows for Indeo 4



More information about the ffmpeg-cvslog mailing list