Merge commit '30b39164256999efc8d77edc85e2e0b963c24834'
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 10 Dec 2012 01:06:50 +0000 (02:06 +0100)
committerMichael Niedermayer <michaelni@gmx.at>
Mon, 10 Dec 2012 01:06:50 +0000 (02:06 +0100)
* commit '30b39164256999efc8d77edc85e2e0b963c24834':
  ac3dec: make downmix() take array of pointers to channel data

Conflicts:
libavcodec/ac3dsp.c
libavcodec/ac3dsp.h

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/ac3dec.c
libavcodec/ac3dec.h
libavcodec/ac3dsp.c
libavcodec/ac3dsp.h
libavcodec/x86/ac3dsp_init.c

Simple merge
Simple merge
@@@ -172,49 -171,7 +172,49 @@@ static void ac3_extract_exponents_c(uin
      }
  }
  
- static void ac3_downmix_c(float (*samples)[256], float (*matrix)[2],
 +static void ac3_sum_square_butterfly_int32_c(int64_t sum[4],
 +                                             const int32_t *coef0,
 +                                             const int32_t *coef1,
 +                                             int len)
 +{
 +    int i;
 +
 +    sum[0] = sum[1] = sum[2] = sum[3] = 0;
 +
 +    for (i = 0; i < len; i++) {
 +        int lt = coef0[i];
 +        int rt = coef1[i];
 +        int md = lt + rt;
 +        int sd = lt - rt;
 +        MAC64(sum[0], lt, lt);
 +        MAC64(sum[1], rt, rt);
 +        MAC64(sum[2], md, md);
 +        MAC64(sum[3], sd, sd);
 +    }
 +}
 +
 +static void ac3_sum_square_butterfly_float_c(float sum[4],
 +                                             const float *coef0,
 +                                             const float *coef1,
 +                                             int len)
 +{
 +    int i;
 +
 +    sum[0] = sum[1] = sum[2] = sum[3] = 0;
 +
 +    for (i = 0; i < len; i++) {
 +        float lt = coef0[i];
 +        float rt = coef1[i];
 +        float md = lt + rt;
 +        float sd = lt - rt;
 +        sum[0] += lt * lt;
 +        sum[1] += rt * rt;
 +        sum[2] += md * md;
 +        sum[3] += sd * sd;
 +    }
 +}
 +
+ static void ac3_downmix_c(float **samples, float (*matrix)[2],
                            int out_ch, int in_ch, int len)
  {
      int i, j;
@@@ -126,13 -126,7 +126,13 @@@ typedef struct AC3DSPContext 
  
      void (*extract_exponents)(uint8_t *exp, int32_t *coef, int nb_coefs);
  
-     void (*downmix)(float (*samples)[256], float (*matrix)[2], int out_ch,
 +    void (*sum_square_butterfly_int32)(int64_t sum[4], const int32_t *coef0,
 +                                       const int32_t *coef1, int len);
 +
 +    void (*sum_square_butterfly_float)(float sum[4], const float *coef0,
 +                                       const float *coef1, int len);
 +
+     void (*downmix)(float **samples, float (*matrix)[2], int out_ch,
                      int in_ch, int len);
  } AC3DSPContext;
  
Simple merge