Correct dct64 functions' declarations
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23459 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
1 parent
d36bb9b201
commit
08301d0056
5 files changed
+10
-13
No files matched your search
@@ -15,7 +15,7 @@
|
||||
static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL;
|
||||
static float attribute_used plus_1f = 1.0;
|
||||
|
||||
void dct64_MMX_3dnow(real *a,real *b,real *c)
|
||||
void dct64_MMX_3dnow(short *a,short *b,real *c)
|
||||
{
|
||||
char tmp[256];
|
||||
__asm __volatile(
|
||||
|
||||
+1
-1
@@ -6,7 +6,7 @@
|
||||
#include "mangle.h"
|
||||
#define real float /* ugly - but only way */
|
||||
|
||||
void dct64_MMX(real *a,real *b,real *c)
|
||||
void dct64_MMX(short *a,short *b,real *c)
|
||||
{
|
||||
char tmp[256];
|
||||
__asm __volatile(
|
||||
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
static unsigned long long int attribute_used __attribute__((aligned(8))) x_plus_minus_3dnow = 0x8000000000000000ULL;
|
||||
static float attribute_used plus_1f = 1.0;
|
||||
|
||||
void dct64_MMX_3dnowex(real *a,real *b,real *c)
|
||||
void dct64_MMX_3dnowex(short *a,short *b,real *c)
|
||||
{
|
||||
char tmp[256];
|
||||
__asm __volatile(
|
||||
|
||||
+2
-5
@@ -30,15 +30,12 @@ static const int pnpn[4] __attribute__((aligned(16))) =
|
||||
static const int nnnn[4] __attribute__((aligned(16))) =
|
||||
{ 1 << 31, 1 << 31, 1 << 31, 1 << 31 };
|
||||
|
||||
void dct64_sse(real *a,real *b,real *c)
|
||||
void dct64_sse(short *out0,short *out1,real *c)
|
||||
{
|
||||
static real __attribute__ ((aligned(16))) b1[0x20];
|
||||
static real __attribute__ ((aligned(16))) b2[0x20];
|
||||
static real const one = 1.f;
|
||||
|
||||
short *out0 = (short*)a;
|
||||
short *out1 = (short*)b;
|
||||
|
||||
{
|
||||
real *costab = costab_mmx;
|
||||
int i;
|
||||
@@ -428,7 +425,7 @@ void dct64_sse(real *a,real *b,real *c)
|
||||
"fistp 416(%4)\n\t"
|
||||
".byte 0xdf, 0xc0\n\t" // ffreep %%st(0)
|
||||
:
|
||||
:"m"(costab_mmx[30]), "r"(b1), "r"(b2), "r"(a), "r"(b)
|
||||
:"m"(costab_mmx[30]), "r"(b1), "r"(b2), "r"(out0), "r"(out1)
|
||||
:"memory"
|
||||
);
|
||||
#endif
|
||||
|
||||
+5
-5
@@ -393,11 +393,11 @@ static int _has_mmx = 0; // used by layer2.c, layer3.c to pre-scale coeffs
|
||||
/******************************************************************************/
|
||||
|
||||
/* It's hidden from gcc in assembler */
|
||||
extern void dct64_MMX(real *, real *, real *);
|
||||
extern void dct64_MMX_3dnow(real *, real *, real *);
|
||||
extern void dct64_MMX_3dnowex(real *, real *, real *);
|
||||
extern void dct64_sse(real *, real *, real *);
|
||||
void (*dct64_MMX_func)(real *, real *, real *);
|
||||
extern void dct64_MMX(short *, short *, real *);
|
||||
extern void dct64_MMX_3dnow(short *, short *, real *);
|
||||
extern void dct64_MMX_3dnowex(short *, short *, real *);
|
||||
extern void dct64_sse(short *, short *, real *);
|
||||
void (*dct64_MMX_func)(short *, short *, real *);
|
||||
|
||||
#include "cpudetect.h"
|
||||
|
||||
|
||||
Reference in new issue
Block a user