Hi,

I'm really unsure this is worth it, all the more with code using
floats around the modified parts. And any other issues I'm all ear for
my own education.

Christophe
From f21e3b9d37cf10a83076ae2db3085ad4e5bc6ce1 Mon Sep 17 00:00:00 2001
From: Christophe Gisquet <[email protected]>
Date: Tue, 28 Feb 2012 11:20:02 +0100
Subject: [PATCH 6/6] AAC SBR: group some writes.

---
 libavcodec/aacsbr.c |   18 ++++++------------
 1 files changed, 6 insertions(+), 12 deletions(-)

diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c
index caca5f4..b668246 100644
--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -1230,8 +1230,7 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp,
              (phi[1][1][0] * phi[1][1][0] + phi[1][1][1] * phi[1][1][1]) / 1.000001f;
 
         if (!dk) {
-            alpha1[k][0] = 0;
-            alpha1[k][1] = 0;
+            AV_ZERO64(alpha1[k]);
         } else {
             float temp_real, temp_im;
             dk = 1.0f / dk;
@@ -1247,8 +1246,7 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp,
         }
 
         if (!phi[1][0][0]) {
-            alpha0[k][0] = 0;
-            alpha0[k][1] = 0;
+            AV_ZERO64(alpha0[k]);
         } else {
             float temp_real, temp_im, fact = 1.0f / phi[1][0][0];
             temp_real = phi[0][0][0] + alpha1[k][0] * phi[1][1][0] +
@@ -1262,10 +1260,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp,
 
         if (alpha1[k][0] * alpha1[k][0] + alpha1[k][1] * alpha1[k][1] >= 16.0f ||
            alpha0[k][0] * alpha0[k][0] + alpha0[k][1] * alpha0[k][1] >= 16.0f) {
-            alpha1[k][0] = 0;
-            alpha1[k][1] = 0;
-            alpha0[k][0] = 0;
-            alpha0[k][1] = 0;
+            AV_ZERO64(alpha0[k]);
+            AV_ZERO64(alpha1[k]);
         }
     }
 }
@@ -1301,14 +1297,12 @@ static int sbr_lf_gen(AACContext *ac, SpectralBandReplication *sbr,
     memset(X_low, 0, 32*sizeof(*X_low));
     for (k = 0; k < sbr->kx[1]; k++) {
         for (i = t_HFGen; i < i_f + t_HFGen; i++) {
-            X_low[k][i][0] = W[1][i - t_HFGen][k][0];
-            X_low[k][i][1] = W[1][i - t_HFGen][k][1];
+            AV_COPY64(X_low[k][i], W[1][i - t_HFGen][k]);
         }
     }
     for (k = 0; k < sbr->kx[0]; k++) {
         for (i = 0; i < t_HFGen; i++) {
-            X_low[k][i][0] = W[0][i + i_f - t_HFGen][k][0];
-            X_low[k][i][1] = W[0][i + i_f - t_HFGen][k][1];
+            AV_COPY64(X_low[k][i], W[0][i + i_f - t_HFGen][k]);
         }
     }
     return 0;
-- 
1.7.7.6

_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to