Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel
 help / color / mirror / Atom feed
* [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first
@ 2024-08-01  2:14 James Almer
  2024-08-01  2:14 ` [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test James Almer
  2024-08-01  8:59 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first Anton Khirnov
  0 siblings, 2 replies; 6+ messages in thread
From: James Almer @ 2024-08-01  2:14 UTC (permalink / raw)
  To: ffmpeg-devel

Fixes crashes when muxing video tracks alongside IAMF ones.

Signed-off-by: James Almer <jamrial@gmail.com>
---
 libavformat/movenc.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index ae49582a1a..87ec368d52 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -7536,6 +7536,7 @@ static int mov_init_iamf_track(AVFormatContext *s)
     if (!track->iamf)
         return AVERROR(ENOMEM);
 
+    track->first_iamf_idx = INT_MAX;
     for (int i = 0; i < s->nb_stream_groups; i++) {
         const AVStreamGroup *stg = s->stream_groups[i];
         switch(stg->type) {
@@ -7558,6 +7559,11 @@ static int mov_init_iamf_track(AVFormatContext *s)
             return ret;
     }
 
+    if (track->first_iamf_idx != 0) {
+        av_log(s, AV_LOG_ERROR, "The IMAF track must be the first track\n");
+        return AVERROR(EINVAL);;
+    }
+
     track->tag = MKTAG('i','a','m','f');
 
     ret = avio_open_dyn_buf(&track->iamf_buf);
@@ -7830,8 +7836,11 @@ static int mov_init(AVFormatContext *s)
     for (int j = 0, i = 0; j < s->nb_streams; j++) {
         AVStream *st = s->streams[j];
 
-        if (st != st->priv_data)
+        if (st != st->priv_data) {
+            if (!i)
+                i++; // IAMF track is the first one
             continue;
+        }
         st->priv_data = &mov->tracks[i++];
     }
 
-- 
2.45.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test
  2024-08-01  2:14 [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first James Almer
@ 2024-08-01  2:14 ` James Almer
  2024-08-01  8:59 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first Anton Khirnov
  1 sibling, 0 replies; 6+ messages in thread
From: James Almer @ 2024-08-01  2:14 UTC (permalink / raw)
  To: ffmpeg-devel

Signed-off-by: James Almer <jamrial@gmail.com>
---
 tests/fate/mov.mak                     |  11 +
 tests/ref/fate/mov-mp4-iamf-5_1_4-h264 | 568 +++++++++++++++++++++++++
 2 files changed, 579 insertions(+)
 create mode 100644 tests/ref/fate/mov-mp4-iamf-5_1_4-h264

diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index d12980815f..a7ea503844 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -262,6 +262,17 @@ fate-mov-mp4-iamf-ambisonic_1: CMD = transcode wav $(SRC) mp4 "-auto_conversion_
   -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -map [MONO0] -map [MONO1] -map [MONO2] -map [MONO3] -c:a flac -t 1" "-c:a copy -map 0" \
   "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition"
 
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER H264_PARSER) += fate-mov-mp4-iamf-5_1_4-h264
+fate-mov-mp4-iamf-5_1_4-h264: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4
+fate-mov-mp4-iamf-5_1_4-h264: SRC = $(TARGET_PATH)/tests/data/asynth-44100-10.wav
+fate-mov-mp4-iamf-5_1_4-h264: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
+  -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_5_1_4 \
+  -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-5_1_4 \
+  -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-5_1_4 \
+  -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -map 1:v:0 -c:a flac -c:v copy -t 1" "-c:a copy -c:v copy -map 0" \
+  "-show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition" \
+  "-i $(TARGET_SAMPLES)/h264/intra_refresh.h264"
+
 FATE_FFMPEG += $(FATE_MOV_FFMPEG-yes)
 FATE_FFMPEG_FFPROBE += $(FATE_MOV_FFMPEG_FFPROBE-yes)
 
