summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2023-05-04 10:54:52 +0200
committerAnton Khirnov <anton@khirnov.net>2023-05-15 14:45:46 +0200
commit9d70e74d255dbe37af52b0efffc0f93fd7cb6103 (patch)
tree07da99afb14f13e448170038707c119f458cff37
parente10a5b91bc1b138174ab2661171038431ca44213 (diff)
downloadffmpeg-9d70e74d255dbe37af52b0efffc0f93fd7cb6103.tar.gz
lavc/libdav1d: fix exporting framerate
Same issues as in the previous commit.
-rw-r--r--libavcodec/Makefile2
-rw-r--r--libavcodec/libdav1d.c10
2 files changed, 5 insertions, 7 deletions
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index 9587e56493..4d59411662 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -1086,7 +1086,7 @@ OBJS-$(CONFIG_LIBARIBCAPTION_DECODER) += libaribcaption.o ass.o
OBJS-$(CONFIG_LIBCELT_DECODER) += libcelt_dec.o
OBJS-$(CONFIG_LIBCODEC2_DECODER) += libcodec2.o
OBJS-$(CONFIG_LIBCODEC2_ENCODER) += libcodec2.o
-OBJS-$(CONFIG_LIBDAV1D_DECODER) += libdav1d.o
+OBJS-$(CONFIG_LIBDAV1D_DECODER) += libdav1d.o av1_parse.o
OBJS-$(CONFIG_LIBDAVS2_DECODER) += libdavs2.o
OBJS-$(CONFIG_LIBFDK_AAC_DECODER) += libfdk-aacdec.o
OBJS-$(CONFIG_LIBFDK_AAC_ENCODER) += libfdk-aacenc.o
diff --git a/libavcodec/libdav1d.c b/libavcodec/libdav1d.c
index af072da681..4c48f0099a 100644
--- a/libavcodec/libdav1d.c
+++ b/libavcodec/libdav1d.c
@@ -30,6 +30,7 @@
#include "libavutil/opt.h"
#include "atsc_a53.h"
+#include "av1_parse.h"
#include "avcodec.h"
#include "bytestream.h"
#include "codec_internal.h"
@@ -154,12 +155,9 @@ 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) {
- 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;
- }
+ c->framerate = ff_av1_framerate(seq->num_ticks_per_picture,
+ (unsigned)seq->num_units_in_tick,
+ (unsigned)seq->time_scale);
if (seq->film_grain_present)
c->properties |= FF_CODEC_PROPERTY_FILM_GRAIN;