diff options
author | Vignesh Venkatasubramanian <vigneshv-at-google.com@ffmpeg.org> | 2023-01-12 12:45:45 -0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2023-01-13 20:03:36 +0800 |
commit | 54c488223b8dd76d3f5b8019797af9fbe6c920e5 (patch) | |
tree | 0bbb97fdfac338abebbf24c841b597078d391d35 /libavformat/movenc.h | |
parent | f2b175087197e983ac13e4c8c554b1b2f42612e0 (diff) | |
download | ffmpeg-54c488223b8dd76d3f5b8019797af9fbe6c920e5.tar.gz |
avformat/movenc: Add loop parameter to animated AVIF
The HEIF specification permits specifying the looping behavior of
animated sequences by using the EditList (elst) box. The track
duration will be set to the total duration of all the loops (or
infinite) and the duration of a single loop will be set in the edit
list box.
The default behavior is to loop infinitely.
Compliance verification:
* This was added in libavif recently [1] and the files produced by
ffmpeg after this change have EditList boxes similar to the ones
produced by libavif (and avifdec is able to parse the loop count as
intended).
* ComplianceWarden is ok with the produced files.
* Chrome is able to play back the produced files.
[1] https://github.com/AOMediaCodec/libavif/commit/4d2776a3af53ae1aefdaed463b75ba12fd9cf8c2
Signed-off-by: Vignesh Venkatasubramanian <vigneshv@google.com>
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
Diffstat (limited to 'libavformat/movenc.h')
-rw-r--r-- | libavformat/movenc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/libavformat/movenc.h b/libavformat/movenc.h index c6b3313deb..e85d83abdb 100644 --- a/libavformat/movenc.h +++ b/libavformat/movenc.h @@ -249,6 +249,7 @@ typedef struct MOVMuxContext { int64_t avif_extent_pos[2]; // index 0 is YUV and 1 is Alpha. int avif_extent_length[2]; // index 0 is YUV and 1 is Alpha. int is_animated_avif; + int avif_loop_count; } MOVMuxContext; #define FF_MOV_FLAG_RTP_HINT (1 << 0) |