diff --git a/tests/ref/fate/mov-mp4-iamf-5_1_4-h264 b/tests/ref/fate/mov-mp4-iamf-5_1_4-h264
new file mode 100644
index 0000000000..53a0b28832
--- /dev/null
+++ b/tests/ref/fate/mov-mp4-iamf-5_1_4-h264
@@ -0,0 +1,568 @@
+5a29ac3ccba1d2860b80a2b662b29266 *tests/data/fate/mov-mp4-iamf-5_1_4-h264.mp4
+126671 tests/data/fate/mov-mp4-iamf-5_1_4-h264.mp4
+#extradata 0:       34, 0xafa70d5e
+#extradata 1:       34, 0xafa70d5e
+#extradata 2:       34, 0xaf7b0d5c
+#extradata 3:       34, 0xaf7b0d5c
+#extradata 4:       34, 0xafa70d5e
+#extradata 5:       34, 0xafa70d5e
+#extradata 6:      189, 0x738b56ad
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+#tb 1: 1/44100
+#media_type 1: audio
+#codec_id 1: flac
+#sample_rate 1: 44100
+#channel_layout_name 1: stereo
+#tb 2: 1/44100
+#media_type 2: audio
+#codec_id 2: flac
+#sample_rate 2: 44100
+#channel_layout_name 2: mono
+#tb 3: 1/44100
+#media_type 3: audio
+#codec_id 3: flac
+#sample_rate 3: 44100
+#channel_layout_name 3: mono
+#tb 4: 1/44100
+#media_type 4: audio
+#codec_id 4: flac
+#sample_rate 4: 44100
+#channel_layout_name 4: stereo
+#tb 5: 1/44100
+#media_type 5: audio
+#codec_id 5: flac
+#sample_rate 5: 44100
+#channel_layout_name 5: stereo
+#tb 6: 1/1200000
+#media_type 6: video
+#codec_id 6: h264
+#dimensions 6: 320x240
+#sar 6: 0/1
+0,          0,          0,     4608,     1399, 0x6e89566e
+1,          0,          0,     4608,     1399, 0x6e89566e
+2,          0,          0,     4608,     1396, 0x0dcb5677
+3,          0,          0,     4608,     1396, 0x0dcb5677
+4,          0,          0,     4608,     1399, 0x6e89566e
+5,          0,          0,     4608,     1399, 0x6e89566e
+6,          0,          0,    48000,     3299, 0xac71660d
+6,      48000,      48000,    48000,      131, 0x3c963e3d, F=0x0
+6,      96000,      96000,    48000,     3398, 0x5bdd9447, F=0x0
+0,       4608,       4608,     4608,     1442, 0x6c3c5b13
+1,       4608,       4608,     4608,     1442, 0x6c3c5b13
+2,       4608,       4608,     4608,     1439, 0xc46b5ac5
+3,       4608,       4608,     4608,     1439, 0xc46b5ac5
+4,       4608,       4608,     4608,     1442, 0x6c3c5b13
+5,       4608,       4608,     4608,     1442, 0x6c3c5b13
+6,     144000,     144000,    48000,      147, 0xc50d446d, F=0x0
+6,     192000,     192000,    48000,     3702, 0xaca23a84, F=0x0
+6,     240000,     240000,    48000,      148, 0xe9144a44, F=0x0
+0,       9216,       9216,     4608,     1380, 0xc497571b
+1,       9216,       9216,     4608,     1380, 0xc497571b
+2,       9216,       9216,     4608,     1377, 0x5b2a55fe
+3,       9216,       9216,     4608,     1377, 0x5b2a55fe
+4,       9216,       9216,     4608,     1380, 0xc497571b
+5,       9216,       9216,     4608,     1380, 0xc497571b
+6,     288000,     288000,    48000,     3513, 0x40cad814, F=0x0
+6,     336000,     336000,    48000,      187, 0x95f85d04, F=0x0
+0,      13824,      13824,     4608,     1383, 0x48e9510f
+1,      13824,      13824,     4608,     1383, 0x48e9510f
+2,      13824,      13824,     4608,     1380, 0x045550d3
+3,      13824,      13824,     4608,     1380, 0x045550d3
+4,      13824,      13824,     4608,     1383, 0x48e9510f
+5,      13824,      13824,     4608,     1383, 0x48e9510f
+6,     384000,     384000,    48000,     3815, 0xa3a079c0, F=0x0
+6,     432000,     432000,    48000,      149, 0x1c304190, F=0x0
+6,     480000,     480000,    48000,     4179, 0x521c2566, F=0x0
+0,      18432,      18432,     4608,     1572, 0x9a514719
+1,      18432,      18432,     4608,     1572, 0x9a514719
+2,      18432,      18432,     4608,     1568, 0xa2bc45f4
+3,      18432,      18432,     4608,     1568, 0xa2bc45f4
+4,      18432,      18432,     4608,     1572, 0x9a514719
+5,      18432,      18432,     4608,     1572, 0x9a514719
+6,     528000,     528000,    48000,      131, 0x924b3d0c, F=0x0
+6,     576000,     576000,    48000,     3715, 0x66924207, F=0x0
+6,     624000,     624000,    48000,       97, 0x4fae2dc3, F=0x0
+0,      23040,      23040,     4608,     1391, 0x74ac5014
+1,      23040,      23040,     4608,     1391, 0x74ac5014
+2,      23040,      23040,     4608,     1388, 0x96c85007
+3,      23040,      23040,     4608,     1388, 0x96c85007
+4,      23040,      23040,     4608,     1391, 0x74ac5014
+5,      23040,      23040,     4608,     1391, 0x74ac5014
+6,     672000,     672000,    48000,     4037, 0x7f30cdbb, F=0x0
+6,     720000,     720000,    48000,      117, 0x33b32f9e, F=0x0
+0,      27648,      27648,     4608,     1422, 0x2f9d47c5
+1,      27648,      27648,     4608,     1422, 0x2f9d47c5
+2,      27648,      27648,     4608,     1419, 0x4d4d466a
+3,      27648,      27648,     4608,     1419, 0x4d4d466a
+4,      27648,      27648,     4608,     1422, 0x2f9d47c5
+5,      27648,      27648,     4608,     1422, 0x2f9d47c5
+6,     768000,     768000,    48000,     4345, 0xc9487619, F=0x0
+6,     816000,     816000,    48000,      135, 0x60753f29, F=0x0
+6,     864000,     864000,    48000,      132, 0xd9334003, F=0x0
+0,      32256,      32256,     4608,     1768, 0x2a044b99
+1,      32256,      32256,     4608,     1768, 0x2a044b99
+2,      32256,      32256,     4608,     1765, 0xacb84b24
+3,      32256,      32256,     4608,     1765, 0xacb84b24
+4,      32256,      32256,     4608,     1768, 0x2a044b99
+5,      32256,      32256,     4608,     1768, 0x2a044b99
+6,     912000,     912000,    48000,     2149, 0xc5f717a1, F=0x0
+6,     960000,     960000,    48000,      121, 0x44993b1a, F=0x0
+0,      36864,      36864,     4608,     1534, 0xb0b35a3f
+1,      36864,      36864,     4608,     1534, 0xb0b35a3f
+2,      36864,      36864,     4608,     1531, 0x996458aa
+3,      36864,      36864,     4608,     1531, 0x996458aa
+4,      36864,      36864,     4608,     1534, 0xb0b35a3f
+5,      36864,      36864,     4608,     1534, 0xb0b35a3f
+6,    1008000,    1008000,    48000,       71, 0x285f20a5, F=0x0
+6,    1056000,    1056000,    48000,     1511, 0x3d78f484, F=0x0
+6,    1104000,    1104000,    48000,       59, 0x7b6a18a6, F=0x0
+0,      41472,      41472,     2628,      926, 0xc26a5eae
+1,      41472,      41472,     2628,      926, 0xc26a5eae
+2,      41472,      41472,     2628,      923, 0xa7225edf
+3,      41472,      41472,     2628,      923, 0xa7225edf
+4,      41472,      41472,     2628,      926, 0xc26a5eae
+5,      41472,      41472,     2628,      926, 0xc26a5eae
+6,    1152000,    1152000,    48000,       59, 0xe4841b1f, F=0x0
+[STREAM_GROUP]
+index=0
+id=0x1
+nb_streams=6
+type=IAMF Audio Element
+[COMPONENT]
+nb_layers=4
+audio_element_type=0
+default_w=10
+[SUBCOMPONENT]
+channel_layout=stereo
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=5.1
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=5.1.2
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+channel_layout=5.1.4
+output_gain_flags=0
+output_gain=0/1
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+name=demixing_info
+nb_subblocks=1
+type=1
+parameter_id=998
+parameter_rate=44100
+duration=4608
+constant_subblock_duration=4608
+[PIECE]
+subblock_duration=4608
+dmixp_mode=1
+[/PIECE]
+[/SUBCOMPONENT]
+[/COMPONENT]
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+TAG:language=und
+TAG:handler_name=SoundHandler
+TAG:vendor_id=[0][0][0][0]
+[STREAM]
+index=0
+id=0x0
+DISPOSITION:default=1
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=1
+id=0x1
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=2
+id=0x2
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=3
+id=0x3
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=4
+id=0x4
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=5
+id=0x5
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[/STREAM_GROUP]
+[STREAM_GROUP]
+index=1
+id=0x2
+nb_streams=6
+type=IAMF Mix Presentation
+[COMPONENT]
+nb_submixes=1
+[SUBCOMPONENT]
+en-us=Mix_Presentation
+[/SUBCOMPONENT]
+[SUBCOMPONENT]
+nb_elements=1
+nb_layouts=4
+default_mix_gain=256/256
+[PIECE]
+stream_id=1
+default_mix_gain=0/256
+headphones_rendering_mode=0
+[SUBPIECE]
+en-us=Scalable_Submix
+[/SUBPIECE]
+[SUBPIECE]
+name=element_mix_config
+nb_subblocks=0
+type=0
+parameter_id=100
+parameter_rate=48000
+duration=0
+constant_subblock_duration=0
+[/SUBPIECE]
+[/PIECE]
+[PIECE]
+name=output_mix_config
+nb_subblocks=0
+type=0
+parameter_id=100
+parameter_rate=48000
+duration=0
+constant_subblock_duration=0
+[/PIECE]
+[PIECE]
+sound_system=stereo
+integrated_loudness=256/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=5.1
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=5.1.2
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[PIECE]
+sound_system=5.1.4
+integrated_loudness=0/256
+digital_peak=0/256
+true_peak=0/1
+dialogue_anchored_loudness=0/1
+album_anchored_loudness=0/1
+[/PIECE]
+[/SUBCOMPONENT]
+[/COMPONENT]
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+TAG:language=und
+TAG:handler_name=SoundHandler
+TAG:vendor_id=[0][0][0][0]
+[STREAM]
+index=0
+id=0x0
+DISPOSITION:default=1
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=0
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=1
+id=0x1
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=2
+id=0x2
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=3
+id=0x3
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=4
+id=0x4
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[STREAM]
+index=5
+id=0x5
+DISPOSITION:default=0
+DISPOSITION:dub=0
+DISPOSITION:original=0
+DISPOSITION:comment=0
+DISPOSITION:lyrics=0
+DISPOSITION:karaoke=0
+DISPOSITION:forced=0
+DISPOSITION:hearing_impaired=0
+DISPOSITION:visual_impaired=0
+DISPOSITION:clean_effects=0
+DISPOSITION:attached_pic=0
+DISPOSITION:timed_thumbnails=0
+DISPOSITION:non_diegetic=0
+DISPOSITION:captions=0
+DISPOSITION:descriptions=0
+DISPOSITION:metadata=0
+DISPOSITION:dependent=1
+DISPOSITION:still_image=0
+DISPOSITION:multilayer=0
+[/STREAM]
+[/STREAM_GROUP]
-- 
2.45.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first
  2024-08-01  2:14 [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first James Almer
  2024-08-01  2:14 ` [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test James Almer
@ 2024-08-01  8:59 ` Anton Khirnov
  2024-08-01 12:35   ` James Almer
  1 sibling, 1 reply; 6+ messages in thread
From: Anton Khirnov @ 2024-08-01  8:59 UTC (permalink / raw)
  To: FFmpeg development discussions and patches

Quoting James Almer (2024-08-01 04:14:09)
> Fixes crashes when muxing video tracks alongside IAMF ones.
> 
> Signed-off-by: James Almer <jamrial@gmail.com>
> ---
>  libavformat/movenc.c | 11 ++++++++++-
>  1 file changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
> index ae49582a1a..87ec368d52 100644
> --- a/libavformat/movenc.c
> +++ b/libavformat/movenc.c
> @@ -7536,6 +7536,7 @@ static int mov_init_iamf_track(AVFormatContext *s)
>      if (!track->iamf)
>          return AVERROR(ENOMEM);
>  
> +    track->first_iamf_idx = INT_MAX;
>      for (int i = 0; i < s->nb_stream_groups; i++) {
>          const AVStreamGroup *stg = s->stream_groups[i];
>          switch(stg->type) {
> @@ -7558,6 +7559,11 @@ static int mov_init_iamf_track(AVFormatContext *s)
>              return ret;
>      }
>  
> +    if (track->first_iamf_idx != 0) {
> +        av_log(s, AV_LOG_ERROR, "The IMAF track must be the first track\n");

Why? And is this documented anywhere?

-- 
Anton Khirnov
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first
  2024-08-01  8:59 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first Anton Khirnov
@ 2024-08-01 12:35   ` James Almer
  2024-08-01 15:07     ` James Almer
  0 siblings, 1 reply; 6+ messages in thread
From: James Almer @ 2024-08-01 12:35 UTC (permalink / raw)
  To: ffmpeg-devel

On 8/1/2024 5:59 AM, Anton Khirnov wrote:
> Quoting James Almer (2024-08-01 04:14:09)
>> Fixes crashes when muxing video tracks alongside IAMF ones.
>>
>> Signed-off-by: James Almer <jamrial@gmail.com>
>> ---
>>   libavformat/movenc.c | 11 ++++++++++-
>>   1 file changed, 10 insertions(+), 1 deletion(-)
>>
>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>> index ae49582a1a..87ec368d52 100644
>> --- a/libavformat/movenc.c
>> +++ b/libavformat/movenc.c
>> @@ -7536,6 +7536,7 @@ static int mov_init_iamf_track(AVFormatContext *s)
>>       if (!track->iamf)
>>           return AVERROR(ENOMEM);
>>   
>> +    track->first_iamf_idx = INT_MAX;
>>       for (int i = 0; i < s->nb_stream_groups; i++) {
>>           const AVStreamGroup *stg = s->stream_groups[i];
>>           switch(stg->type) {
>> @@ -7558,6 +7559,11 @@ static int mov_init_iamf_track(AVFormatContext *s)
>>               return ret;
>>       }
>>   
>> +    if (track->first_iamf_idx != 0) {
>> +        av_log(s, AV_LOG_ERROR, "The IMAF track must be the first track\n");
> 
> Why? And is this documented anywhere?

Just comments in the code. The reason i wrote it this way is because i 
parse the stream groups first, then the remaining streams, and generate 
the tracks in that order, as it was the simplest, least invasive way 
(The muxer handled streams and tracks as separate concepts with 
potentially different count for each of them even before iamf).

I could look into changing it, but it may require some restructuring. In 
the meantime the muxer should not crash when you mix video tracks with 
iamf tracks. More so considering we need something easy to backport to 7.0.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first
  2024-08-01 12:35   ` James Almer
@ 2024-08-01 15:07     ` James Almer
  0 siblings, 0 replies; 6+ messages in thread
From: James Almer @ 2024-08-01 15:07 UTC (permalink / raw)
  To: ffmpeg-devel

On 8/1/2024 9:35 AM, James Almer wrote:
> On 8/1/2024 5:59 AM, Anton Khirnov wrote:
>> Quoting James Almer (2024-08-01 04:14:09)
>>> Fixes crashes when muxing video tracks alongside IAMF ones.
>>>
>>> Signed-off-by: James Almer <jamrial@gmail.com>
>>> ---
>>>   libavformat/movenc.c | 11 ++++++++++-
>>>   1 file changed, 10 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/libavformat/movenc.c b/libavformat/movenc.c
>>> index ae49582a1a..87ec368d52 100644
>>> --- a/libavformat/movenc.c
>>> +++ b/libavformat/movenc.c
>>> @@ -7536,6 +7536,7 @@ static int mov_init_iamf_track(AVFormatContext *s)
>>>       if (!track->iamf)
>>>           return AVERROR(ENOMEM);
>>> +    track->first_iamf_idx = INT_MAX;
>>>       for (int i = 0; i < s->nb_stream_groups; i++) {
>>>           const AVStreamGroup *stg = s->stream_groups[i];
>>>           switch(stg->type) {
>>> @@ -7558,6 +7559,11 @@ static int mov_init_iamf_track(AVFormatContext 
>>> *s)
>>>               return ret;
>>>       }
>>> +    if (track->first_iamf_idx != 0) {
>>> +        av_log(s, AV_LOG_ERROR, "The IMAF track must be the first 
>>> track\n");
>>
>> Why? And is this documented anywhere?
> 
> Just comments in the code. The reason i wrote it this way is because i 
> parse the stream groups first, then the remaining streams, and generate 
> the tracks in that order, as it was the simplest, least invasive way 
> (The muxer handled streams and tracks as separate concepts with 
> potentially different count for each of them even before iamf).
> 
> I could look into changing it, but it may require some restructuring.

Ok, gave it a try and seemingly found out how to get this working 
without too many changes.
Will send an updated patch.
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test
  2024-08-01 15:10 [FFmpeg-devel] [PATCH 1/2] avformat/mov: fix track handling when mixing IAMF and video tracks James Almer
@ 2024-08-01 15:10 ` James Almer
  0 siblings, 0 replies; 6+ messages in thread
From: James Almer @ 2024-08-01 15:10 UTC (permalink / raw)
  To: ffmpeg-devel

Signed-off-by: James Almer <jamrial@gmail.com>
---
 tests/fate/mov.mak                     |  12 +++
 tests/ref/fate/mov-mp4-iamf-5_1_4-h264 | 140 +++++++++++++++++++++++++
 2 files changed, 152 insertions(+)
 create mode 100644 tests/ref/fate/mov-mp4-iamf-5_1_4-h264

diff --git a/tests/fate/mov.mak b/tests/fate/mov.mak
index d12980815f..4f0fe4e3a1 100644
--- a/tests/fate/mov.mak
+++ b/tests/fate/mov.mak
@@ -193,6 +193,18 @@ FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call REMUX, MP4 MOV) \
                           += fate-mov-write-amve
 fate-mov-write-amve: CMD = transcode mov $(TARGET_SAMPLES)/mov/amve.mov mp4 "-c:v copy" "-c:v copy -t 0.5" "-show_entries stream_side_data_list"
 
