summaryrefslogtreecommitdiffstats
path: root/mp3lib
diff options
context:
space:
mode:
Diffstat (limited to 'mp3lib')
-rw-r--r--mp3lib/fastmemcpy.h1
-rw-r--r--mp3lib/sr1.c3
-rw-r--r--mp3lib/tabinit.c10
3 files changed, 10 insertions, 4 deletions
diff --git a/mp3lib/fastmemcpy.h b/mp3lib/fastmemcpy.h
new file mode 100644
index 0000000000..c9e7bdc9aa
--- /dev/null
+++ b/mp3lib/fastmemcpy.h
@@ -0,0 +1 @@
+#include "../libvo/fastmemcpy.h" \ No newline at end of file
diff --git a/mp3lib/sr1.c b/mp3lib/sr1.c
index 8e84ddfff5..b90bb16de1 100644
--- a/mp3lib/sr1.c
+++ b/mp3lib/sr1.c
@@ -27,6 +27,7 @@
#include "bswap.h"
#include "d_cpu.h"
+#include "fastmemcpy.h"
//static FILE* mp3_file=NULL;
int MP3_frames=0;
@@ -177,7 +178,7 @@ LOCAL int decode_header(struct frame *fr,unsigned long newhead){
// head_check:
if( (newhead & 0xffe00000) != 0xffe00000 ||
- (newhead & 0x0000f300) == 0x0000f300) return FALSE;
+ (newhead & 0x0000fc00) == 0x0000fc00) return FALSE;
fr->lay = 4-((newhead>>17)&3);
// if(fr->lay!=3) return FALSE;
diff --git a/mp3lib/tabinit.c b/mp3lib/tabinit.c
index eabf3eacb0..60c2e258b4 100644
--- a/mp3lib/tabinit.c
+++ b/mp3lib/tabinit.c
@@ -1,8 +1,12 @@
#ifdef HAVE_3DNOW
- real decwin[2*(512+32)];
- real cos64[32],cos32[16],cos16[8],cos8[4],cos4[2];
+ real decwin[2*(512+32)] __attribute__((aligned(8)));
+ real cos64[32] __attribute__((aligned(8)));
+ real cos32[16] __attribute__((aligned(8)));
+ real cos16[8] __attribute__((aligned(8)));
+ real cos8[4] __attribute__((aligned(8)));
+ real cos4[2] __attribute__((aligned(8)));
real *pnts[]={ cos64,cos32,cos16,cos8,cos4 };
#else
real decwin[512+32];
@@ -10,7 +14,7 @@
real *pnts[] = { cos64,cos32,cos16,cos8,cos4 };
#endif
- long intwinbase[] = {
+long intwinbase[] = {
0, -1, -1, -1, -1, -1, -1, -2, -2, -2,
-2, -3, -3, -4, -4, -5, -5, -6, -7, -7,
-8, -9, -10, -11, -13, -14, -16, -17, -19, -21,