From patchwork Wed Mar 27 11:18:49 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: zhupengfei via ffmpeg-devel X-Patchwork-Id: 12487 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id C5710448DC9 for ; Wed, 27 Mar 2019 13:21:45 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B32F168A913; Wed, 27 Mar 2019 13:21:45 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f67.google.com (mail-wm1-f67.google.com [209.85.128.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 494F268A8CC for ; Wed, 27 Mar 2019 13:21:44 +0200 (EET) Received: by mail-wm1-f67.google.com with SMTP id z24so13102766wmi.5 for ; Wed, 27 Mar 2019 04:21:44 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HwPol/x+7mIaGNp5WmXyq9dQgoCjyPlo+ZrnAZLBvcc=; b=MpCdAK9ZRtDCNrzXxP6WbxRVARB+Fng/LnXaztOzGIp1iNvBwO6jxu2Zg0ToC7A+Yk LjW5Cbg+Vw+Z7hQHMYW0u6sbGtnLEbzerQEqXNxCokR8nzfNu1kv3c0ZaRNoLM5aVh4R 6xqFRT57vDz3zbEH89OQ1etcoIUX2tm0Z8t7/KAfzSFt42u5SYzMxgRsaWu5E3IRjMoB zSOag6FavKEy8ItjcUgu3YNhRLDE645UjVIF49Aq5zbxsDjMV5mHEWtqL0nrcA+zJ7fB txjVCppK/mKErZ0V+UOXV5n1cMMzuKPhHT35wonPYziro3fg8tg63Rqtbs5F5H3/9Hzy 94Qw== X-Gm-Message-State: APjAAAVWJBnMP/6wadxBkLQisCFjba6jIKBs2rbg7TSVXlzs71rsjvQR 58stxwq1tTHRPuhM6ndr09zp/Qj+Iq0= X-Google-Smtp-Source: APXvYqxnjjVv/LEXwRZWHRlMTaa/WsaBF/gKK2puU5VC68UntKdfkRelOkwSmtTaUjNzN03A/T/jNw== X-Received: by 2002:a1c:9ec7:: with SMTP id h190mr12800862wme.105.1553685703667; Wed, 27 Mar 2019 04:21:43 -0700 (PDT) Received: from localhost.localdomain (ipbcc08c44.dynamic.kabel-deutschland.de. [188.192.140.68]) by smtp.googlemail.com with ESMTPSA id h10sm31745448wrs.27.2019.03.27.04.21.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 27 Mar 2019 04:21:43 -0700 (PDT) To: ffmpeg-devel@ffmpeg.org Date: Wed, 27 Mar 2019 12:18:49 +0100 Message-Id: <20190327111852.3784-19-andreas.rheinhardt@googlemail.com> X-Mailer: git-send-email 2.19.2 In-Reply-To: <20190327111852.3784-1-andreas.rheinhardt@googlemail.com> References: <20190308092604.3752-1-andreas.rheinhardt@googlemail.com> <20190327111852.3784-1-andreas.rheinhardt@googlemail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 18/21] avformat/matroskadec: Combine two arrays X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Patchwork-Original-From: Andreas Rheinhardt via ffmpeg-devel From: zhupengfei via ffmpeg-devel Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt , robux4@ycbcr.xyz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" By including SimpleBlocks and Blocksgroups twice in the same EbmlSyntax array (with different semantics), one can reduce the duplication of the other values. Signed-off-by: Andreas Rheinhardt --- libavformat/matroskadec.c | 13 +++---------- 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 3adcb3e86d..60f58cefa9 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -704,25 +704,18 @@ static const EbmlSyntax matroska_blockgroup[] = { }; static const EbmlSyntax matroska_cluster_parsing[] = { - { MATROSKA_ID_CLUSTERTIMECODE, EBML_UINT, 0, offsetof(MatroskaCluster, timecode) }, - { MATROSKA_ID_BLOCKGROUP, EBML_NEST, 0, 0, { .n = matroska_blockgroup } }, { MATROSKA_ID_SIMPLEBLOCK, EBML_BIN, 0, offsetof(MatroskaBlock, bin) }, - { MATROSKA_ID_CLUSTERPOSITION, EBML_NONE }, - { MATROSKA_ID_CLUSTERPREVSIZE, EBML_NONE }, - { 0 } -}; - -static const EbmlSyntax matroska_cluster_initial[] = { + { MATROSKA_ID_BLOCKGROUP, EBML_NEST, 0, 0, { .n = matroska_blockgroup } }, { MATROSKA_ID_CLUSTERTIMECODE, EBML_UINT, 0, offsetof(MatroskaCluster, timecode) }, - { MATROSKA_ID_BLOCKGROUP, EBML_STOP }, { MATROSKA_ID_SIMPLEBLOCK, EBML_STOP }, + { MATROSKA_ID_BLOCKGROUP, EBML_STOP }, { MATROSKA_ID_CLUSTERPOSITION, EBML_NONE }, { MATROSKA_ID_CLUSTERPREVSIZE, EBML_NONE }, { 0 } }; static const EbmlSyntax matroska_cluster_enter[] = { - { MATROSKA_ID_CLUSTER, EBML_NEST, 0, 0, { .n = matroska_cluster_initial } }, + { MATROSKA_ID_CLUSTER, EBML_NEST, 0, 0, { .n = &matroska_cluster_parsing[2] } }, { 0 } };