Skip to content

Commit 6aafe61

Browse files
committed
avcodec/mpegvideoencdsp: convert stride parameters from int to ptrdiff_t
1 parent 7753a9d commit 6aafe61

12 files changed

+53
-49
lines changed

libavcodec/aarch64/mpegvideoencdsp_init.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@
2424
#include "libavcodec/mpegvideoencdsp.h"
2525
#include "config.h"
2626

27-
int ff_pix_sum16_neon(const uint8_t *pix, int line_size);
28-
int ff_pix_norm1_neon(const uint8_t *pix, int line_size);
27+
int ff_pix_sum16_neon(const uint8_t *pix, ptrdiff_t line_size);
28+
int ff_pix_norm1_neon(const uint8_t *pix, ptrdiff_t line_size);
2929

3030
#if HAVE_DOTPROD
31-
int ff_pix_norm1_neon_dotprod(const uint8_t *pix, int line_size);
31+
int ff_pix_norm1_neon_dotprod(const uint8_t *pix, ptrdiff_t line_size);
3232
#endif
3333

3434
av_cold void ff_mpegvideoencdsp_init_aarch64(MpegvideoEncDSPContext *c,

libavcodec/aarch64/mpegvideoencdsp_neon.S

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,8 @@
2222

2323
function ff_pix_sum16_neon, export=1
2424
// x0 const uint8_t *pix
25-
// x1 int line_size
25+
// x1 ptrdiff_t line_size
2626

27-
sxtw x1, w1
2827
add x2, x0, x1
2928
lsl x1, x1, #1
3029
movi v0.16b, #0
@@ -46,9 +45,8 @@ endfunc
4645

4746
function ff_pix_norm1_neon, export=1
4847
// x0 const uint8_t *pix
49-
// x1 int line_size
48+
// x1 ptrdiff_t line_size
5049

51-
sxtw x1, w1
5250
movi v0.16b, #0
5351
mov w2, #16
5452

@@ -72,9 +70,8 @@ ENABLE_DOTPROD
7270

7371
function ff_pix_norm1_neon_dotprod, export=1
7472
// x0 const uint8_t *pix
75-
// x1 int line_size
73+
// x1 ptrdiff_t line_size
7674

77-
sxtw x1, w1
7875
movi v0.16b, #0
7976
mov w2, #16
8077

libavcodec/arm/mpegvideoencdsp_init_arm.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424
#include "libavcodec/avcodec.h"
2525
#include "libavcodec/mpegvideoencdsp.h"
2626

27-
int ff_pix_norm1_armv6(const uint8_t *pix, int line_size);
28-
int ff_pix_sum_armv6(const uint8_t *pix, int line_size);
27+
int ff_pix_norm1_armv6(const uint8_t *pix, ptrdiff_t line_size);
28+
int ff_pix_sum_armv6(const uint8_t *pix, ptrdiff_t line_size);
2929

3030
av_cold void ff_mpegvideoencdsp_init_arm(MpegvideoEncDSPContext *c,
3131
AVCodecContext *avctx)

libavcodec/mips/h263dsp_mips.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ void ff_dct_unquantize_h263_inter_msa(MpegEncContext *s, int16_t *block,
3131
int32_t index, int32_t q_scale);
3232
void ff_dct_unquantize_h263_intra_msa(MpegEncContext *s, int16_t *block,
3333
int32_t index, int32_t q_scale);
34-
int ff_pix_sum_msa(const uint8_t *pix, int line_size);
34+
int ff_pix_sum_msa(const uint8_t *pix, ptrdiff_t line_size);
3535

3636
#endif // #ifndef AVCODEC_MIPS_H263DSP_MIPS_H

libavcodec/mips/mpegvideoencdsp_msa.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static int32_t sum_u8src_16width_msa(const uint8_t *src, int32_t stride)
5656
return sum;
5757
}
5858

59-
int ff_pix_sum_msa(const uint8_t *pix, int line_size)
59+
int ff_pix_sum_msa(const uint8_t *pix, ptrdiff_t line_size)
6060
{
6161
return sum_u8src_16width_msa(pix, line_size);
6262
}

libavcodec/mpegvideoencdsp.c

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ static void add_8x8basis_c(int16_t rem[64], const int16_t basis[64], int scale)
5757
(BASIS_SHIFT - RECON_SHIFT);
5858
}
5959

60-
static int pix_sum_c(const uint8_t *pix, int line_size)
60+
static int pix_sum_c(const uint8_t *pix, ptrdiff_t line_size)
6161
{
6262
int s = 0, i, j;
6363

@@ -78,7 +78,7 @@ static int pix_sum_c(const uint8_t *pix, int line_size)
7878
return s;
7979
}
8080