+# Test muxing an IAMF track alongside a video one. Also, use stream ids as track ids.
+FATE_MOV_FFMPEG_FFPROBE_SAMPLES-$(call TRANSCODE, FLAC, MOV, WAV_DEMUXER PCM_S16LE_DECODER ARESAMPLE_FILTER MOV_DEMUXER H264_PARSER) += fate-mov-mp4-iamf-5_1_4-h264
+fate-mov-mp4-iamf-5_1_4-h264: tests/data/asynth-44100-10.wav tests/data/filtergraphs/iamf_5_1_4 tests/data/streamgroups/audio_element-5_1_4 tests/data/streamgroups/mix_presentation-5_1_4
+fate-mov-mp4-iamf-5_1_4-h264: SRC = $(TARGET_PATH)/tests/data/asynth-44100-10.wav
+fate-mov-mp4-iamf-5_1_4-h264: CMD = transcode wav $(SRC) mp4 "-auto_conversion_filters \
+  -/filter_complex $(TARGET_PATH)/tests/data/filtergraphs/iamf_5_1_4 \
+  -/stream_group $(TARGET_PATH)/tests/data/streamgroups/audio_element-5_1_4 \
+  -/stream_group $(TARGET_PATH)/tests/data/streamgroups/mix_presentation-5_1_4 \
+  -streamid 0:0 -streamid 1:1 -streamid 2:2 -streamid 3:3 -streamid 4:4 -streamid 5:5 -streamid 6:6 -map [FRONT] -map [BACK] -map [CENTER] -map [LFE] -map [TOP_FRONT] -map [TOP_BACK] -map 1:v:0 -use_stream_ids_as_track_ids true -c:a flac -c:v copy -t 1" "-c:a copy -c:v copy -map 0" \
+  "-of compact -show_entries stream_group=index,id,nb_streams,type:stream_group_components:stream_group_disposition:stream_group_tags:stream_group_stream=index,id:stream_group_stream_disposition:stream=index,id" \
+  "-i $(TARGET_SAMPLES)/mov/spherical.mov"
+
 FATE_SAMPLES_FFMPEG_FFPROBE += $(FATE_MOV_FFMPEG_FFPROBE_SAMPLES-yes)
 FATE_SAMPLES_FFMPEG += $(FATE_MOV_FFMPEG_SAMPLES-yes)
 
