Message ID | 20220919153551.11377-1-remi@remlab.net |
---|---|
State | New |
Headers | show |
Series | [FFmpeg-devel,PATCHv2,1/2] lavc/vorbisdec: use ptrdiff_t to iterate over intptr_t | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On 9/19/2022 12:35 PM, remi@remlab.net wrote: > From: Rémi Denis-Courmont <remi@remlab.net> > > While this probably never overflows, we are better safe than sorry. > > The callback prototype should probably also use ptrdiff_t or size_t, > but I diggress (this would affect the DSP callback prototype). If you mean using ptrdiff_t instead of intptr_t, it should be pretty straightforward. Effectively only a prototype change and no need to touch the asm implementations. It would also put it in line with the rest of the codebase. > --- > libavcodec/vorbisdec.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c > index 38a5367be3..bfc4be6fc6 100644 > --- a/libavcodec/vorbisdec.c > +++ b/libavcodec/vorbisdec.c > @@ -1581,8 +1581,7 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr, > > void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize) > { > - int i; > - for (i = 0; i < blocksize; i++) { > + for (ptrdiff_t i = 0; i < blocksize; i++) { > if (mag[i] > 0.0) { > if (ang[i] > 0.0) { > ang[i] = mag[i] - ang[i];
Le maanantaina 19. syyskuuta 2022, 18.48.11 EEST James Almer a écrit : > On 9/19/2022 12:35 PM, remi@remlab.net wrote: > > From: Rémi Denis-Courmont <remi@remlab.net> > > > > While this probably never overflows, we are better safe than sorry. > > > > The callback prototype should probably also use ptrdiff_t or size_t, > > but I diggress (this would affect the DSP callback prototype). > > If you mean using ptrdiff_t instead of intptr_t, it should be pretty > straightforward. Effectively only a prototype change and no need to > touch the asm implementations. It would also put it in line with the > rest of the codebase. Unfortunately, they are defined in different headers, <stddef.h> vs <stdint.h> so it is not quite that straightforward.
diff --git a/libavcodec/vorbisdec.c b/libavcodec/vorbisdec.c index 38a5367be3..bfc4be6fc6 100644 --- a/libavcodec/vorbisdec.c +++ b/libavcodec/vorbisdec.c @@ -1581,8 +1581,7 @@ static inline int vorbis_residue_decode(vorbis_context *vc, vorbis_residue *vr, void ff_vorbis_inverse_coupling(float *mag, float *ang, intptr_t blocksize) { - int i; - for (i = 0; i < blocksize; i++) { + for (ptrdiff_t i = 0; i < blocksize; i++) { if (mag[i] > 0.0) { if (ang[i] > 0.0) { ang[i] = mag[i] - ang[i];
From: Rémi Denis-Courmont <remi@remlab.net> While this probably never overflows, we are better safe than sorry. The callback prototype should probably also use ptrdiff_t or size_t, but I diggress (this would affect the DSP callback prototype). --- libavcodec/vorbisdec.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)