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 A997B40836 for ; Wed, 2 Mar 2022 23:24:05 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A7C5168B37E; Thu, 3 Mar 2022 01:24:04 +0200 (EET) Received: from mail-yw1-f173.google.com (mail-yw1-f173.google.com [209.85.128.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 83D5F68B084 for ; Thu, 3 Mar 2022 01:23:57 +0200 (EET) Received: by mail-yw1-f173.google.com with SMTP id 00721157ae682-2d07c4a0d06so36388707b3.13 for ; Wed, 02 Mar 2022 15:23:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=LJcLVGRyVJQG/lKGaJqodjYXI5qS2Tr5ftQqJlPccTA=; b=WO91QkvLkX0UI8AuimTB94yALioRisp1cQStTQsU+zLv/PClZLl/OwA17Sd8CxFW/H 0Kq5cx1tszb4w01xeq/DpTrEfwqqbj+ucShUCBy1lxNdmbqT09VE3TdXuiGaZTpeQPP0 L2y04uOpUQUeUhQuR+VLL/gfnM3q9w4RkNCUFN3ZXhqhckLbh4aQru2MxO1Ym5ylMEgs gWkiIQC0D6LDC4pipn6+4qvAe9SqdczNCZHiij5X18o26P7glBEWYN8KWU+wq036yo5q TV/u4r39bHFTO3d14tfmCRj2rjIdzBJ69lT1TO/CQ4NpsVAriCsnSuZKPsKHOFE4/AO5 HXWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=LJcLVGRyVJQG/lKGaJqodjYXI5qS2Tr5ftQqJlPccTA=; b=XxnaMIKQnzepN+0ZCEn6EcvYlMhK0n2MbB/QGgyqkSFg9v/sLZGlrAKWakb3vwsdm7 YesHrKXtvumvrPiYHeyzTObT+8vB3ftLyZyRf8AzisZefcanx6blPXpSw3u6USsUlXUg HkpbDisiEYhCC0ybbOa97/M7QnDFaMUI7efnc7ME0IbY2tyNB43tA71a/DTq8bp30VFj Rik9oH1q5PMIu0FPuEV3GWZ8Zg8qoJYgQVnRPX8SXffzTs3bqAuHbpkjmIXv0o5+47fV gcBNwAt83Mf+wURhPVz/BSD6oJrvIyuT2LoyHhRXSDNms3pd4g9a1ILuAF8Tu1sFnAMY pXIQ== X-Gm-Message-State: AOAM5328VdJX7KtHrSCX5hib3xk4+vZP+RTPALtArw8T7fRZk0N8+m1e SVq6IJYZYu1s81ZjDKCAT5bSSPkncaFqEAtIUxVtHbMaeVM= X-Google-Smtp-Source: ABdhPJwa7EW49Mz9tlwdNNHCSs2pnzcQtZShqrT2jkuPcr25AgpjLqJqkidBWMeKEdSh2RbnKJp/f+Xm12dDi+iwWxo= X-Received: by 2002:a81:848e:0:b0:2dc:1f07:948d with SMTP id u136-20020a81848e000000b002dc1f07948dmr3770871ywf.434.1646263435869; Wed, 02 Mar 2022 15:23:55 -0800 (PST) MIME-Version: 1.0 References: <20220217055117.3233501-1-vigneshv@google.com> <20220217055117.3233501-2-vigneshv@google.com> <97b0c7e3-c333-2e0a-35e0-704ae4c59000@gmail.com> In-Reply-To: <97b0c7e3-c333-2e0a-35e0-704ae4c59000@gmail.com> From: Vignesh Venkatasubramanian Date: Wed, 2 Mar 2022 15:23:44 -0800 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH 2/3] avformat/av1: Add a parameter to av1c to omit seq header 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On Wed, Mar 2, 2022 at 2:57 PM James Almer wrote: > > On 2/17/2022 2:51 AM, Vignesh Venkatasubramanian wrote: > > Add a parameter to omit seq header when generating the av1C atom. > > > > For now, this does not change any behavior. This will be used by a > > follow-up patch to add AVIF support. > > > > Signed-off-by: Vignesh Venkatasubramanian > > --- > > libavformat/av1.c | 7 +++++-- > > libavformat/av1.h | 4 +++- > > libavformat/matroskaenc.c | 4 ++-- > > libavformat/movenc.c | 2 +- > > 4 files changed, 11 insertions(+), 6 deletions(-) > > > > diff --git a/libavformat/av1.c b/libavformat/av1.c > > index 1fcfac2356..95ca7cc47f 100644 > > --- a/libavformat/av1.c > > +++ b/libavformat/av1.c > > @@ -361,7 +361,8 @@ int ff_av1_parse_seq_header(AV1SequenceParameters *seq, const uint8_t *buf, int > > return AVERROR_INVALIDDATA; > > } > > > > -int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size) > > +int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size, > > + int write_seq_header) > > { > > AVIOContext *meta_pb; > > AV1SequenceParameters seq_params; > > @@ -451,7 +452,9 @@ int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size) > > flush_put_bits(&pbc); > > > > avio_write(pb, header, sizeof(header)); > > - avio_write(pb, seq, seq_size); > > + if (write_seq_header) { > > + avio_write(pb, seq, seq_size); > > + } > > > > meta_size = avio_get_dyn_buf(meta_pb, &meta); > > if (meta_size) > > diff --git a/libavformat/av1.h b/libavformat/av1.h > > index f57dabe986..a393fbb78f 100644 > > --- a/libavformat/av1.h > > +++ b/libavformat/av1.h > > @@ -96,9 +96,11 @@ int ff_av1_parse_seq_header(AV1SequenceParameters *seq, const uint8_t *buf, int > > * @param pb pointer to the AVIOContext where the av1C box shall be written > > * @param buf input data buffer > > * @param size size in bytes of the input data buffer > > + * @param write_seq_header If 1, Sequence Header OBU will be written inside the > > + * av1C box. Otherwise, Sequence Header OBU will be omitted. > > * > > * @return >= 0 in case of success, a negative AVERROR code in case of failure > > */ > > -int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size); > > +int ff_isom_write_av1c(AVIOContext *pb, const uint8_t *buf, int size, int write_seq_header); > > > > #endif /* AVFORMAT_AV1_H */ > > diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c > > index 38d9485288..5061961283 100644 > > --- a/libavformat/matroskaenc.c > > +++ b/libavformat/matroskaenc.c > > @@ -1087,7 +1087,7 @@ static int mkv_write_native_codecprivate(AVFormatContext *s, AVIOContext *pb, > > case AV_CODEC_ID_AV1: > > if (par->extradata_size) > > return ff_isom_write_av1c(dyn_cp, par->extradata, > > - par->extradata_size); > > + par->extradata_size, 1); > > else > > put_ebml_void(pb, 4 + 3); > > break; > > @@ -2663,7 +2663,7 @@ static int mkv_check_new_extra_data(AVFormatContext *s, const AVPacket *pkt) > > ret = avio_open_dyn_buf(&dyn_cp); > > if (ret < 0) > > return ret; > > - ff_isom_write_av1c(dyn_cp, side_data, side_data_size); > > + ff_isom_write_av1c(dyn_cp, side_data, side_data_size, 1); > > codecpriv_size = avio_get_dyn_buf(dyn_cp, &codecpriv); > > if ((ret = dyn_cp->error) < 0 || > > !codecpriv_size && (ret = AVERROR_INVALIDDATA)) { > > diff --git a/libavformat/movenc.c b/libavformat/movenc.c > > index 4c868919ae..1a746a67fd 100644 > > --- a/libavformat/movenc.c > > +++ b/libavformat/movenc.c > > @@ -1303,7 +1303,7 @@ static int mov_write_av1c_tag(AVIOContext *pb, MOVTrack *track) > > > > avio_wb32(pb, 0); > > ffio_wfourcc(pb, "av1C"); > > - ff_isom_write_av1c(pb, track->vos_data, track->vos_len); > > + ff_isom_write_av1c(pb, track->vos_data, track->vos_len, 1); > > return update_size(pb, pos); > > } > > > > This patch no longer applies. I have generated a new patch after sync'ing to the latest master. I did not notice any conflicts. Can you please check if the updated patch applies? > _______________________________________________ > 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". -- Vignesh _______________________________________________ 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".