mirror of https://github.com/mpv-player/mpv
prevent crash in case we are unable to get aligned buffer
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@12090 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
3076975c63
commit
2041a9a551
|
@ -31,6 +31,7 @@
|
||||||
#include "a52_internal.h"
|
#include "a52_internal.h"
|
||||||
#include "bitstream.h"
|
#include "bitstream.h"
|
||||||
#include "tables.h"
|
#include "tables.h"
|
||||||
|
#include "mm_accel.h"
|
||||||
|
|
||||||
#ifdef HAVE_MEMALIGN
|
#ifdef HAVE_MEMALIGN
|
||||||
/* some systems have memalign() but no declaration for it */
|
/* some systems have memalign() but no declaration for it */
|
||||||
|
@ -53,9 +54,6 @@ sample_t * a52_init (uint32_t mm_accel)
|
||||||
sample_t * samples;
|
sample_t * samples;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
imdct_init (mm_accel);
|
|
||||||
downmix_accel_init(mm_accel);
|
|
||||||
|
|
||||||
samples = memalign (16, 256 * 12 * sizeof (sample_t));
|
samples = memalign (16, 256 * 12 * sizeof (sample_t));
|
||||||
#if defined(__MINGW32__) && defined(HAVE_SSE)
|
#if defined(__MINGW32__) && defined(HAVE_SSE)
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<10;i++){
|
||||||
|
@ -66,13 +64,18 @@ sample_t * a52_init (uint32_t mm_accel)
|
||||||
}
|
}
|
||||||
else break;
|
else break;
|
||||||
}
|
}
|
||||||
if((int)samples%16){
|
|
||||||
printf("unable to get 16 bit aligned memory => expect crashes when using SSE instructions\n");
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
|
if(((int)samples%16) && (mm_accel&MM_ACCEL_X86_SSE)){
|
||||||
|
mm_accel &=~MM_ACCEL_X86_SSE;
|
||||||
|
printf("liba52: unable to get 16 byte aligned memory disabling usage of SSE instructions\n");
|
||||||
|
}
|
||||||
|
|
||||||
if (samples == NULL)
|
if (samples == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
|
imdct_init (mm_accel);
|
||||||
|
downmix_accel_init(mm_accel);
|
||||||
|
|
||||||
for (i = 0; i < 256 * 12; i++)
|
for (i = 0; i < 256 * 12; i++)
|
||||||
samples[i] = 0;
|
samples[i] = 0;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue