[FFmpeg-cvslog] Revert "AAC SBR: group some writes."

Ronald S. Bultje git at videolan.org
Thu Mar 8 03:10:44 CET 2012


ffmpeg | branch: master | Ronald S. Bultje <rsbultje at gmail.com> | Wed Mar  7 10:52:09 2012 -0800| [6e2821160b151f402f82b16171a1cdc27b4a9b83] | committer: Ronald S. Bultje

Revert "AAC SBR: group some writes."

This reverts commit ba36f14e5d34bcca6ecf77ba1c7512d1b51a9740. It
broke decoding on x86-32 on some systems.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=6e2821160b151f402f82b16171a1cdc27b4a9b83
---

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

diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c
index 3e02346..f5ac30f 100644
--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -1229,7 +1229,8 @@ 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) {
-            AV_ZERO64(alpha1[k]);
+            alpha1[k][0] = 0;
+            alpha1[k][1] = 0;
         } else {
             float temp_real, temp_im;
             temp_real = phi[0][0][0] * phi[1][1][0] -
@@ -1244,7 +1245,8 @@ static void sbr_hf_inverse_filter(SBRDSPContext *dsp,
         }
 
         if (!phi[1][0][0]) {
-            AV_ZERO64(alpha0[k]);
+            alpha0[k][0] = 0;
+            alpha0[k][1] = 0;
         } else {
             float temp_real, temp_im;
             temp_real = phi[0][0][0] + alpha1[k][0] * phi[1][1][0] +
@@ -1258,8 +1260,10 @@ 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) {
-            AV_ZERO64(alpha0[k]);
-            AV_ZERO64(alpha1[k]);
+            alpha1[k][0] = 0;
+            alpha1[k][1] = 0;
+            alpha0[k][0] = 0;
+            alpha0[k][1] = 0;
         }
     }
 }
@@ -1295,12 +1299,14 @@ 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++) {
-            AV_COPY64(X_low[k][i], W[1][i - t_HFGen][k]);
+            X_low[k][i][0] = W[1][i - t_HFGen][k][0];
+            X_low[k][i][1] = W[1][i - t_HFGen][k][1];
         }
     }
     for (k = 0; k < sbr->kx[0]; k++) {
         for (i = 0; i < t_HFGen; i++) {
-            AV_COPY64(X_low[k][i], W[0][i + i_f - t_HFGen][k]);
+            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];
         }
     }
     return 0;



More information about the ffmpeg-cvslog mailing list