diff --git a/tests/ref/fate/mov-mp4-iamf-5_1_4-h264 b/tests/ref/fate/mov-mp4-iamf-5_1_4-h264
new file mode 100644
index 0000000000..aa82eba514
--- /dev/null
+++ b/tests/ref/fate/mov-mp4-iamf-5_1_4-h264
@@ -0,0 +1,140 @@
+473e83cdb4f86931a355f46a41f6419e *tests/data/fate/mov-mp4-iamf-5_1_4-h264.mp4
+160118 tests/data/fate/mov-mp4-iamf-5_1_4-h264.mp4
+#extradata 0:       34, 0xafa70d5e
+#extradata 1:       34, 0xafa70d5e
+#extradata 2:       34, 0xaf7b0d5c
+#extradata 3:       34, 0xaf7b0d5c
+#extradata 4:       34, 0xafa70d5e
+#extradata 5:       34, 0xafa70d5e
+#extradata 6:       43, 0x2b0e0d7b
+#tb 0: 1/44100
+#media_type 0: audio
+#codec_id 0: flac
+#sample_rate 0: 44100
+#channel_layout_name 0: stereo
+#tb 1: 1/44100
+#media_type 1: audio
+#codec_id 1: flac
+#sample_rate 1: 44100
+#channel_layout_name 1: stereo
+#tb 2: 1/44100
+#media_type 2: audio
+#codec_id 2: flac
+#sample_rate 2: 44100
+#channel_layout_name 2: mono
+#tb 3: 1/44100
+#media_type 3: audio
+#codec_id 3: flac
+#sample_rate 3: 44100
+#channel_layout_name 3: mono
+#tb 4: 1/44100
+#media_type 4: audio
+#codec_id 4: flac
+#sample_rate 4: 44100
+#channel_layout_name 4: stereo
+#tb 5: 1/44100
+#media_type 5: audio
+#codec_id 5: flac
+#sample_rate 5: 44100
+#channel_layout_name 5: stereo
+#tb 6: 1/12800
+#media_type 6: video
+#codec_id 6: h264
+#dimensions 6: 1920x1080
+#sar 6: 0/1
+6,      -1024,          0,      512,    69118, 0x73cb52f0
+6,       -512,       2048,      512,     1103, 0x082a059f, F=0x0
+0,          0,          0,     4608,     1399, 0x6e89566e
+1,          0,          0,     4608,     1399, 0x6e89566e
+2,          0,          0,     4608,     1396, 0x0dcb5677
+3,          0,          0,     4608,     1396, 0x0dcb5677
+4,          0,          0,     4608,     1399, 0x6e89566e
+5,          0,          0,     4608,     1399, 0x6e89566e
+6,          0,       1024,      512,      141, 0x9273301d, F=0x0
+6,        512,        512,      512,      131, 0x1f28293e, F=0x0
+6,       1024,       1536,      512,       69, 0xefd506fc, F=0x0
+0,       4608,       4608,     4608,     1442, 0x6c3c5b13
+1,       4608,       4608,     4608,     1442, 0x6c3c5b13
+2,       4608,       4608,     4608,     1439, 0xc46b5ac5
+3,       4608,       4608,     4608,     1439, 0xc46b5ac5
+4,       4608,       4608,     4608,     1442, 0x6c3c5b13
+5,       4608,       4608,     4608,     1442, 0x6c3c5b13
+6,       1536,       4096,      512,      424, 0x4e50ba1f, F=0x0
+6,       2048,       3072,      512,       83, 0x730511d8, F=0x0
+6,       2560,       2560,      512,       70, 0x4aef0a79, F=0x0
+0,       9216,       9216,     4608,     1380, 0xc497571b
+1,       9216,       9216,     4608,     1380, 0xc497571b
+2,       9216,       9216,     4608,     1377, 0x5b2a55fe
+3,       9216,       9216,     4608,     1377, 0x5b2a55fe
+4,       9216,       9216,     4608,     1380, 0xc497571b
+5,       9216,       9216,     4608,     1380, 0xc497571b
+6,       3072,       3584,      512,       71, 0x66b10ad4, F=0x0
+6,       3584,       6144,      512,      149, 0x948833d0, F=0x0
+0,      13824,      13824,     4608,     1383, 0x48e9510f
+1,      13824,      13824,     4608,     1383, 0x48e9510f
+2,      13824,      13824,     4608,     1380, 0x045550d3
+3,      13824,      13824,     4608,     1380, 0x045550d3
+4,      13824,      13824,     4608,     1383, 0x48e9510f
+5,      13824,      13824,     4608,     1383, 0x48e9510f
+6,       4096,       5120,      512,       78, 0xc2ed0c72, F=0x0
+6,       4608,       4608,      512,       72, 0x9e2b0cf2, F=0x0
+6,       5120,       5632,      512,       72, 0x92390c65, F=0x0
+0,      18432,      18432,     4608,     1572, 0x9a514719
+1,      18432,      18432,     4608,     1572, 0x9a514719
+2,      18432,      18432,     4608,     1568, 0xa2bc45f4
+3,      18432,      18432,     4608,     1568, 0xa2bc45f4
+4,      18432,      18432,     4608,     1572, 0x9a514719
+5,      18432,      18432,     4608,     1572, 0x9a514719
+6,       5632,       8192,      512,       99, 0xcc3419d1, F=0x0
+6,       6144,       7168,      512,       78, 0x89ce0b34, F=0x0
+6,       6656,       6656,      512,       72, 0x6df70c38, F=0x0
+0,      23040,      23040,     4608,     1391, 0x74ac5014
+1,      23040,      23040,     4608,     1391, 0x74ac5014
+2,      23040,      23040,     4608,     1388, 0x96c85007
+3,      23040,      23040,     4608,     1388, 0x96c85007
+4,      23040,      23040,     4608,     1391, 0x74ac5014
+5,      23040,      23040,     4608,     1391, 0x74ac5014
+6,       7168,       7680,      512,       72, 0x62040baa, F=0x0
+6,       7680,      10240,      512,       80, 0x6bd00d20, F=0x0
+0,      27648,      27648,     4608,     1422, 0x2f9d47c5
+1,      27648,      27648,     4608,     1422, 0x2f9d47c5
+2,      27648,      27648,     4608,     1419, 0x4d4d466a
+3,      27648,      27648,     4608,     1419, 0x4d4d466a
+4,      27648,      27648,     4608,     1422, 0x2f9d47c5
+5,      27648,      27648,     4608,     1422, 0x2f9d47c5
+6,       8192,       9216,      512,       78, 0x9cee0b78, F=0x0
+6,       8704,       8704,      512,       72, 0x7f7e0c7b, F=0x0
+6,       9216,       9728,      512,       72, 0x738c0bee, F=0x0
+0,      32256,      32256,     4608,     1768, 0x2a044b99
+1,      32256,      32256,     4608,     1768, 0x2a044b99
+2,      32256,      32256,     4608,     1765, 0xacb84b24
+3,      32256,      32256,     4608,     1765, 0xacb84b24
+4,      32256,      32256,     4608,     1768, 0x2a044b99
+5,      32256,      32256,     4608,     1768, 0x2a044b99
+6,       9728,      12288,      512,       77, 0x08760827, F=0x0
+6,      10240,      11264,      512,       78, 0xb00d0bbb, F=0x0
+0,      36864,      36864,     4608,     1534, 0xb0b35a3f
+1,      36864,      36864,     4608,     1534, 0xb0b35a3f
+2,      36864,      36864,     4608,     1531, 0x996458aa
+3,      36864,      36864,     4608,     1531, 0x996458aa
+4,      36864,      36864,     4608,     1534, 0xb0b35a3f
+5,      36864,      36864,     4608,     1534, 0xb0b35a3f
+6,      10752,      10752,      512,       72, 0x91070cc0, F=0x0
+6,      11264,      11776,      512,       72, 0x85150c33, F=0x0
+6,      11776,      14336,      512,       77, 0x1b51086a, F=0x0
+0,      41472,      41472,     2628,      926, 0xc26a5eae
+1,      41472,      41472,     2628,      926, 0xc26a5eae
+2,      41472,      41472,     2628,      923, 0xa7225edf
+3,      41472,      41472,     2628,      923, 0xa7225edf
+4,      41472,      41472,     2628,      926, 0xc26a5eae
+5,      41472,      41472,     2628,      926, 0xc26a5eae
+6,      12288,      13312,      512,       78, 0xc32e0c00, F=0x0
+stream_group|index=0|id=0x1|nb_streams=6|type=IAMF Audio Element|component_entry/iamf_audio_element:nb_layers=4|component_entry/iamf_audio_element:audio_element_type=0|component_entry/iamf_audio_element:default_w=10|subcomponent_entry/iamf_audio_layer:channel_layout=stereo|subcomponent_entry/iamf_audio_layer:output_gain_flags=0|subcomponent_entry/iamf_audio_layer:output_gain=0/1|subcomponent_entry/iamf_audio_layer:channel_layout=5.1|subcomponent_entry/iamf_audio_layer:output_gain_flags=0|subcomponent_entry/iamf_audio_layer:output_gain=0/1|subcomponent_entry/iamf_audio_layer:channel_layout=5.1.2|subcomponent_entry/iamf_audio_layer:output_gain_flags=0|subcomponent_entry/iamf_audio_layer:output_gain=0/1|subcomponent_entry/iamf_audio_layer:channel_layout=5.1.4|subcomponent_entry/iamf_audio_layer:output_gain_flags=0|subcomponent_entry/iamf_audio_layer:output_gain=0/1|subcomponent_entry/iamf_param_definition:name=demixing_info|subcomponent_entry/iamf_param_definition:nb_subblocks=1|subcom
 ponent_entry/iamf_param_definition:type=1|subcomponent_entry/iamf_param_definition:parameter_id=998|subcomponent_entry/iamf_param_definition:parameter_rate=44100|subcomponent_entry/iamf_param_definition:duration=4608|subcomponent_entry/iamf_param_definition:constant_subblock_duration=4608|piece_entry/iamf_demixing_info:subblock_duration=4608|piece_entry/iamf_demixing_info:dmixp_mode=1|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|disposition:multilayer=0|tag:language=und|tag:handler_name=SoundHandler|tag:vendor_id=[0][0][0][0]|stream|index=0|id=0x0|disposition:default=1|disposition:dub=0|di
 sposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|disposition:multilayer=0stream|index=1|id=0x1|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=2|id=0x2|disposition:default=0|disposition:dub=0|disposition:ori
 ginal=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=3|id=0x3|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=4|id=0x4|disposition:default=0|disposition:dub=0|disposition:original=0|dispo
 sition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=5|id=0x5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0
