mirror of https://github.com/mpv-player/mpv
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
This commit is contained in:
parent
1a83bec0f7
commit
7ad13f49b4
|
@ -56,7 +56,7 @@
|
||||||
|
|
||||||
/* sizeof(int) == 4 */
|
/* sizeof(int) == 4 */
|
||||||
#define WRITE_SAMPLE(samples,sum,clip) { \
|
#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);\
|
dtemp = ((((65536.0 * 65536.0 * 16)+(65536.0 * 0.5))* 65536.0)) + (sum);\
|
||||||
v = (((int *)&dtemp)[MANTISSA_OFFSET] - 0x80000000); \
|
v = (((int *)&dtemp)[MANTISSA_OFFSET] - 0x80000000); \
|
||||||
if( v > 32767) { *(samples) = 0x7fff; (clip)++; } \
|
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;
|
synth_func_t synth_func;
|
||||||
|
|
||||||
#ifdef HAVE_MMX
|
#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];
|
real *mybandPtr __attribute__((aligned(16))) = bandPtr;
|
||||||
static int bo = 1;
|
short *mysamples __attribute__((aligned(16))) = samples;
|
||||||
synth_1to1_MMX_s(bandPtr, channel, samples, (short *) buffs, &bo);
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue