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

Reply via email to