* [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