[FFmpeg-cvslog] avformat/movenc: Add movie_timescale option to AVIF

Vignesh Venkatasubramanian git at videolan.org
Fri Jan 13 06:37:33 EET 2023


ffmpeg | branch: master | Vignesh Venkatasubramanian <vigneshv-at-google.com at ffmpeg.org> | Wed Jan  4 14:16:18 2023 -0800| [f2b175087197e983ac13e4c8c554b1b2f42612e0] | committer: Zhao Zhili

avformat/movenc: Add movie_timescale option to AVIF

Allow specifying the movie_timescale options to AVIF ouptut.

This also makes sure that when movie_timescale is not specified,
the default value of 1000 is used instead of 0. Animated AVIF
files which don't specify the movie_timescale will have the
correct duration written in the track and movie headers after this
change (instead of writing 0).

Signed-off-by: Vignesh Venkatasubramanian <vigneshv at google.com>
Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=f2b175087197e983ac13e4c8c554b1b2f42612e0
---

 libavformat/movenc.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 7d49892283..36c76f7f60 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -7758,6 +7758,11 @@ static const AVCodecTag codec_f4v_tags[] = {
 };
 
 #if CONFIG_AVIF_MUXER
+
+static const AVOption avif_options[] = {
+    { "movie_timescale", "set movie timescale", offsetof(MOVMuxContext, movie_timescale), AV_OPT_TYPE_INT, {.i64 = MOV_TIMESCALE}, 1, INT_MAX, AV_OPT_FLAG_ENCODING_PARAM},
+    { NULL },
+};
 static const AVCodecTag codec_avif_tags[] = {
     { AV_CODEC_ID_AV1,     MKTAG('a','v','0','1') },
     { AV_CODEC_ID_NONE, 0 },
@@ -7767,6 +7772,7 @@ static const AVCodecTag *const codec_avif_tags_list[] = { codec_avif_tags, NULL
 static const AVClass mov_avif_muxer_class = {
     .class_name = "avif muxer",
     .item_name  = av_default_item_name,
+    .option     = avif_options,
     .version    = LIBAVUTIL_VERSION_INT,
 };
 #endif



More information about the ffmpeg-cvslog mailing list