2012/2/28 Måns Rullgård <[email protected]>: > Spaces around +=, please. [...] > Spaces around +, please.
Sloppiness fixed in this new patch. Christophe
From a8945708ea159a5a94fc8e864718f56c75d43d69 Mon Sep 17 00:00:00 2001 From: Christophe GISQUET <[email protected]> Date: Wed, 22 Feb 2012 17:48:59 +0100 Subject: [PATCH 7/7] SBR DSP: unroll sum_square The length is even, so some unrolling can be performed. Timings are for x86: - 32bits: 102c -> 82c - 64bits: 82c -> 69c --- libavcodec/sbrdsp.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-) diff --git a/libavcodec/sbrdsp.c b/libavcodec/sbrdsp.c index d52b9df..d1726bd 100644 --- a/libavcodec/sbrdsp.c +++ b/libavcodec/sbrdsp.c @@ -35,13 +35,18 @@ static void sbr_sum64x5_c(float *z) static float sbr_sum_square_c(float (*x)[2], int n) { - float sum = 0.0f; + float sum0 = 0.0f, sum1 = 0.0f; int i; - for (i = 0; i < n; i++) - sum += x[i][0] * x[i][0] + x[i][1] * x[i][1]; + for (i = 0; i < n; i += 2) + { + sum0 += x[i+0][0] * x[i+0][0]; + sum1 += x[i+0][1] * x[i+0][1]; + sum0 += x[i+1][0] * x[i+1][0]; + sum1 += x[i+1][1] * x[i+1][1]; + } - return sum; + return sum0 + sum1; } static void sbr_neg_odd_64_c(float *x) -- 1.7.7.6
_______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
