From 7ad13f49b4ee4a297472ee17de694576eb503553 Mon Sep 17 00:00:00 2001 From: atmos4 Date: Sun, 23 Sep 2001 01:44:37 +0000 Subject: Fix for mp3 decoding on alpha/64bit platforms wupposed by Bob McElrath. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@1942 b3059339-0415-0410-9bf9-f77b7e298cf2 --- mp3lib/decod386.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'mp3lib') diff --git a/mp3lib/decod386.c b/mp3lib/decod386.c index f5ca8940c0..7cf9f44540 100644 --- a/mp3lib/decod386.c +++ b/mp3lib/decod386.c @@ -56,7 +56,7 @@ /* sizeof(int) == 4 */ #define WRITE_SAMPLE(samples,sum,clip) { \ - double dtemp; long v; \ + double dtemp; int v; \ dtemp = ((((65536.0 * 65536.0 * 16)+(65536.0 * 0.5))* 65536.0)) + (sum);\ v = (((int *)&dtemp)[MANTISSA_OFFSET] - 0x80000000); \ if( v > 32767) { *(samples) = 0x7fff; (clip)++; } \ @@ -150,11 +150,13 @@ static int synth_1to1_r(real *bandPtr,int channel,unsigned char *out,int *pnt) synth_func_t synth_func; #ifdef HAVE_MMX -int synth_1to1_MMX( real *bandPtr,int channel,short * samples) +int synth_1to1_MMX( real *bandPtr ,int channel,short * samples) { - static short buffs[2][2][0x110]; - static int bo = 1; - synth_1to1_MMX_s(bandPtr, channel, samples, (short *) buffs, &bo); + real *mybandPtr __attribute__((aligned(16))) = bandPtr; + short *mysamples __attribute__((aligned(16))) = samples; + static short buffs[2][2][0x110] __attribute__((aligned(16))); + static int bo __attribute__((aligned(16))) = 1; + synth_1to1_MMX_s(mybandPtr, channel, mysamples, (short *) buffs, &bo); return 0; } #endif -- cgit v1.2.3