PR #20993 opened by James Almer (jamrial) URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20993 Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/20993.patch
>From 79823311f5ac847b7a85319b7814959bc84d89a7 Mon Sep 17 00:00:00 2001 From: James Almer <[email protected]> Date: Fri, 21 Nov 2025 16:58:13 -0300 Subject: [PATCH] avformat/mov: don't parse reserved ISOBMFF fields as if they were QT Signed-off-by: James Almer <[email protected]> --- libavformat/mov.c | 10 ++++++++++ tests/ref/fate/mov-mp4-iamf-5_1_4 | 2 -- tests/ref/fate/mov-mp4-iamf-7_1_4-video-first | 2 -- tests/ref/fate/mov-mp4-iamf-7_1_4-video-last | 2 -- tests/ref/fate/mov-mp4-iamf-ambisonic_1 | 2 -- tests/ref/fate/mov-mp4-iamf-stereo | 2 -- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/libavformat/mov.c b/libavformat/mov.c index eab9f79577..a3e1ba0a31 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -2678,12 +2678,18 @@ static void mov_parse_stsd_video(MOVContext *c, AVIOContext *pb, * read in ff_mov_read_stsd_entries() */ stsd_start = avio_tell(pb) - 16; + if (c->isom) { + avio_skip(pb, 2); /* pre_defined */ + avio_skip(pb, 2); /* reserved */ + avio_skip(pb, 12); /* pre_defined */ + } else { avio_rb16(pb); /* version */ avio_rb16(pb); /* revision level */ id = avio_rl32(pb); /* vendor */ av_dict_set(&st->metadata, "vendor_id", av_fourcc2str(id), 0); avio_rb32(pb); /* temporal quality */ avio_rb32(pb); /* spatial quality */ + } st->codecpar->width = avio_rb16(pb); /* width */ st->codecpar->height = avio_rb16(pb); /* height */ @@ -2733,9 +2739,13 @@ static void mov_parse_stsd_audio(MOVContext *c, AVIOContext *pb, AVDictionaryEntry *compatible_brands = av_dict_get(c->fc->metadata, "compatible_brands", NULL, AV_DICT_MATCH_CASE); int channel_count; + if (c->isom) + avio_skip(pb, 6); /* reserved */ + else { avio_rb16(pb); /* revision level */ id = avio_rl32(pb); /* vendor */ av_dict_set(&st->metadata, "vendor_id", av_fourcc2str(id), 0); + } channel_count = avio_rb16(pb); diff --git a/tests/ref/fate/mov-mp4-iamf-5_1_4 b/tests/ref/fate/mov-mp4-iamf-5_1_4 index 18a1f5337f..9eaa5ee42d 100644 --- a/tests/ref/fate/mov-mp4-iamf-5_1_4 +++ b/tests/ref/fate/mov-mp4-iamf-5_1_4 @@ -160,7 +160,6 @@ 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 @@ -395,7 +394,6 @@ 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 diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first index d5a1fe1cad..55cadb3d02 100644 --- a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first +++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-first @@ -207,7 +207,6 @@ DISPOSITION:still_image=0 DISPOSITION:multilayer=0 TAG:language=und TAG:handler_name=SoundHandler -TAG:vendor_id=[0][0][0][0] [STREAM] index=1 id=0x2 @@ -465,7 +464,6 @@ DISPOSITION:still_image=0 DISPOSITION:multilayer=0 TAG:language=und TAG:handler_name=SoundHandler -TAG:vendor_id=[0][0][0][0] [STREAM] index=1 id=0x2 diff --git a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last index caf89d41f6..80c924c821 100644 --- a/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last +++ b/tests/ref/fate/mov-mp4-iamf-7_1_4-video-last @@ -207,7 +207,6 @@ 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=0x9 @@ -465,7 +464,6 @@ 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=0x9 diff --git a/tests/ref/fate/mov-mp4-iamf-ambisonic_1 b/tests/ref/fate/mov-mp4-iamf-ambisonic_1 index d0877f73c7..b6f14099c3 100644 --- a/tests/ref/fate/mov-mp4-iamf-ambisonic_1 +++ b/tests/ref/fate/mov-mp4-iamf-ambisonic_1 @@ -99,7 +99,6 @@ 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 @@ -264,7 +263,6 @@ 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 diff --git a/tests/ref/fate/mov-mp4-iamf-stereo b/tests/ref/fate/mov-mp4-iamf-stereo index ca8f6a76f5..85e6e3efbb 100644 --- a/tests/ref/fate/mov-mp4-iamf-stereo +++ b/tests/ref/fate/mov-mp4-iamf-stereo @@ -52,7 +52,6 @@ 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 @@ -187,7 +186,6 @@ 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 -- 2.49.1 _______________________________________________ ffmpeg-devel mailing list -- [email protected] To unsubscribe send an email to [email protected]