+stream_group|index=1|id=0x2|nb_streams=6|type=IAMF Mix Presentation|component_entry/iamf_mix_presentation:nb_submixes=1|subcomponent_entry/iamf_annotations:en-us=Mix_Presentation|subcomponent_entry/iamf_submix:nb_elements=1|subcomponent_entry/iamf_submix:nb_layouts=4|subcomponent_entry/iamf_submix:default_mix_gain=256/256|piece_entry/iamf_submix_element:stream_id=1|piece_entry/iamf_submix_element:default_mix_gain=0/256|piece_entry/iamf_submix_element:headphones_rendering_mode=0|subpiece_entry/iamf_annotations:en-us=Scalable_Submix|subpiece_entry/iamf_param_definition:name=element_mix_config|subpiece_entry/iamf_param_definition:nb_subblocks=0|subpiece_entry/iamf_param_definition:type=0|subpiece_entry/iamf_param_definition:parameter_id=100|subpiece_entry/iamf_param_definition:parameter_rate=48000|subpiece_entry/iamf_param_definition:duration=0|subpiece_entry/iamf_param_definition:constant_subblock_duration=0|piece_entry/iamf_param_definition:name=output_mix_config|piece_entry/iamf_par
 am_definition:nb_subblocks=0|piece_entry/iamf_param_definition:type=0|piece_entry/iamf_param_definition:parameter_id=100|piece_entry/iamf_param_definition:parameter_rate=48000|piece_entry/iamf_param_definition:duration=0|piece_entry/iamf_param_definition:constant_subblock_duration=0|piece_entry/iamf_submix_layout:sound_system=stereo|piece_entry/iamf_submix_layout:integrated_loudness=256/256|piece_entry/iamf_submix_layout:digital_peak=0/256|piece_entry/iamf_submix_layout:true_peak=0/1|piece_entry/iamf_submix_layout:dialogue_anchored_loudness=0/1|piece_entry/iamf_submix_layout:album_anchored_loudness=0/1|piece_entry/iamf_submix_layout:sound_system=5.1|piece_entry/iamf_submix_layout:integrated_loudness=0/256|piece_entry/iamf_submix_layout:digital_peak=0/256|piece_entry/iamf_submix_layout:true_peak=0/1|piece_entry/iamf_submix_layout:dialogue_anchored_loudness=0/1|piece_entry/iamf_submix_layout:album_anchored_loudness=0/1|piece_entry/iamf_submix_layout:sound_system=5.1.2|piece_entry/iamf
 _submix_layout:integrated_loudness=0/256|piece_entry/iamf_submix_layout:digital_peak=0/256|piece_entry/iamf_submix_layout:true_peak=0/1|piece_entry/iamf_submix_layout:dialogue_anchored_loudness=0/1|piece_entry/iamf_submix_layout:album_anchored_loudness=0/1|piece_entry/iamf_submix_layout:sound_system=5.1.4|piece_entry/iamf_submix_layout:integrated_loudness=0/256|piece_entry/iamf_submix_layout:digital_peak=0/256|piece_entry/iamf_submix_layout:true_peak=0/1|piece_entry/iamf_submix_layout:dialogue_anchored_loudness=0/1|piece_entry/iamf_submix_layout:album_anchored_loudness=0/1|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent
 =0|disposition:still_image=0|disposition:multilayer=0|tag:language=und|tag:handler_name=SoundHandler|tag:vendor_id=[0][0][0][0]|stream|index=0|id=0x0|disposition:default=1|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=0|disposition:still_image=0|disposition:multilayer=0stream|index=1|id=0x1|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|dispositi
 on:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=2|id=0x2|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=3|id=0x3|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptio
 ns=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=4|id=0x4|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposition:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0stream|index=5|id=0x5|disposition:default=0|disposition:dub=0|disposition:original=0|disposition:comment=0|disposition:lyrics=0|disposition:karaoke=0|disposition:forced=0|disposition:hearing_impaired=0|disposition:visual_impaired=0|disposition:clean_effects=0|disposition:attached_pic=0|disposition:timed_thumbnails=0|disposition:non_diegetic=0|disposition:captions=0|disposition:descriptions=0|disposit
 ion:metadata=0|disposition:dependent=1|disposition:still_image=0|disposition:multilayer=0
