Ticket #3634: 3634_workaround_v2.diff

File 3634_workaround_v2.diff, 1.2 KB (added by cpinkham, 17 years ago)
  • libs/libavcodec/ac3dec.c

     
    188188    uint8_t deltba[AC3_MAX_CHANNELS][8];        ///< bit allocation deltas
    189189
    190190    DECLARE_ALIGNED_16(float, transform_coeffs[AC3_MAX_CHANNELS][256]); ///< frequency domain coefficients
     191    // FIXME inserted by cpinkham for fixing stack alignment issues w/ gcc 3.2.2
     192    DECLARE_ALIGNED_16(float, tccopy[128]);
    191193    DECLARE_ALIGNED_16(float, output[AC3_MAX_CHANNELS][256]);           ///< output after imdct transform and windowing
    192194    DECLARE_ALIGNED_16(short, int_output[AC3_MAX_CHANNELS][256]);       ///< final 16-bit integer output
    193195    DECLARE_ALIGNED_16(float, delay[AC3_MAX_CHANNELS][256]);            ///< delay - added to the next block
     
    699701static void do_imdct_256(AC3DecodeContext *ctx, int ch)
    700702{
    701703    int k;
    702     DECLARE_ALIGNED_16(float, x[128]);
     704    //DECLARE_ALIGNED_16(float, x[128]);
     705    // FIXME inserted by cpinkham for fixing stack alignment issues w/ gcc 3.2.2
     706    float *x = ctx->tccopy;
    703707    FFTComplex z[2][64];
    704708    float *o_ptr = ctx->tmp_output;
    705709    int i;