On Wed, Mar 7, 2012 at 10:52 AM, Ronald S. Bultje <rsbul...@gmail.com> wrote:
> From: "Ronald S. Bultje" <rsbul...@gmail.com>
>
> This reverts commit ba36f14e5d34bcca6ecf77ba1c7512d1b51a9740. It
> broke decoding on x86-32 on some systems.
> ---
>  libavcodec/aacsbr.c |   18 ++++++++++++------
>  1 file 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;
> --
> 1.7.9.2
>

OK
_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to