[FFmpeg-devel] [PATCH] avcodec/dcadsp: replace intptr_t with ptrdiff_t

James Almer jamrial at gmail.com
Fri Feb 5 15:19:44 CET 2016


On 2/5/2016 5:30 AM, Hendrik Leppkes wrote:
> On Sun, Jan 31, 2016 at 9:41 PM, James Almer <jamrial at gmail.com> wrote:
>> @@ -67,23 +67,23 @@ typedef struct DCADSPContext {
>>                               int32_t **subband_samples_lo,
>>                               int32_t **subband_samples_hi,
>>                               int32_t *hist1, int *offset, int32_t *hist2,
>> -                             const int32_t *filter_coeff, intptr_t npcmblocks);
>> +                             const int32_t *filter_coeff, ptrdiff_t npcmblocks);
>>
>> -    void (*decor)(int32_t *dst, const int32_t *src, intptr_t coeff, intptr_t len);
>> +    void (*decor)(int32_t *dst, const int32_t *src, ptrdiff_t coeff, ptrdiff_t len);
>>
>>      void (*dmix_sub_xch)(int32_t *dst1, int32_t *dst2,
>> -                         const int32_t *src, intptr_t len);
>> +                         const int32_t *src, ptrdiff_t len);
>>
>> -    void (*dmix_sub)(int32_t *dst, const int32_t *src, intptr_t coeff, intptr_t len);
>> +    void (*dmix_sub)(int32_t *dst, const int32_t *src, ptrdiff_t coeff, ptrdiff_t len);
>>
>> -    void (*dmix_add)(int32_t *dst, const int32_t *src, intptr_t coeff, intptr_t len);
>> +    void (*dmix_add)(int32_t *dst, const int32_t *src, ptrdiff_t coeff, ptrdiff_t len);
> 
> coeff in decor and dmix_sub/add works similar to scale in dmix_scale,
> any reason it was kept as ptrdiff_t here, and converted to int below?

I resent this patch fixing it. You are replying to the old one :p

> 
>>
>> -    void (*dmix_scale)(int32_t *dst, intptr_t scale, intptr_t len);
>> +    void (*dmix_scale)(int32_t *dst, int scale, ptrdiff_t len);
>>
>> -    void (*dmix_scale_inv)(int32_t *dst, intptr_t scale_inv, intptr_t len);
>> +    void (*dmix_scale_inv)(int32_t *dst, int scale_inv, ptrdiff_t len);
>>
>>      void (*assemble_freq_bands)(int32_t *dst, int32_t *src0, int32_t *src1,
>> -                                const int32_t *coeff, intptr_t len);
>> +                                const int32_t *coeff, ptrdiff_t len);
>>  } DCADSPContext;
>>
>>  av_cold void ff_dcadsp_init(DCADSPContext *s);
> 
> The others look fine, its mostly size constraints which we like to
> pass as ptrdiff_t to avoid zero extending them in asm.
> 
> - Hendrik

Pushed the amended patch where the above was fixed, thanks.



More information about the ffmpeg-devel mailing list