+stream|index=0|id=0x0
+stream|index=1|id=0x1
+stream|index=2|id=0x2
+stream|index=3|id=0x3
+stream|index=4|id=0x4
+stream|index=5|id=0x5
+stream|index=6|id=0x6
-- 
2.45.2

_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

To unsubscribe, visit link above, or email
ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2024-08-01 15:10 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-08-01  2:14 [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first James Almer
2024-08-01  2:14 ` [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test James Almer
2024-08-01  8:59 ` [FFmpeg-devel] [PATCH 1/2] avformat/mov: ensure the IAMF track is the first Anton Khirnov
2024-08-01 12:35   ` James Almer
2024-08-01 15:07     ` James Almer
2024-08-01 15:10 [FFmpeg-devel] [PATCH 1/2] avformat/mov: fix track handling when mixing IAMF and video tracks James Almer
2024-08-01 15:10 ` [FFmpeg-devel] [PATCH 2/2] fate/mov: add an IAMF+video muxing test James Almer

Git Inbox Mirror of the ffmpeg-devel mailing list - see https://ffmpeg.org/mailman/listinfo/ffmpeg-devel

This inbox may be cloned and mirrored by anyone:

	git clone --mirror https://master.gitmailbox.com/ffmpegdev/0 ffmpegdev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 ffmpegdev ffmpegdev/ https://master.gitmailbox.com/ffmpegdev \
		ffmpegdev@gitmailbox.com
	public-inbox-index ffmpegdev

Example config snippet for mirrors.


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git