This prevents creating potentially broken files, as both the AV1 and
the AV1 in ISOMBFF specs are unfinished.

Signed-off-by: James Almer <>
This is mainly so it's effective in ffmpeg 4.0, the first version to
support libaom (including pre-bitstream freeze builds). Best to
prevent muxing files that may not work anymore a few months from now.

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

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index d03d7906a1..dc5c842cb8 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -6081,6 +6081,10 @@ static int mov_init(AVFormatContext *s)
                     av_log(s, AV_LOG_ERROR, "VP9 only supported in MP4.\n");
                     return AVERROR(EINVAL);
+            } else if (track->par->codec_id == AV_CODEC_ID_AV1) {
+                /* spec is not finished, so forbid for now */
+                av_log(s, AV_LOG_ERROR, "AV1 muxing is currently not 
+                return AVERROR_PATCHWELCOME;
             } else if (track->par->codec_id == AV_CODEC_ID_VP8) {
                 /* altref frames handling is not defined in the spec as of 
version v1.0,
                  * so just forbid muxing VP8 streams altogether until a new 
version does */

ffmpeg-devel mailing list

Reply via email to