From patchwork Wed Jan 6 23:13:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 24813 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 304B044A498 for ; Thu, 7 Jan 2021 01:13:52 +0200 (EET) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 15510689FED; Thu, 7 Jan 2021 01:13:52 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 22083689EA2 for ; Thu, 7 Jan 2021 01:13:49 +0200 (EET) Received: by mail-ej1-f51.google.com with SMTP id n26so7293572eju.6 for ; Wed, 06 Jan 2021 15:13:49 -0800 (PST) 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:reply-to :mime-version:content-transfer-encoding; bh=WkPuEgy9gbxarQncbcz2Xwaelgpk6Enae3axe9sD6B8=; b=Hp48A1AYwt3/myGaSP8Z/cdVenmzs7VGgJFAtoIrgK8xoN+zchNsjELShDtq8FAP9Q i91pG+vvUuTvMAu7QADVjVlOQT/S6CR+dJcraRGK9hk5V02PGpGyJ8TMh2X8wqKnXul8 G/LsbQDSQWcXqo6BRYd0/Z6JHxCb97WNR3McZq7Up9FT3MT9ghUjWg2Rhd08mutomH9/ 8RnynwL32X5hAC+YdAbj9pVq6HbcoRSM59NNKhImtAmBs9xN0YaCp3RU5qfJTP6aLOGY nhaLNqvOVCkJSi5BeyQXAfqwl58KNiiayIfd1PwO/RFEwZQ4ivpawzPojh0HDUhEfg7v MY7w== 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:reply-to:mime-version:content-transfer-encoding; bh=WkPuEgy9gbxarQncbcz2Xwaelgpk6Enae3axe9sD6B8=; b=EzvYyEBkmzDHIiE/PhlkCQP86x9Y5p/YS/W4N7TLjxnf3YqL1nja5Pr8q9xzCSNf4r t7s+azZqtb0INvadtK0nfPKV/Wdlxi0O9dmmWyDKMAC0Nsx9FUlI6xuK5tomboA8YwmH sZxtYv3OJtXdzYju5SWDYRoXEOw7QavCZsNIjPTx6xuW0XCh8HXMcz4U40sDJ9AL5QpB /hWIDKeyzVKPuR3ULr6FwAN14QcUAPiM2jH8+xgdwK1VCpnFgMH+v1Ly6uUPyWGr4zCT HnBgRJbN5AUF15bhWKIRk05c4nexOBTA04J3k4hnppxlOy5EjHhKTlOpk/mA6RZbDK40 jRVQ== X-Gm-Message-State: AOAM531570WStfWeh7ZoquTs5RBuwHaV5+A0hiWf8rJz+25c47Wk8oEa +WlxK6YvD50ieN0rNf7bf454U94QCYc= X-Google-Smtp-Source: ABdhPJyhT1zpWauGg24+GYFd5WHRJJ3tdMZzmHPDnVaSQPn+4dQ7DLRfIIhfnhuG7pVNIiecwvHiSg== X-Received: by 2002:a17:906:3fc4:: with SMTP id k4mr4269104ejj.137.1609974829221; Wed, 06 Jan 2021 15:13:49 -0800 (PST) Received: from sblaptop.fritz.box (ipbcc1aa4b.dynamic.kabel-deutschland.de. [188.193.170.75]) by smtp.gmail.com with ESMTPSA id b7sm1794295ejz.4.2021.01.06.15.13.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Jan 2021 15:13:48 -0800 (PST) From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 7 Jan 2021 00:13:08 +0100 Message-Id: <20210106231308.2952217-5-andreas.rheinhardt@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210106231308.2952217-1-andreas.rheinhardt@gmail.com> References: <20210106231308.2952217-1-andreas.rheinhardt@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] avcodec/fft_template: Perform some checks at compile-time 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" The fixed point FFT never uses the 32bit revtab; this commit adds some compile-time checks to make sure that dead code doesn't get compiled in. Also, while just at it, fix the indentation in ff_fft_init() and make sure that a do {} while (0) macro does not already swallow the semicolon on its own. Signed-off-by: Andreas Rheinhardt --- libavcodec/fft_template.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/fft_template.c b/libavcodec/fft_template.c index ddde63714e..76bda09a07 100644 --- a/libavcodec/fft_template.c +++ b/libavcodec/fft_template.c @@ -279,12 +279,12 @@ av_cold int ff_fft_init(FFTContext *s, int nbits, int inverse) } else {\ PROCESS_FFT_PERM_DEFAULT(num) \ }\ -} while(0); +} while (0) - if (s->revtab) - SPLIT_RADIX_PERMUTATION() - if (s->revtab32) - SPLIT_RADIX_PERMUTATION(32) + if (MAX_BITS <= 16 || s->revtab) + SPLIT_RADIX_PERMUTATION(); + else + SPLIT_RADIX_PERMUTATION(32); #undef PROCESS_FFT_PERM_DEFAULT #undef PROCESS_FFT_PERM_SWAP_LSBS @@ -306,7 +306,7 @@ static void fft_permute_c(FFTContext *s, FFTComplex *z) const uint32_t *revtab32 = s->revtab32; np = 1 << s->nbits; /* TODO: handle split-radix permute in a more optimal way, probably in-place */ - if (revtab) { + if (MAX_BITS <= 16 || revtab) { for(j=0;jtmp_buf[revtab[j]] = z[j]; } else for(j=0;jtmp_buf[revtab32[j]] = z[j];