From patchwork Wed Mar 29 21:31:01 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?C=C3=A9dric_Le_Barz?= X-Patchwork-Id: 40910 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:4645:b0:e3:3194:9d20 with SMTP id eb5csp810926pzb; Wed, 29 Mar 2023 14:31:16 -0700 (PDT) X-Google-Smtp-Source: AKy350btTDWpP/eT5etaZg4Zcralj85ywBeTOzcE3dSkUAiOlzKzxXHupb+5s86mjrKHqaKS4E6L X-Received: by 2002:a17:906:3598:b0:92b:4f8e:dddb with SMTP id o24-20020a170906359800b0092b4f8edddbmr22886296ejb.34.1680125475825; Wed, 29 Mar 2023 14:31:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1680125475; cv=none; d=google.com; s=arc-20160816; b=Od1oCexeVUOZIA13C+hr3Zav4fwuJ/hf4wwDXD1/XuTxFiXLs3HHJQm2snVjl74ap2 jgtPxGtv072TuB9jJK2UtGGnUBS/6S4YOJ1oBCe+j5a7EPRXJkMuDdUdlkOIsE/lu83K gAP3lvlTJIuTlbWUT0v3mC+WLQwVDtx2VF93CL3mFJ58KwwagdN8tVkLtx7HRS1nB/vX UopNdGMYiCIEQJCsaCAF7+Kr6K7AG12up0m++mIsI/XgFBfopOh0Un3VVxu0Of0PKrRq 6Hpwy8/b7nIQAbIKIoIjuSdK/tcL5tXwoPIOk007LcSA5Dr2OMxcnNt3GrJWP2aZI9KG 4Gmg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:reply-to:list-subscribe :list-help:list-post:list-archive:list-unsubscribe:list-id :precedence:subject:content-language:to:from:mime-version:date :message-id:delivered-to; bh=28gbmBqCes0uPjN4nZRSrqa72oFBk+x5agicPBqtWoo=; b=YnHV2j1jdmHQ5rkQanCovvvMCZ5sOe6IUVT6FQpNdKHnDqO2HGy5Db67qurvSWXewj d6lOhBbQsmPO2OENc0Qf1wlBlpQ9xTDs4zzI4juYU/Ihd78uPdTfni3V+jR4DBzI3+UF TuObAFQz52LUgNx1ppxIB9ooCnPNUSugSimKnrg4DduUUe4395RHnqmKeSajNiKHM9rM BmJlJmXxC7PoMls3Sx9W4sP0CT/XCs89pSg2kCpLHA9hEIh4j686plxTdLC382R6/rso IFI5qpEpWqVVe+2PRE8AmZjIYAx1xZKYj3Ds6WYsdQQ16gDBfgdw+Zc3a1z39LNmhsZx lkCA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ne27-20020a1709077b9b00b00939c366a4bfsi24137933ejc.785.2023.03.29.14.31.15; Wed, 29 Mar 2023 14:31:15 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 63C6368C3E4; Thu, 30 Mar 2023 00:31:12 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from gandalf.ektacom.com (gandalf.ektacom.com [62.23.45.26]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A2F6968C30B for ; Thu, 30 Mar 2023 00:31:05 +0300 (EEST) Received: from ektacom.com (82-64-203-93.subs.proxad.net [82.64.203.93]) by gandalf.ektacom.com (Postfix) with ESMTP id 6894945A266 for ; Wed, 29 Mar 2023 23:31:05 +0200 (CEST) Message-ID: <7a2b39bf-9036-7bfa-3448-335c11f51cac@ektacom.com> Date: Wed, 29 Mar 2023 23:31:01 +0200 MIME-Version: 1.0 From: =?utf-8?q?C=C3=A9dric_Le_Barz?= To: ffmpeg-devel@ffmpeg.org Content-Language: en-US X-MailScanner-ID: 768EE1B0D809.A94DA X-MailScanner: Found to be clean X-MailScanner-From: clebarz@ektacom.com X-Spam-Status: No Subject: [FFmpeg-devel] [PATCH] MXF - Declare unused JPEG2000 tags in MXF file - Sponsored by INA 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: SSFJAplF1CQB Declare unused JPEG2000 tags in MXF file. Signed-off-by: Cedric Le Barz Signed-off-by: Cedric Le Barz --- ffmpeg/libavformat/mxfenc.c | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) mxf_write_cdci_common(AVFormatContext *s, AVStream *st, const UID f1 *= 2; } - mxf_write_local_tag(s, 16, 0x320D); avio_wb32(pb, 2); avio_wb32(pb, 4); @@ -3406,4 +3423,3 @@ const FFOutputFormat ff_mxf_opatom_muxer = { .p.priv_class = &mxf_opatom_muxer_class, }; - diff --git a/ffmpeg/libavformat/mxfenc.c b/ffmpeg/libavformat/mxfenc.c index bfbd5a6..67d8f67 100644 --- a/ffmpeg/libavformat/mxfenc.c +++ b/ffmpeg/libavformat/mxfenc.c @@ -542,7 +542,7 @@ static void mxf_write_primer_pack(AVFormatContext *s) MXFContext *mxf = s->priv_data; AVIOContext *pb = s->pb; int local_tag_number = MXF_NUM_TAGS, i; - int will_have_avc_tags = 0, will_have_mastering_tags = 0; + int will_have_avc_tags = 0, will_have_mastering_tags = 0, will_have_jpeg2000_tags = 0; for (i = 0; i < s->nb_streams; i++) { MXFStreamContext *sc = s->streams[i]->priv_data; @@ -552,6 +552,9 @@ static void mxf_write_primer_pack(AVFormatContext *s) if (av_stream_get_side_data(s->streams[i], AV_PKT_DATA_MASTERING_DISPLAY_METADATA, NULL)) { will_have_mastering_tags = 1; } + if (s->streams[i]->codecpar->codec_id == AV_CODEC_ID_JPEG2000){ + will_have_jpeg2000_tags = 1; + } } if (!mxf->store_user_comments) { @@ -574,6 +577,21 @@ static void mxf_write_primer_pack(AVFormatContext *s) mxf_mark_tag_unused(mxf, 0x8304); } + if (!will_have_jpeg2000_tags) { + mxf_mark_tag_unused(mxf, 0x8401); + mxf_mark_tag_unused(mxf, 0x8402); + mxf_mark_tag_unused(mxf, 0x8403); + mxf_mark_tag_unused(mxf, 0x8404); + mxf_mark_tag_unused(mxf, 0x8405); + mxf_mark_tag_unused(mxf, 0x8406); + mxf_mark_tag_unused(mxf, 0x8407); + mxf_mark_tag_unused(mxf, 0x8408); + mxf_mark_tag_unused(mxf, 0x8409); + mxf_mark_tag_unused(mxf, 0x840A); + mxf_mark_tag_unused(mxf, 0x840B); + mxf_mark_tag_unused(mxf, 0x840C); + } + for (i = 0; i < MXF_NUM_TAGS; i++) { if (mxf->unused_tags[i]) { local_tag_number--; @@ -1297,7 +1315,6 @@ static int64_t