From patchwork Fri Sep 18 06:24:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 22465 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 4EC24449F36 for ; Fri, 18 Sep 2020 09:24:53 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 375D568BAC6; Fri, 18 Sep 2020 09:24:53 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wr1-f67.google.com (mail-wr1-f67.google.com [209.85.221.67]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 929DE68B755 for ; Fri, 18 Sep 2020 09:24:47 +0300 (EEST) Received: by mail-wr1-f67.google.com with SMTP id w5so4364589wrp.8 for ; Thu, 17 Sep 2020 23:24:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=NtDCQtYWFxAtsPr0Hu9JA2Fcbpb3EESs7HIeXUT82Qc=; b=lebeYGM3KoyF3IRIeltlk7ILDvthiAZs8PhAa04cI/RxeiLAaw39WH6NMpIrwnme5Q 6e74CdwsMEg+05mrHxiLRk1FHJF7yOyecvLqgRFdiXzsHI1NtuctZ20ybwSKm3iEP1m/ Go8IQsHq4re4iZXBu+bEAfzuDQQjigVXVj3xQC8pkisP0+cHvNsESVmOa/m27nToXCls fGE8oIxl6wDT+voNIHpLctBqWgUOZNMoU6aWnVWqScMQCxf9KUONBZWW9ZUE5lTjnbhJ nF0lsE7NB5D8bXL4u94SXScuS0KtNl6vowZQvw1zbo6JcNgUoNY/5YrcEtDjkNHF7KYX 8lwg== 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=NtDCQtYWFxAtsPr0Hu9JA2Fcbpb3EESs7HIeXUT82Qc=; b=ptDkELPXst9bln6NdvfA7rLyQ99GVC7gJ/sPNS2rHr91hAIVnFG/wGKt7FKXcuiM2Y szWWYW2ZnPVPXf++4lWyu1nytEYAmMYiR6lyJ7gfnfKkL5fWMYsGVKXOdk/a+O8KO3Zg VVg/D7CJPnOsk4rPdjtnyVxQfDSdC+1rG3qZkZ3yGaNbVTfmZGKPKIRJ8fxLTguG8MlG 9/ssr68aQJlig6861NwlPTKeoD2kKQzrg2AthE71aoJXYzniYYUGsxil9JsxzuRsuCdF pjoBO3VunM0Y0lntQfFXO6ON5V9MMszS6TFKOQeaJ6Uw3x1R5Pl/5RG4l/FNK9R8ho1Q pSXw== X-Gm-Message-State: AOAM532cAukSSRc1zgGBW1ligaoiacpYe98O8TTw4S0XOQmReyiSlKnB LbnGSu7wpUZVCBUjKlCAp/BNQq4pAbk= X-Google-Smtp-Source: ABdhPJyhzjon7mFxFHMcYt3Lbkgpg7xtEP2USu1Z7vGuyf/LOrc6kZeihLSFITampi4P+X1pgEv9YA== X-Received: by 2002:adf:dd0b:: with SMTP id a11mr35142082wrm.422.1600410286567; Thu, 17 Sep 2020 23:24:46 -0700 (PDT) Received: from sblaptop.fritz.box (ipbcc1fb0f.dynamic.kabel-deutschland.de. [188.193.251.15]) by smtp.gmail.com with ESMTPSA id a20sm3030518wmm.40.2020.09.17.23.24.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 17 Sep 2020 23:24:45 -0700 (PDT) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 18 Sep 2020 08:24:35 +0200 Message-Id: <20200918062435.902895-1-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: References: MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] Revert "avcodec/vlc: Add macro for ff_init_vlc_sparse()" 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: , Reply-To: FFmpeg development discussions and patches Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" This reverts commit 61669b7c40b8dc3a0841768fb39c7567513b7cfc. This commit broke building with MSVC due to its spec-incompliant handling of ',' in __VA_ARGS__: These are not treated as argument separators for further macros, so that in our case the init_vlc2() macro is treated as having only one argument whenever the init_vlc() macro is used. See [1] for further details. [1]: https://reviews.llvm.org/D69626 Signed-off-by: Andreas Rheinhardt --- libavcodec/smacker.c | 12 ++++++------ libavcodec/vlc.h | 7 +------ 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/libavcodec/smacker.c b/libavcodec/smacker.c index ffd24c11e7..813eb862c0 100644 --- a/libavcodec/smacker.c +++ b/libavcodec/smacker.c @@ -222,9 +222,9 @@ static int smacker_decode_header_tree(SmackVContext *smk, GetBitContext *gb, int skip_bits1(gb); if (h.current > 1) { err = ff_init_vlc_sparse(&vlc[i], SMKTREE_BITS, h.current, - INIT_VLC_DEFAULT_SIZES(h.lengths), - INIT_VLC_DEFAULT_SIZES(h.bits), - INIT_VLC_DEFAULT_SIZES(h.values), + h.lengths, sizeof(*h.lengths), sizeof(*h.lengths), + h.bits, sizeof(*h.bits), sizeof(*h.bits), + h.values, sizeof(*h.values), sizeof(*h.values), INIT_VLC_LE); if (err < 0) { av_log(smk->avctx, AV_LOG_ERROR, "Cannot build VLC table\n"); @@ -653,9 +653,9 @@ static int smka_decode_frame(AVCodecContext *avctx, void *data, skip_bits1(&gb); if (h.current > 1) { ret = ff_init_vlc_sparse(&vlc[i], SMKTREE_BITS, h.current, - INIT_VLC_DEFAULT_SIZES(h.lengths), - INIT_VLC_DEFAULT_SIZES(h.bits), - INIT_VLC_DEFAULT_SIZES(h.values), + h.lengths, sizeof(*h.lengths), sizeof(*h.lengths), + h.bits, sizeof(*h.bits), sizeof(*h.bits), + h.values, sizeof(*h.values), sizeof(*h.values), INIT_VLC_LE); if (ret < 0) { av_log(avctx, AV_LOG_ERROR, "Cannot build VLC table\n"); diff --git a/libavcodec/vlc.h b/libavcodec/vlc.h index 7cb323b62c..42ccddf3fc 100644 --- a/libavcodec/vlc.h +++ b/libavcodec/vlc.h @@ -35,12 +35,7 @@ typedef struct RL_VLC_ELEM { uint8_t run; } RL_VLC_ELEM; -#define INIT_VLC_DEFAULT_SIZES(ptr) \ - (ptr), sizeof((ptr)[0]), sizeof((ptr)[0]) - -#define init_vlc(...) init_vlc2(__VA_ARGS__) - -#define init_vlc2(vlc, nb_bits, nb_codes, \ +#define init_vlc(vlc, nb_bits, nb_codes, \ bits, bits_wrap, bits_size, \ codes, codes_wrap, codes_size, \ flags) \