From patchwork Fri Sep 13 12:16:06 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 51565 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:2986:b0:48e:c0f8:d0de with SMTP id ih6csp255068vqb; Fri, 13 Sep 2024 05:16:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWdxiYurWXySZrBR7yM91VUGW72ig8/xbISYqEoccapWi1gSODUJEv31Jwu5A4qShpNbOp7C6c0JelAnfNZ8+HS@gmail.com X-Google-Smtp-Source: AGHT+IHLImtxao2h/H8sbx7pYieJ04TBR9hnFfqWkG4H9nQ6CebKRMwpg2PD70Rb2I1XnnR5MCUT X-Received: by 2002:a17:907:97c8:b0:a90:17fc:3f60 with SMTP id a640c23a62f3a-a902949aeacmr265279666b.8.1726229780248; Fri, 13 Sep 2024 05:16:20 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726229780; cv=none; d=google.com; s=arc-20240605; b=lc0v57FkJtmsJMuHkcBl3t2rnjiCjs04Zs+H4waGSb8wvdp0ld025DCupnlmRWGdfm NqQGFfre7fUwb8B4fppCuS05FP5GWD4rRI8AFh/0spRhe7KeJmybvdpoAzogMtVFzv0b Un7zD0BRIA33v+o9cA/nc3hYOWTiX+gK/rPhgWycT4B+WZylAgtWrneeO1J8w+ezXFuk +3B5Ls3bd7UFWoahX0iu+uHhQtUDpE0E5YO2O8p8M+ajJOvUDGOQA+boyZzeeo5Jkf36 u7eiT38PlEH8vqAJRWs2WBF44Hx+quSdEHjLbNx3Xnuts0KoRB9C/yBvZ+DnZZys04gS hO3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:date:to:from:message-id:delivered-to; bh=z/0WDjYegfJF3er4vDlFtwZ6vZeEYmLzxC82tuG3BpQ=; fh=YOA8vD9MJZuwZ71F/05pj6KdCjf6jQRmzLS+CATXUQk=; b=YUBj0H9FNiI/KshjZKYaNLgsqsqJR9R7MsPURi8fECWCBYiEV4fWBCbCPJH7RvJXAH BVKEr4qtkvAFi3MTS8AfzHURdVbrxGfo81yGRlPJqYjffixJvUfX9VKsSGtXY7UEw/ZA ExEOaRFZ21jpB3bF2XdGgjJ8VQPk/4W5RCjhwJrdqiNO70cJ7xjXkIinALCPyvy86dKf CvImLTmzFwye9OAXbDwd18a6UX/maVvNjfIclXsIvxH+xH/3DSaHNS0QL6yMUFo6LRBO uSvlRH9ftxqjvqeZ8bAb4qCrviXB/Og7Kbg0aqnxV79q9sg90CksJVS7pNNn1qC7cgnq DggQ==; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a8d25d98b79si1016423466b.979.2024.09.13.05.16.18; Fri, 13 Sep 2024 05:16:20 -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 4086C68DF2A; Fri, 13 Sep 2024 15:16:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 482AB68DD6E for ; Fri, 13 Sep 2024 15:16:08 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id DC9DB542441B for ; Fri, 13 Sep 2024 14:16:07 +0200 (CEST) Received: from debian.lan (m77-218-230-140.cust.tele2.se [77.218.230.140]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 9FFD854228E3 for ; Fri, 13 Sep 2024 14:16:07 +0200 (CEST) Message-ID: <3ef5c36436349cd5957d0f200b6c64d5750673a1.camel@haerdin.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: ffmpeg-devel@ffmpeg.org Date: Fri, 13 Sep 2024 14:16:06 +0200 User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/2] lavf/mxfdec: Switch to mxf_metadata_read_table loop to FF_ARRAY_ELEMS, skip if read == NULL 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: jPm9M1TbG5ZU Passes fate-mxf /Tomas From c96a96dc1f245210997a7d21b158ce504bdf4c73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 13 Sep 2024 14:09:56 +0200 Subject: [PATCH 1/2] lavf/mxfdec: Switch to mxf_metadata_read_table loop to FF_ARRAY_ELEMS, skip if read == NULL --- libavformat/mxfdec.c | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index ac63c0d5ad..65ffa0d6b8 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -328,7 +328,7 @@ typedef int MXFMetadataReadFunc(void *arg, AVIOContext *pb, int tag, int size, U typedef struct MXFMetadataReadTableEntry { const UID key; - MXFMetadataReadFunc *read; + MXFMetadataReadFunc *read; /* if NULL then skip KLV */ int ctx_size; enum MXFMetadataSetType type; } MXFMetadataReadTableEntry; @@ -3235,7 +3235,6 @@ static const MXFMetadataReadTableEntry mxf_metadata_read_table[] = { { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x04,0x01,0x02,0x02,0x00,0x00 }, mxf_read_cryptographic_context, sizeof(MXFCryptoContext), CryptoContext }, { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 }, mxf_read_index_table_segment, sizeof(MXFIndexTableSegment), IndexTableSegment }, { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x23,0x00 }, mxf_read_essence_container_data, sizeof(MXFEssenceContainerData), EssenceContainerData }, - { { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 }, NULL }, }; static int mxf_metadataset_init(MXFMetadataSet *ctx, enum MXFMetadataSetType type, MXFPartition *partition) @@ -3716,7 +3715,7 @@ static int mxf_read_header(AVFormatContext *s) mxf_read_random_index_pack(s); while (!avio_feof(s->pb)) { - const MXFMetadataReadTableEntry *metadata; + size_t x; ret = klv_read_packet(mxf, &klv, s->pb); if (ret < 0 || IS_KLV_KEY(klv.key, ff_mxf_random_index_pack_key)) { @@ -3762,14 +3761,19 @@ static int mxf_read_header(AVFormatContext *s) /* we're still parsing forward. proceed to parsing this partition pack */ } - for (metadata = mxf_metadata_read_table; metadata->read; metadata++) { + for (x = 0; x < FF_ARRAY_ELEMS(mxf_metadata_read_table); x++) { + const MXFMetadataReadTableEntry *metadata = &mxf_metadata_read_table[x]; if (IS_KLV_KEY(klv.key, metadata->key)) { - if ((ret = mxf_parse_klv(mxf, klv, metadata->read, metadata->ctx_size, metadata->type)) < 0) - return ret; + if (metadata->read) { + if ((ret = mxf_parse_klv(mxf, klv, metadata->read, metadata->ctx_size, metadata->type)) < 0) + return ret; + } else { + avio_skip(s->pb, klv.length); + } break; } } - if (!metadata->read) { + if (x >= FF_ARRAY_ELEMS(mxf_metadata_read_table)) { av_log(s, AV_LOG_VERBOSE, "Dark key " PRIxUID "\n", UID_ARG(klv.key)); avio_skip(s->pb, klv.length); -- 2.39.2 From patchwork Fri Sep 13 12:16:42 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 51566 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:612c:2986:b0:48e:c0f8:d0de with SMTP id ih6csp255476vqb; Fri, 13 Sep 2024 05:16:56 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXKsd1laaEWUgiGAR8zxIyZ0a6mZzHhJssGRwzYo0fgwDADGkQDuwCT5IyPrmUeYK0Pedw1Pod7gvc/8IWhC0Lw@gmail.com X-Google-Smtp-Source: AGHT+IGqDtmzIqI1HhVIyOu9IWEXzos69ZHHa5TPfFsSNY0Zymaa9qoncW7jHeRDHe8YhIzt5cCb X-Received: by 2002:a05:6512:3d0c:b0:535:6cbf:51a3 with SMTP id 2adb3069b0e04-5367fee46ebmr1806262e87.25.1726229816249; Fri, 13 Sep 2024 05:16:56 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1726229816; cv=none; d=google.com; s=arc-20240605; b=OHunVsB9VRLikUq7rx4T2NJ57ZgFL8xIT5S2PIMTMJ404YYcFKgK/SBYlG0ieW/wAj /uL76a1+JyU8mTEIc+P+Ao5WjJTR5xkCkz0HbW7cUvj9BrwGuowzgpOHL9x3XUxUUUga k+orVKhlFwwRYnCH/uIDUFrWWinDWb1gfcpf4EpZ9FYl3qmhguN3osg/ZxWNKsPrKPLj zC5Nw5R4PR0+DjKZnlO3MgB1/pZQSK35kK3gf5jANOkDV88CvQM5nSkfRlUVDNI2ZPHl l2Z8CAd6YeJaIJ/6lB2TBOIdDNGPxumJDtwvOe0wA8ohMiQ6AeDdwcQssBbEafr1XArj YoqA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:references:in-reply-to:date:to:from :message-id:delivered-to; bh=cqXIW8pfLCBx4LllGX/PIzJPvlREN5QsS0p5cJu3cXM=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=RGupZCJ1WI1ok78I0Yxj0QswgDQA/nd/EukmYFYEdOgGhwCDThaIUlFt1kdAH0ApHU PGTQd0/2IeWcJz/C82DEvO7JCmtXbTbnkisU/8Px4tCJl/tZ1yn0Mkjf64g06JN3htTt JOAj/MeJwcSLpbnujrqZw6R4wt+d3XR0TqknCVR540R4c6A8YCqBF3ddFj9hztuy4nKr +doi5RoPIp8kzKj3H5r+tQyGZ0lV6q2neKGXwx60HoVNZvPkLxjlq4VUeCmEuIVxCvnU tSaKMf7+XWnx+BsI1iLFZbkQBI9r7q5a2chJHyOQEAFvFLMybKnO5kyJypywIYukoxTw rBrg==; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a8d25c51c67si966529966b.471.2024.09.13.05.16.55; Fri, 13 Sep 2024 05:16:56 -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 8AC6D68DF3E; Fri, 13 Sep 2024 15:16:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5784268DF31 for ; Fri, 13 Sep 2024 15:16:45 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 41297542441B for ; Fri, 13 Sep 2024 14:16:44 +0200 (CEST) Received: from debian.lan (m77-218-230-140.cust.tele2.se [77.218.230.140]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 8CE8454228E3 for ; Fri, 13 Sep 2024 14:16:43 +0200 (CEST) Message-ID: From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Fri, 13 Sep 2024 14:16:42 +0200 In-Reply-To: <3ef5c36436349cd5957d0f200b6c64d5750673a1.camel@haerdin.se> References: <3ef5c36436349cd5957d0f200b6c64d5750673a1.camel@haerdin.se> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/2] lavf/mxfdec: Handle KLV fill 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: VlcUhA//k03b Cuts down on "Dark key" spam in verbose mode, as pointed out by Martin Schitter /Tomas From 0ca53ebb7835624261b97903136579ec9a529736 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Fri, 13 Sep 2024 14:10:34 +0200 Subject: [PATCH 2/2] lavf/mxfdec: Handle KLV fill --- libavformat/mxfdec.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/mxfdec.c b/libavformat/mxfdec.c index 65ffa0d6b8..81938fe374 100644 --- a/libavformat/mxfdec.c +++ b/libavformat/mxfdec.c @@ -3235,6 +3235,7 @@ static const MXFMetadataReadTableEntry mxf_metadata_read_table[] = { { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x04,0x01,0x02,0x02,0x00,0x00 }, mxf_read_cryptographic_context, sizeof(MXFCryptoContext), CryptoContext }, { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x02,0x01,0x01,0x10,0x01,0x00 }, mxf_read_index_table_segment, sizeof(MXFIndexTableSegment), IndexTableSegment }, { { 0x06,0x0e,0x2b,0x34,0x02,0x53,0x01,0x01,0x0d,0x01,0x01,0x01,0x01,0x01,0x23,0x00 }, mxf_read_essence_container_data, sizeof(MXFEssenceContainerData), EssenceContainerData }, + { { 0x06,0x0E,0x2B,0x34,0x01,0x01,0x01,0x02,0x03,0x01,0x02,0x10,0x01,0x00,0x00,0x00 } }, /* KLV fill, skip */ }; static int mxf_metadataset_init(MXFMetadataSet *ctx, enum MXFMetadataSetType type, MXFPartition *partition) -- 2.39.2