@@ -154,11 +154,11 @@ static void libdav1d_init_params(AVCodecContext *c, const Dav1dSequenceHeader *s
else
c->pix_fmt = pix_fmt[seq->layout][seq->hbd];
- if (seq->num_units_in_tick && seq->time_scale) {
+ if (seq->num_units_in_tick && seq->time_scale &&
+ seq->num_ticks_per_picture < INT_MAX / seq->num_units_in_tick) {
av_reduce(&c->framerate.den, &c->framerate.num,
- seq->num_units_in_tick, seq->time_scale, INT_MAX);
- if (seq->equal_picture_interval)
- c->ticks_per_frame = seq->num_ticks_per_picture;
+ seq->num_units_in_tick * FFMAX(seq->num_ticks_per_picture, 1),
+ seq->time_scale, INT_MAX);
}
if (seq->film_grain_present)