diff options
author | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-01 10:35:30 +0000 |
---|---|---|
committer | faust3 <faust3@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2004-04-01 10:35:30 +0000 |
commit | 3076975c63c8c3e3b38b0fae5edbb55d808cd931 (patch) | |
tree | c7a7203c382731058b2cd42695f3dbf7e1c06ade /liba52 | |
parent | 971bb1dd0fe25b0f7c2ffde99d2697af9fae3f63 (diff) | |
download | mpv-3076975c63c8c3e3b38b0fae5edbb55d808cd931.tar.bz2 mpv-3076975c63c8c3e3b38b0fae5edbb55d808cd931.tar.xz |
although this SSE fix is an ugly hack it seems to work fine for me
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12089 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'liba52')
-rw-r--r-- | liba52/parse.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/liba52/parse.c b/liba52/parse.c index d3557019d7..4ef47b38fa 100644 --- a/liba52/parse.c +++ b/liba52/parse.c @@ -57,6 +57,19 @@ sample_t * a52_init (uint32_t mm_accel) downmix_accel_init(mm_accel); samples = memalign (16, 256 * 12 * sizeof (sample_t)); +#if defined(__MINGW32__) && defined(HAVE_SSE) + for(i=0;i<10;i++){ + if((int)samples%16){ + sample_t* samplestmp=malloc(256 * 12 * sizeof (sample_t)); + free(samples); + samples = samplestmp; + } + else break; + } + if((int)samples%16){ + printf("unable to get 16 bit aligned memory => expect crashes when using SSE instructions\n"); + } +#endif if (samples == NULL) return NULL; |