81-
static int pix_norm1_c(const uint8_t *pix, int line_size)
81+
static int pix_norm1_c(const uint8_t *pix, ptrdiff_t line_size)
8282
{
8383
int s = 0, i, j;
8484
const uint32_t *sq = ff_square_tab + 256;
@@ -114,7 +114,7 @@ static int pix_norm1_c(const uint8_t *pix, int line_size)
114114
return s;
115115
}
116116

117-
static av_always_inline void draw_edges_lr(uint8_t *ptr, int wrap, int width, int height, int w)
117+
static av_always_inline void draw_edges_lr(uint8_t *ptr, ptrdiff_t wrap, int width, int height, int w)
118118
{
119119
for (int i = 0; i < height; i++) {
120120
memset(ptr - w, ptr[0], w);
@@ -125,7 +125,7 @@ static av_always_inline void draw_edges_lr(uint8_t *ptr, int wrap, int width, in
125125

126126
/* draw the edges of width 'w' of an image of size width, height */
127127
// FIXME: Check that this is OK for MPEG-4 interlaced.
128-
static void draw_edges_8_c(uint8_t *buf, int wrap, int width, int height,
128+
static void draw_edges_8_c(uint8_t *buf, ptrdiff_t wrap, int width, int height,
129129
int w, int h, int sides)
130130
{
131131
uint8_t *last_line;
@@ -154,9 +154,18 @@ static void draw_edges_8_c(uint8_t *buf, int wrap, int width, int height,
154154
memcpy(last_line + (i + 1) * wrap, last_line, width + w + w);
155155
}
156156

157+
/* This wrapper function only serves to convert the stride parameters
158+
* from ptrdiff_t to int for av_image_copy_plane(). */
159+
static void copy_plane_wrapper(uint8_t *dst, ptrdiff_t dst_wrap,
160+
const uint8_t *src, ptrdiff_t src_wrap,
161+
int width, int height)
162+
{
163+
av_image_copy_plane(dst, dst_wrap, src, src_wrap, width, height);
164+
}
165+
157166
/* 2x2 -> 1x1 */
158-
static void shrink22(uint8_t *dst, int dst_wrap,
159-
const uint8_t *src, int src_wrap,
167+
static void shrink22(uint8_t *dst, ptrdiff_t dst_wrap,
168+
const uint8_t *src, ptrdiff_t src_wrap,
160169
int width, int height)
161170
{
162171
int w;
@@ -188,8 +197,8 @@ static void shrink22(uint8_t *dst, int dst_wrap,
188197
}
189198

190199
/* 4x4 -> 1x1 */
191-
static void shrink44(uint8_t *dst, int dst_wrap,
192-
const uint8_t *src, int src_wrap,
200+
static void shrink44(uint8_t *dst, ptrdiff_t dst_wrap,
201+
const uint8_t *src, ptrdiff_t src_wrap,
193202
int width, int height)
194203
{
195204
int w;
@@ -219,8 +228,8 @@ static void shrink44(uint8_t *dst, int dst_wrap,
219228
}
220229

221230
/* 8x8 -> 1x1 */
222-
static void shrink88(uint8_t *dst, int dst_wrap,
223-
const uint8_t *src, int src_wrap,
231+
static void shrink88(uint8_t *dst, ptrdiff_t dst_wrap,
232+
const uint8_t *src, ptrdiff_t src_wrap,
224233
int width, int height)
225234
{
226235
int w, i;
@@ -247,7 +256,7 @@ av_cold void ff_mpegvideoencdsp_init(MpegvideoEncDSPContext *c,
247256
c->try_8x8basis = try_8x8basis_c;
248257
c->add_8x8basis = add_8x8basis_c;
249258

250-
c->shrink[0] = av_image_copy_plane;
259+
c->shrink[0] = copy_plane_wrapper;
251260
c->shrink[1] = shrink22;
252261
c->shrink[2] = shrink44;
253262
c->shrink[3] = shrink88;

libavcodec/mpegvideoencdsp.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@ typedef struct MpegvideoEncDSPContext {
3434
const int16_t basis[64], int scale);
3535
void (*add_8x8basis)(int16_t rem[64], const int16_t basis[64], int scale);
3636

37-
int (*pix_sum)(const uint8_t *pix, int line_size);
38-
int (*pix_norm1)(const uint8_t *pix, int line_size);
37+
int (*pix_sum)(const uint8_t *pix, ptrdiff_t line_size);
38+
int (*pix_norm1)(const uint8_t *pix, ptrdiff_t line_size);
3939

40-
void (*shrink[4])(uint8_t *dst, int dst_wrap, const uint8_t *src,
41-
int src_wrap, int width, int height);
40+
void (*shrink[4])(uint8_t *dst, ptrdiff_t dst_wrap, const uint8_t *src,
41+
ptrdiff_t src_wrap, int width, int height);
4242

43-
void (*draw_edges)(uint8_t *buf, int wrap, int width, int height,
43+
void (*draw_edges)(uint8_t *buf, ptrdiff_t wrap, int width, int height,
4444
int w, int h, int sides);
4545
} MpegvideoEncDSPContext;
4646

libavcodec/ppc/mpegvideoencdsp.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#if HAVE_ALTIVEC
3131

3232
#if HAVE_VSX
33-
static int pix_norm1_altivec(const uint8_t *pix, int line_size)
33+
static int pix_norm1_altivec(const uint8_t *pix, ptrdiff_t line_size)
3434
{
3535
int i, s = 0;
3636
const vector unsigned int zero =
@@ -57,7 +57,7 @@ static int pix_norm1_altivec(const uint8_t *pix, int line_size)
5757
return s;
5858
}
5959
#else
60-
static int pix_norm1_altivec(const uint8_t *pix, int line_size)
60+
static int pix_norm1_altivec(const uint8_t *pix, ptrdiff_t line_size)
6161
{
6262
int i, s = 0;
6363
const vector unsigned int zero =
@@ -87,7 +87,7 @@ static int pix_norm1_altivec(const uint8_t *pix, int line_size)
8787
#endif /* HAVE_VSX */
8888

8989
#if HAVE_VSX
90-
static int pix_sum_altivec(const uint8_t *pix, int line_size)
90+
static int pix_sum_altivec(const uint8_t *pix, ptrdiff_t line_size)
9191
{
9292
int i, s;
9393
const vector unsigned int zero =
@@ -115,7 +115,7 @@ static int pix_sum_altivec(const uint8_t *pix, int line_size)
115115
return s;
116116
}
117117
#else
118-
static int pix_sum_altivec(const uint8_t *pix, int line_size)
118+
static int pix_sum_altivec(const uint8_t *pix, ptrdiff_t line_size)
119119
{
120120
int i, s;
121121
const vector unsigned int zero =

libavcodec/riscv/mpegvideoencdsp_init.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@
2626
int ff_try_8x8basis_rvv(const int16_t rem[64], const int16_t weight[64],
2727
const int16_t basis[16], int scale);
2828
void ff_add_8x8basis_rvv(int16_t rem[64], const int16_t basis[16], int scale);
29-
int ff_pix_sum_rvv(const uint8_t *pix, int line_size);
30-
int ff_pix_norm1_rvv(const uint8_t *pix, int line_size);
29+
int ff_pix_sum_rvv(const uint8_t *pix, ptrdiff_t line_size);
30+
int ff_pix_norm1_rvv(const uint8_t *pix, ptrdiff_t line_size);
3131

3232
av_cold void ff_mpegvideoencdsp_init_riscv(MpegvideoEncDSPContext *c,
3333
AVCodecContext *avctx)

libavcodec/x86/mpegvideoencdsp.asm

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@
2424
%include "libavutil/x86/x86util.asm"
2525

2626
SECTION .text
27-
; int ff_pix_sum16(const uint8_t *pix, int line_size)
27+
; int ff_pix_sum16(const uint8_t *pix, ptrdiff_t line_size)
2828
; %1 = number of loops
2929
; %2 = number of GPRs used
3030
%macro PIX_SUM16 3
3131
cglobal pix_sum16, 2, %2, 6
32-
movsxdifnidn r1, r1d
3332
mov r2, %1
3433
lea r3, [r1*3]
3534
%if notcpuflag(xop)
@@ -72,12 +71,11 @@ INIT_XMM xop
7271
PIX_SUM16 4, 4, 4
7372
%endif
7473

75-
; int ff_pix_norm1(const uint8_t *pix, int line_size)
74+
; int ff_pix_norm1(const uint8_t *pix, ptrdiff_t line_size)
7675
; %1 = number of xmm registers used
7776
; %2 = number of loops
7877
%macro PIX_NORM1 2
7978
cglobal pix_norm1, 2, 3, %1
80-
movsxdifnidn r1, r1d
8179
mov r2, %2
8280
pxor m0, m0
8381
pxor m5, m5

0 commit comments

Comments
 (0)