Commit 9e6f96bac1 for ffmpeg

commit 9e6f96bac153e436ce47c4e8e775edda52a90db6
Author: James Almer <jamrial@gmail.com>
Date:   Sat Oct 17 14:00:41 2026 -0300

    avformat/movenc: wrap AVIF specific functions with a preprocessor check

    Signed-off-by: James Almer <jamrial@gmail.com>

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index bf929b9329..debe1acb7e 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2838,6 +2838,7 @@ static void find_compressor(char * compressor_name, int len, MOVTrack *track)
     }
 }

+#if CONFIG_AVIF_MUXER
 static int mov_write_ccst_tag(AVIOContext *pb)
 {
     int64_t pos = avio_tell(pb);
@@ -2866,6 +2867,7 @@ static int mov_write_aux_tag(AVIOContext *pb, const char *aux_type)
     avio_write(pb, "urn:mpeg:mpegB:cicp:systems:auxiliary:alpha\0", 44);
     return update_size(pb, pos);
 }
+#endif

 static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContext *mov, MOVTrack *track)
 {
@@ -3131,11 +3133,13 @@ static int mov_write_video_tag(AVFormatContext *s, AVIOContext *pb, MOVMuxContex
     if (avid)
         avio_wb32(pb, 0);

+#if CONFIG_AVIF_MUXER
     if (track->mode == MODE_AVIF) {
         mov_write_ccst_tag(pb);
         if (mov->nb_streams > 0 && track == &mov->tracks[1])
             mov_write_aux_tag(pb, "auxi");
     }
+#endif

     return update_size(pb, pos);
 }
@@ -3739,6 +3743,7 @@ static int mov_write_hdlr_tag(AVFormatContext *s, AVIOContext *pb, MOVTrack *tra
     return update_size(pb, pos);
 }

+#if CONFIG_AVIF_MUXER
 static int mov_write_pitm_tag(AVIOContext *pb, int item_id)
 {
     int64_t pos = avio_tell(pb);
@@ -3908,6 +3913,7 @@ static int mov_write_iprp_tag(AVIOContext *pb, MOVMuxContext *mov, AVFormatConte
     mov_write_ipma_tag(pb, mov, s);
     return update_size(pb, pos);
 }
+#endif

 static int mov_write_hmhd_tag(AVIOContext *pb)
 {
@@ -4106,11 +4112,13 @@ static int mov_write_tkhd_tag(AVIOContext *pb, MOVMuxContext *mov,
     uint32_t *display_matrix = NULL;
     int       i;

+#if CONFIG_AVIF_MUXER
     if (mov->mode == MODE_AVIF)
         if (!mov->avif_loop_count)
             duration = INT64_MAX;
         else
             duration *= mov->avif_loop_count;
+#endif

     if (st) {
         const AVPacketSideData *sd;
@@ -4263,6 +4271,7 @@ static int mov_write_edts_tag(AVIOContext *pb, MOVMuxContext *mov,
     delay = av_rescale_rnd(start_dts + start_ct, mov->movie_timescale,
                            track->timescale, AV_ROUND_DOWN);

+#if CONFIG_AVIF_MUXER
     if (mov->mode == MODE_AVIF) {
         delay = 0;
         // Section 9.6.3 of ISO/IEC 23008-12: flags specifies repetition of the
@@ -4272,6 +4281,7 @@ static int mov_write_edts_tag(AVIOContext *pb, MOVMuxContext *mov,
         flags = mov->avif_loop_count != 1;
         start_ct = 0;
     }
+#endif

     version |= delay < INT32_MAX ? 0 : 1;

@@ -5064,6 +5074,7 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov,
         mov_write_mdta_hdlr_tag(pb, mov, s);
         mov_write_mdta_keys_tag(pb, mov, s);
         mov_write_mdta_ilst_tag(pb, mov, s);
+#if CONFIG_AVIF_MUXER
     } else if (mov->mode == MODE_AVIF) {
         mov_write_hdlr_tag(s, pb, &mov->tracks[0]);
         // We always write the primary item id as 1 since only one track is
@@ -5074,6 +5085,7 @@ static int mov_write_meta_tag(AVIOContext *pb, MOVMuxContext *mov,
         if (mov->nb_streams > 1)
             mov_write_iref_tag(pb, mov, s);
         mov_write_iprp_tag(pb, mov, s);
+#endif
     } else {
         /* iTunes metadata tag */
         mov_write_itunes_hdlr_tag(pb, mov, s);
@@ -6386,6 +6398,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s)
     // compatible brand a second time.
     if (mov->mode == MODE_ISM) {
         ffio_wfourcc(pb, "piff");
+#if CONFIG_AVIF_MUXER
     } else if (mov->mode == MODE_AVIF) {
         const MOVTrack *trk = &mov->tracks[0];
         const AVPixFmtDescriptor *pix_fmt_desc =
@@ -6427,6 +6440,7 @@ static int mov_write_ftyp_tag(AVIOContext *pb, AVFormatContext *s)
                 ffio_wfourcc(pb, "MA1B");
             }
         }
+#endif
     } else if (mov->mode != MODE_MOV) {
         // We add tfdt atoms when fragmenting, signal this with the iso6 compatible
         // brand, if not already the major brand. This is compatible with users that
@@ -8419,6 +8433,7 @@ static int mov_init(AVFormatContext *s)
         return AVERROR(EINVAL);
     }

+#if CONFIG_AVIF_MUXER
     /* AVIF output must have at most two video streams (one for YUV and one for
      * alpha). */
     if (mov->mode == MODE_AVIF) {
@@ -8445,6 +8460,7 @@ static int mov_init(AVFormatContext *s)
         }
         s->streams[0]->disposition |= AV_DISPOSITION_DEFAULT;
     }
+#endif

     for (i = 0; i < s->nb_stream_groups; i++) {
         AVStreamGroup *stg = s->stream_groups[i];