From patchwork Fri Feb 9 10:58:40 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?C=C3=A9dric_Le_Barz?= X-Patchwork-Id: 46128 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a21:a586:b0:19e:8a94:b663 with SMTP id gd6csp848229pzc; Fri, 9 Feb 2024 02:58:56 -0800 (PST) X-Google-Smtp-Source: AGHT+IEKNFj99XssKwyHiTd2KZ13WkFCpJdlGGopsAlVK1BfpmVqcC8YKAcWIBwb8+34oXEiLYbO X-Received: by 2002:aa7:df96:0:b0:560:7f1:9b26 with SMTP id b22-20020aa7df96000000b0056007f19b26mr1101739edy.10.1707476335731; Fri, 09 Feb 2024 02:58:55 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1707476335; cv=none; d=google.com; s=arc-20160816; b=bEYRjAd372Kyoxopek818FS+EcJF50JLy/S3BRVYFGJCQ01YkM8RyUguUpMaDOzmeM XWs7BslrpgOjiKt42G1P+fSUbeXAjNC5Bd8VKRLd95tv9SJ+OL8IiZK6IbP046C7hqbP tHGr07rCgjswcSCQSHfpGXJaGhJkxUjKONyDAX02OWEnglEEBbyr9Cg8xbogBJ91LEOl PWszGuNRNbsjzpTOf2wbcTxa3Pu8x8ALVEHi7NyIu6lXuKUP+KjJEDplHZ/8JMyoyJjJ fywP36YHq/ixqfZcbw41v24HZA1flqxZblnfaifeSype4lt7NzaTIRks0IWwmkenus1C CKQQ== 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=H4iI/EZ6vCi2i8fNPc25lnoo1fFcfMct95RsDa0pn0U=; fh=+ABPcMFVqRsHAVpLlVBP3tvel+um0irgWQEGlLVW9YI=; b=tVRK/hML+ZJjZeOZbE7So82rIAqKixgXIXHW89WvmZcvZKZUNxMozg6mBC6T2A2FAX 2rdD1D89t9j4KPHNvTARyHon4Hx5sjVdRAboZsTMX8XJMnIVESVqQ8eneEltjN3Fapk6 nLNoUzmlChmFfY6wjK+id0vuU8DV9BVdSoADAZ4vwSQOMrDzcd5/K+3F2mqib9Y+bjPl gTDZnVjgjN9N4RhbWy2EzIzMEmQWCWQTL+mWlrp0wADD/KK9Go0iPamMAy49FZCEDuvf Reru8uiV+yvQ2I9ZFqfsIVCgtCYA+bIs8WUYyiciqh/smcsPOYx43uH38sZIllY3qhdH HdnQ==; dara=google.com 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 X-Forwarded-Encrypted: i=1; AJvYcCWeDHRwHEc7O0CaBbhPA7jKuoEbkm/k38mKOuO6MDTULr0RcmnX2znpxkjAJG6RiRxN5k4yHuRYypMN/Ep17C1NqSbtrcnsqke+BThl1yJFfQdPDWjcIVTGtQh+giz118zk2mCKW6GC0cDpMGvguPRayrLGE+0bV1fSToBG5yUzQochANy02VB6laqNA0k+RhxkkcEFI3UASWP8qEwNAtyOTm5RXiIrMn1MImodM+PkN4GBk3EWoPWugDhXWJNluh6HpkKGjT+A7iRjf6zp7LtOb6PrOqc4r/kI4JrvBs0xxI5kSsCRuKCMp+ZJT85II/yBRzrW+vA6+FyGNP1nugb5Ebyp+dHkfFGIpop1KPVyWv1DjkTJyNycSPzaZ1uCoYlayBZzRVZK8BCGEgpSDOvsE2MMM1O/p5q42B7K5OCDQXp3auC4DDLy7AsexD26zZ5tQADHOMf9zTLY6QO+7WR0Mw7bUo8w8zw5N6ibhMemZM0res2FkkPRLBm/EfghQIQPbPs/9tulyoekqylu4Xek0tMBj7K6RIpUBDmbas2RjLkmH8776o2BONcNYy1jw34eJTZuFYVQMS2h3DewUMgb217/vhM4nswjvuT45RmtpgU+aN4vOpeQmomIpEG76hoReQSdtpyOeeqozAztX5WzVoGi+XE0kS9Sh0kbbYC0vUrflQ+GOuCl7OQTa6FmZNm4hIKqneguXetqwW/MKbyUUwgUkq4A1JXGHLxmK/B8P0VjlhdG1IEozTg8OArxON2pE2DyzrECXqSoiyk4NJ48bqXxZ3YkkiDwuUr9oCx+/UDuz4un1Z4E8hakjaLfDOlNPe+KkrJUhsGveG7vmjGAn8857OHQLT30tUyvLWKBtt5vKkezTyg5o4RbOlw1DoIPvTC+/kyD+FL2fYUC/ft4sZkSW0T8NYFNh7Ho8U9guBeOr8tF5Kmd6Na014YGiuK6C3 1akxh181cCJvRkKjliyHNKWG3jzXjcsX5/qPtRMTsXFo4M0oqUmI58roSUKhQgw+FVXqqQHZCpbF7K+J6xbpcG6AaH++jDVyL7litgYeCokbYENEKg/L5LHToLald0cJK3cEntr1duRf49B8Fn+QbCnDHttYykeIweXeIRbhCqzuWFDQ+J1HiOOaQRMOL6VRC9h6/ennIfXEo97TnTDLQ38mqddxEtajSTqdndz+6b+EFTFg4dU/tYW7Yp2J5loc+vQ4MRcY5QuYsX0ZvleuRiSrRt032slGuhNrS0aUjjmMpfLseQWYQUQ1pYh879C/c4XEfHQoJr8AD7gvtavaC9PsoFgCnjkrm6WWbl0jdnVdvJFDpandIb1XxbCC06aW4htWZiJE/kyEr3BxAxfXiKVB+tRGTE7D0kAlKqcYekjok0jeLFI/d94pXh9glSpK+EC7LJTIOeJEw12qZgRLY50SJIYjngTttuWlXdhs5NN94uJZZmwR5BKhN8e9u5uorubD0JDQ0xcxYRYqWzu1QZ5Mto1FsjQdKkDxtDtrA1CEv7MOZqCFUzcKwL08i7IEHrql0c7Qz0B9Rw44KfnvZl1zFdJYF2UvDBjU9OZR53anNv6Cg9gTjAs+vLdPFEQt2OqRUHFnyan245hg== Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id t20-20020a05640203d400b00560f9a26f9csi721454edw.580.2024.02.09.02.58.55; Fri, 09 Feb 2024 02:58:55 -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 9A67268C4B0; Fri, 9 Feb 2024 12:58:52 +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 47E4468CA05 for ; Fri, 9 Feb 2024 12:58:46 +0200 (EET) Received: from ektacom.com (mail.ektacom.com [82.64.203.93]) by gandalf.ektacom.com (Postfix) with ESMTP id D611045A26C for ; Fri, 9 Feb 2024 11:58:45 +0100 (CET) Message-ID: <64b44a9d-95c5-49df-9ae6-cee778a6848b@ektacom.com> Date: Fri, 9 Feb 2024 11:58:40 +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: 4EB761FCACA6.AA040 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: Uc/c6H/Xk7EW Add "footer_with_hmd" option: this option activates the writing of the header metadata in the footer partition. Cédric 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 }, };