From patchwork Fri Jan 26 18:04:30 2024 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: 45846 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:8786:b0:199:de12:6fa6 with SMTP id ph6csp129740pzb; Fri, 26 Jan 2024 10:04:46 -0800 (PST) X-Google-Smtp-Source: AGHT+IFu7kjjKvcBDvPlH9F7SvNCpHW0lqOFztYZ5TVQTrX4PQJigqgxEmbBgOZ12HKma4xjqh2D X-Received: by 2002:aa7:d506:0:b0:55c:8f3e:e93e with SMTP id y6-20020aa7d506000000b0055c8f3ee93emr48209edq.2.1706292285561; Fri, 26 Jan 2024 10:04:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1706292285; cv=none; d=google.com; s=arc-20160816; b=P9ENKA1/Am8PS5++bafOD/pUr0ltptAIdDbqOQKPh0pV1eZUWqhpofBKHmYehHpCu1 YOmuxvAvztjFFR/O2NtmfuEGw67H/0n+3Uv8JRr6P/X1g3O6VdTEzQr+1+USQl8HP9cP 13tWLzYqPht/NDuPCD7cLXOckdG30VnCwh0IOzWHUP5N8TZIeDA6FpEuA2Ynxa3UhEDF /mEm60mlvA6EO8lf312eb+cq0H/oSclPzZLYfj11a7WpSbDQUe6akS3wYbqb+zhARDPz v1NRx8AUnu659yJpY/qyNdWqL6Pomshq9chWdZKBupk4kuBQgU591GB0qUS3nMl0C/08 gGpA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:from:to :content-language:mime-version:date:message-id:delivered-to; bh=Hk6Jsm0l6B1HDYuHp31Q2Dpward/CQFNCr0aeOqTBXg=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=JoFs9JocjHAxrpkECKhazpmOjgYtRctIJuEyo4vnLBWagLcrQygkvHSiw5j3W6iTFY r+0C1kf0exGXhS1Vnj2LzvouwUHoHn3XWdYbtkG0rZTg8KOUKwSq3DR3dYK+xTAjVifF arE14dB0z29s9rCUX6kNo/y5UcA9TgKlJMtfYSA+cHfXWvznaFJBgF+7SRmCIr5b2/jg WRL79xWLgJVK0aRr3RMZnWUkWTkUx1gdz4FRkLtvICSqPx/fWOehv1Gbj0jW6ujSgE/3 uMGcnamrnYjcrLuMnDHoSczIukUpXV/SajI/4O5rS8bZQ5MLbBE8mZ+V9Wi/KEt8zKeA K/Tw== 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 cx26-20020a05640222ba00b00559e49b9cddsi826859edb.188.2024.01.26.10.04.45; Fri, 26 Jan 2024 10:04:45 -0800 (PST) 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 53ADE68D177; Fri, 26 Jan 2024 20:04:42 +0200 (EET) 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 1E53E68CBD3 for ; Fri, 26 Jan 2024 20:04:36 +0200 (EET) Received: from ektacom.com (mail.ektacom.com [82.64.203.93]) by gandalf.ektacom.com (Postfix) with ESMTP id C0FF545A266 for ; Fri, 26 Jan 2024 19:04:35 +0100 (CET) Message-ID: <437d32e7-19a2-48c1-978c-84e8f195b1a3@ektacom.com> Date: Fri, 26 Jan 2024 19:04:30 +0100 MIME-Version: 1.0 Content-Language: en-US To: FFmpeg development discussions and patches From: =?utf-8?q?C=C3=A9dric_Le_Barz?= X-MailScanner-ID: E111F1F7C1DB.A8241 X-MailScanner: Found to be clean X-MailScanner-From: clebarz@ektacom.com X-Spam-Status: No Subject: [FFmpeg-devel] [PATCH] [MXF] - Add "footer_with_hmd" option 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: zUTTxwoeOBf0 Add "footer_with_hmd" option: this option activates the writing of the header metadata in the footer partition. Signed-off-by: Cedric Le Barz --- ffmpeg/libavformat/mxfenc.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ffmpeg/libavformat/mxfenc.c b/ffmpeg/libavformat/mxfenc.c index 0f13068..79c92e1 100644 --- a/ffmpeg/libavformat/mxfenc.c +++ b/ffmpeg/libavformat/mxfenc.c @@ -480,6 +480,7 @@ typedef struct MXFContext { int cbr_index; ///< use a constant bitrate index uint8_t unused_tags[MXF_NUM_TAGS]; ///< local tags that we know will not be used MXFStreamContext timecode_track_priv; + int footer_with_hmd; // Flag to activate header metadata writing in footer partition } MXFContext; static void mxf_write_uuid(AVIOContext *pb, enum MXFMetadataSetType type, int value) @@ -3420,10 +3421,10 @@ static int mxf_write_footer(AVFormatContext *s) mxf_write_klv_fill(s); mxf->footer_partition_offset = avio_tell(pb); if (mxf->edit_unit_byte_count && !IS_OPATOM(s)) { // no need to repeat index - if ((err = mxf_write_partition(s, 0, 0, footer_partition_key, 0)) < 0) + if ((err = mxf_write_partition(s, 0, 0, footer_partition_key, mxf->footer_with_hmd)) < 0) return err; } else { - if ((err = mxf_write_partition(s, 0, 2, footer_partition_key, 0)) < 0) + if ((err = mxf_write_partition(s, 0, 2, footer_partition_key, mxf->footer_with_hmd)) < 0) return err; mxf_write_klv_fill(s); mxf_write_index_table_segment(s); @@ -3567,6 +3568,8 @@ static const AVOption mxf_options[] = { MXF_COMMON_OPTIONS { "store_user_comments", "", offsetof(MXFContext, store_user_comments), AV_OPT_TYPE_BOOL, {.i64 = 1}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, + { "footer_with_hmd", "", + offsetof(MXFContext, footer_with_hmd), AV_OPT_TYPE_BOOL, {.i64 = 0}, 0, 1, AV_OPT_FLAG_ENCODING_PARAM}, { NULL }, };