Commit 52767d89 authored by Mans Rullgard's avatar Mans Rullgard

lavf: fix multiplication overflow in avformat_find_stream_info()

Converting to double before the multiplication rather than after
avoids an integer overflow in some cases.
Signed-off-by: 's avatarMans Rullgard <mans@mansr.com>
parent f1d1516e
...@@ -2409,7 +2409,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options) ...@@ -2409,7 +2409,7 @@ int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
for (i=1; i<FF_ARRAY_ELEMS(st->info->duration_error); i++) { for (i=1; i<FF_ARRAY_ELEMS(st->info->duration_error); i++) {
int framerate= get_std_framerate(i); int framerate= get_std_framerate(i);
int ticks= lrintf(dur*framerate/(1001*12)); int ticks= lrintf(dur*framerate/(1001*12));
double error= dur - ticks*1001*12/(double)framerate; double error = dur - (double)ticks*1001*12 / framerate;
st->info->duration_error[i] += error*error; st->info->duration_error[i] += error*error;
} }
st->info->duration_count++; st->info->duration_count++;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment