From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 52B5949A78 for ; Wed, 27 Mar 2024 23:59:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 956F868D56D; Thu, 28 Mar 2024 01:59:06 +0200 (EET) Received: from mail-pl1-f181.google.com (mail-pl1-f181.google.com [209.85.214.181]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4BF9868D15D for ; Thu, 28 Mar 2024 01:59:00 +0200 (EET) Received: by mail-pl1-f181.google.com with SMTP id d9443c01a7336-1e0d6356ce9so3364345ad.3 for ; Wed, 27 Mar 2024 16:59:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1711583938; x=1712188738; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=TZUtc047zFFNp+TzRZeydSdJ5CY0eEUhuwMQoZnuNNk=; b=VuP+T2WNg51qDtGhOro8a74e0nCcI1VhPzZ4p10ujkMGGIzKYC+YINXKCuliaA98pJ Nl7xjL3NJ9UTQ7hzR3SLczgBJfCytgZdwL/+kfwiq+vRAumNjAtxdyNgo6dE53rCNtSJ Doguzxw5nrr895pQb1FierJ+Y4M3Ol6VexkedPFkLLdRh6OiF5X9MsYo7H/lVHIgX2ko bxO8mXezlBdZVJcC966zi20SusgsgSXZDCTl+nbLgAO7L+miDm97HTXhuqxH0oqTWRpB 0t1UtyRva6agq36C+L+prIrWIdNoVHHNpKc5uxn/lrrUCVe7yx2B2gQV7AIFofDzSgP5 Emng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1711583938; x=1712188738; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=TZUtc047zFFNp+TzRZeydSdJ5CY0eEUhuwMQoZnuNNk=; b=c/6Nh8PikdRZ0BN8/N3U5V1yv2U6VJ3io3NJ3s+eQ14GN5MuvziKRY2T3oPktZlZuV V6kTFU0XnkxZDB7ja5HkLDW7kOSK5YSabkcXNxqU+Vm4ldltXZj5xpTbJcsZmCW0WmN3 vtHjcxudFtN1nSaFi51yx5FT4cr0/6beaYOoNjSoYWg1EqEx9BsPE2oxgGDs0j15sqY8 jLDFKlHpHPuWeoX/B1NRpmpHroDTCkEVeZT3LloKTmxCdxcRCEEw08CQhjU941WHLiyb Z88Je2wJKpzKTp1Lo+dQh3QJ7kWQ0SMPpYx4UOLiehjRzwVoJbvQC+/jovocD66c31Dl 4sjQ== X-Gm-Message-State: AOJu0YwcCkqZe+fRbXoNKMOX59uXw7XThor07jsXJYt+0yLO2TAs55b0 MdUfcCIrMDCj0vKUY78taxt+b93i8usC97TUHpFnmR8+nBLgnsfqd7iZu+Mw X-Google-Smtp-Source: AGHT+IEN78WS69JasLBxKwFwbX3pGGpPIVWwgI6JG/q7a/yUOzsBqcdWefsMLvnNcPA5zJwKAqEoXg== X-Received: by 2002:a17:903:22d0:b0:1e0:9eeb:cbf6 with SMTP id y16-20020a17090322d000b001e09eebcbf6mr1574088plg.4.1711583937661; Wed, 27 Mar 2024 16:58:57 -0700 (PDT) Received: from [192.168.0.15] ([190.194.167.233]) by smtp.gmail.com with ESMTPSA id la5-20020a170902fa0500b001dede7dd3c7sm111928plb.111.2024.03.27.16.58.56 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 27 Mar 2024 16:58:57 -0700 (PDT) Message-ID: Date: Wed, 27 Mar 2024 20:58:58 -0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: ffmpeg-devel@ffmpeg.org References: <20240327235548.1062119-1-ezemtsov@google.com> Content-Language: en-US From: James Almer In-Reply-To: <20240327235548.1062119-1-ezemtsov@google.com> Subject: Re: [FFmpeg-devel] [PATCH] Make Immersive Audio Model optional for MOV demuxing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 3/27/2024 8:55 PM, Eugene Zemtsov via ffmpeg-devel wrote: > From: Eugene Zemtsov > > Signed-off-by: Eugene Zemtsov > --- > libavformat/mov.c | 15 ++++++++++++++- > 1 file changed, 14 insertions(+), 1 deletion(-) > > diff --git a/libavformat/mov.c b/libavformat/mov.c > index c55778f3ef..662301bf67 100644 > --- a/libavformat/mov.c > +++ b/libavformat/mov.c > @@ -839,6 +839,7 @@ static int mov_read_dac3(MOVContext *c, AVIOContext *pb, MOVAtom atom) > return 0; > } > > +#if CONFIG_IAMFDEC > static int mov_read_iacb(MOVContext *c, AVIOContext *pb, MOVAtom atom) > { > AVStream *st; > @@ -1015,6 +1016,7 @@ fail: > > return ret; > } > +#endif > > static int mov_read_dec3(MOVContext *c, AVIOContext *pb, MOVAtom atom) > { > @@ -4797,6 +4799,7 @@ static void fix_timescale(MOVContext *c, MOVStreamContext *sc) > } > } > > +#if CONFIG_IAMFDEC > static int mov_update_iamf_streams(MOVContext *c, const AVStream *st) > { > const MOVStreamContext *sc = st->priv_data; > @@ -4840,6 +4843,7 @@ static int mov_update_iamf_streams(MOVContext *c, const AVStream *st) > > return 0; > } > +#endif > > static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) > { > @@ -4921,11 +4925,13 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom) > > mov_build_index(c, st); > > +#if CONFIG_IAMFDEC > if (sc->iamf) { > ret = mov_update_iamf_streams(c, st); > if (ret < 0) > return ret; > } > +#endif > > if (sc->dref_id-1 < sc->drefs_count && sc->drefs[sc->dref_id-1].path) { > MOVDref *dref = &sc->drefs[sc->dref_id - 1]; > @@ -8457,7 +8463,9 @@ static const MOVParseTableEntry mov_default_parse_table[] = { > { MKTAG('i','p','r','p'), mov_read_iprp }, > { MKTAG('i','i','n','f'), mov_read_iinf }, > { MKTAG('a','m','v','e'), mov_read_amve }, /* ambient viewing environment box */ > +#if CONFIG_IAMFDEC > { MKTAG('i','a','c','b'), mov_read_iacb }, > +#endif > { 0, NULL } > }; > > @@ -8929,8 +8937,10 @@ static void mov_free_stream_context(AVFormatContext *s, AVStream *st) > av_freep(&sc->coll); > av_freep(&sc->ambient); > > +#if CONFIG_IAMFDEC > if (sc->iamf) > ff_iamf_read_deinit(sc->iamf); > +#endif > av_freep(&sc->iamf); > } > > @@ -9570,6 +9580,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) > > if (st->codecpar->codec_id == AV_CODEC_ID_EIA_608 && sample->size > 8) > ret = get_eia608_packet(sc->pb, pkt, sample->size); > +#if CONFIG_IAMFDEC > else if (sc->iamf) { > int64_t pts, dts, pos, duration; > int flags, size = sample->size; > @@ -9592,7 +9603,9 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt) > } > if (!ret) > return FFERROR_REDO; > - } else > + } > +#endif > + else > ret = av_get_packet(sc->pb, pkt, sample->size); > if (ret < 0) { > if (should_retry(sc->pb, ret)) { Can you elaborate why you need this? In configure the mov demuxer selects iamfdec, so it will always be present and compiled. _______________________________________________ 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".