applied
with fix:
uint64_t sustain_reset = (uint64_t)cdt_ms * rate / 1000;
Thank you, Michael.
--
Burt
On Tue, Sep 6, 2016 at 5:00 PM, Michael Niedermayer
<[email protected]> wrote:
> On Mon, Sep 05, 2016 at 06:18:43AM -0500, Burt P wrote:
>> Signed-off-by: Burt P <[email protected]>
>> ---
>> libavfilter/af_hdcd.c | 9 ++++-----
>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>
>> diff --git a/libavfilter/af_hdcd.c b/libavfilter/af_hdcd.c
>> index c8bda82..c249589 100644
>> --- a/libavfilter/af_hdcd.c
>> +++ b/libavfilter/af_hdcd.c
>> @@ -1004,16 +1004,15 @@ AVFILTER_DEFINE_CLASS(hdcd);
>> static void hdcd_reset(hdcd_state *state, unsigned rate, unsigned cdt_ms)
>> {
>> int i;
>> + uint64_t sustain_reset = cdt_ms * rate / 1000;
>
> this can still overflow
> cdt_ms and rate are 32bit their product is 32bit divided by 1000
> its around 22 bit, the 64bit is too late
>
>
>>
>> state->window = 0;
>> state->readahead = 32;
>> state->arg = 0;
>> state->control = 0;
>> -
>> state->running_gain = 0;
>> -
>> + state->sustain_reset = sustain_reset;
>> state->sustain = 0;
>> - state->sustain_reset = cdt_ms*rate/1000;
>
> [...]
>
> --
> Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
>
> The worst form of inequality is to try to make unequal things equal.
> -- Aristotle
>
> _______________________________________________
> ffmpeg-devel mailing list
> [email protected]
> http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
>
--
Burt
_______________________________________________
ffmpeg-devel mailing list
[email protected]
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel