From patchwork Fri Jul 21 23:57:01 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Muhammad Faiz X-Patchwork-Id: 4420 Delivered-To: ffmpegpatchwork@gmail.com Received: by 10.103.1.76 with SMTP id 73csp1565597vsb; Fri, 21 Jul 2017 17:30:41 -0700 (PDT) X-Received: by 10.223.154.7 with SMTP id z7mr10573881wrb.136.1500683441758; Fri, 21 Jul 2017 17:30:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1500683441; cv=none; d=google.com; s=arc-20160816; b=MM5R02F+DZVGd7ef5w5dJQcfr8irPA26LzlJQQdQxNjHtKiw/s8L0gPWr5A5a3j8FE QvhV38Rl/FDG1exZJhoEFFNaTpp086rY4il8mGR3s8c0DOZ6h7Aq/BaXabLGKvLxyE2F sgVxQOxLM4SttsRcU/NHoDbg3jlpGo4pOyqP6qdPvGYVPfAUnmfNtZluQqrGiNBdraKE 30F2rm8vf8D6wYElfD4Ahd/08BUBKz9703Cm9owmOhAjGFBqKRa7Va+9ychNkQ7ALtq/ pgXxvNlcZObs4i5y6+PZdYCafEcrl6ucuNznXSdjFo/J2Nptd8aa5cANDX1A/5A+RC6x eWBg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:message-id:date:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=4QiD47jwTq+NF9UgtEEn6BK2kbpZHERgCa72jADk1a0=; b=i5pc+8Jybn8L51HMnEbTt1be90YjC3TFwiuiVXdCsfkbP0gctm3ma8Qk2vpqWoe9z6 q08TRpFAZ8q/PkAo9Eg3UhlpAQOgR7daCIk1o32wOtHzqwrWePDea9wHSE0atoDgA2lV W3GAZjxIJrEKOl6Ra9ZsMlFZI7JYUzNUmhwKBI/vEoKlkZ/KnXRXi41lqyRqgcJZterx t3/b2//LuZwLWy+YTN/kpq/hhcUgiREMLwuYeZAgz9mKxGLq4SppPHoQhT/fHlxiuoDN 1nMiQqMgcMguW6DGWFaygSF4mQpClhhjre1nwTntDXVL/blJRQxhD93PLnQ9YncpF1Xo 8J6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.b=J2DGU2mM; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id w204si1812442wme.179.2017.07.21.17.30.40; Fri, 21 Jul 2017 17:30:41 -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; dkim=neutral (body hash did not verify) header.i=@gmail.com header.b=J2DGU2mM; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 1BA96689800; Sat, 22 Jul 2017 03:30:29 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-pf0-f195.google.com (mail-pf0-f195.google.com [209.85.192.195]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6DDA86882AE for ; Sat, 22 Jul 2017 03:30:22 +0300 (EEST) Received: by mail-pf0-f195.google.com with SMTP id o88so5836644pfk.1 for ; Fri, 21 Jul 2017 17:30:31 -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:mime-version :content-transfer-encoding; bh=nzcsYC4dDAR/R97bcAuTFK7LxGAF4TdGnj3r9liUmQw=; b=J2DGU2mM6vluiRP2MswePUpNR8SYc/XqV/PIYVI6D4eBBsk+Fd5kM1PQWvZRxwE+vE FCa0ZmvI3IH7YNNy0hNolmqtQp/bW3X71/7SpePmr0JxphZ2IDD6G1BvNPhynrVbKyVz eMoEvqI8XBEaxDXrfYIDLdVQa28dot8M1bU3tqmdBPEgvI96XjwNnCl1GZIoYojb5U6U mHEIw4DjO9JkKoi5rAspPBSQyiMfBI1DCF8+8vayyE/a6sVdA5K9VWUFtvGo/uweByxU tFo2f5924/bGfxYxvvD9q/sdAj/+ZxTwAeztNFS/WtkPw0Ib3spJMA4hC22lWPvPZjGf 6A2A== 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:mime-version :content-transfer-encoding; bh=nzcsYC4dDAR/R97bcAuTFK7LxGAF4TdGnj3r9liUmQw=; b=Sv+M2Q3L0PDZcnPpFHZ0HAjkvaMo342mHQNwztcV45wb0/xN0YImc6/VJehqCRb7ne YjIcuMtrgrikEfWGv4mXDq4A9chvJWK+EGcLu82ng6EYlOfFWyMQZW0YDjvY5ovjKojK D7DHlZs0tcv85ZG+1caVJHbu+SVlnMplHib3KO7NnqBAByr/QVGG/tyvqMPppVLNh/V/ RI5yytIWa5dAJgKUYpusWJoJyxbcqamIacImEa3B13ia/aHtWH0R2U3O5QC12aCiy0LP KqqclzZ7+iF/HrvBwiW/5P5lkxDD15YMFeOrUS+9CoGm3Zuu6rx1zYmMAoTLytM6CGYn C3bw== X-Gm-Message-State: AIVw1137wpw8eEC3voZBWizMANo1L2PSuwmw+f75fY7HKsSQ6Ktlc6mT 9Jiv8TPtAHPqY4vt X-Received: by 10.98.11.135 with SMTP id 7mr9272806pfl.45.1500681449415; Fri, 21 Jul 2017 16:57:29 -0700 (PDT) Received: from localhost.localdomain ([114.124.136.3]) by smtp.gmail.com with ESMTPSA id 74sm11884134pfk.58.2017.07.21.16.57.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 21 Jul 2017 16:57:27 -0700 (PDT) From: Muhammad Faiz To: ffmpeg-devel@ffmpeg.org Date: Sat, 22 Jul 2017 06:57:01 +0700 Message-Id: <20170721235701.14565-1-mfcc64@gmail.com> X-Mailer: git-send-email 2.13.2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avcodec/rdft: reorder calculation 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: Muhammad Faiz Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" old: 165188 decicycles in rdft, 65536 runs, 0 skips 165865 decicycles in irdft, 65536 runs, 0 skips new: 142487 decicycles in rdft, 65536 runs, 0 skips 141498 decicycles in irdft, 65536 runs, 0 skips Signed-off-by: Muhammad Faiz --- libavcodec/rdft.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/libavcodec/rdft.c b/libavcodec/rdft.c index 194e0bc4ee..6ba7484238 100644 --- a/libavcodec/rdft.c +++ b/libavcodec/rdft.c @@ -35,7 +35,7 @@ static void rdft_calc_c(RDFTContext *s, FFTSample *data) { int i, i1, i2; - FFTComplex ev, od; + FFTComplex ev, od, odsum; const int n = 1 << s->nbits; const float k1 = 0.5; const float k2 = 0.5 - s->inverse; @@ -58,14 +58,16 @@ static void rdft_calc_c(RDFTContext *s, FFTSample *data) i2 = n-i1; \ /* Separate even and odd FFTs */ \ ev.re = k1*(data[i1 ]+data[i2 ]); \ - od.im = -k2*(data[i1 ]-data[i2 ]); \ + od.im = k2*(data[i2 ]-data[i1 ]); \ ev.im = k1*(data[i1+1]-data[i2+1]); \ od.re = k2*(data[i1+1]+data[i2+1]); \ /* Apply twiddle factors to the odd FFT and add to the even FFT */ \ - data[i1 ] = ev.re + od.re*tcos[i] sign0 od.im*tsin[i]; \ - data[i1+1] = ev.im + od.im*tcos[i] sign1 od.re*tsin[i]; \ - data[i2 ] = ev.re - od.re*tcos[i] sign1 od.im*tsin[i]; \ - data[i2+1] = -ev.im + od.im*tcos[i] sign1 od.re*tsin[i]; \ + odsum.re = od.re*tcos[i] sign0 od.im*tsin[i]; \ + odsum.im = od.im*tcos[i] sign1 od.re*tsin[i]; \ + data[i1 ] = ev.re + odsum.re; \ + data[i1+1] = ev.im + odsum.im; \ + data[i2 ] = ev.re - odsum.re; \ + data[i2+1] = odsum.im - ev.im; \ } if (s->negative_sin) {