mirror of
https://github.com/mpv-player/mpv
synced 2024-12-25 08:12:17 +00:00
symplify aligned memory allocation on mingw32 by using ffmpeg's av_malloc/av_free
Patch by Emanuele Giaquinta % e P giaquinta A glauco P it % Original thread: Subject: [MPlayer-dev-eng] [PATCH] liba52/parse.c: avoid dirty hack on mingw32 Date: 10/25/2006 03:19 AM git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@20779 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
cb2b207948
commit
7c9d04f18b
@ -37,6 +37,7 @@
|
|||||||
#include "bitstream.h"
|
#include "bitstream.h"
|
||||||
#include "tables.h"
|
#include "tables.h"
|
||||||
#include "mm_accel.h"
|
#include "mm_accel.h"
|
||||||
|
#include "libavutil/avutil.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 */
|
||||||
@ -63,16 +64,10 @@ a52_state_t * a52_init (uint32_t mm_accel)
|
|||||||
if (state == NULL)
|
if (state == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
state->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++){
|
state->samples = av_malloc(256 * 12 * sizeof (sample_t));
|
||||||
if((int)state->samples%16){
|
#else
|
||||||
sample_t* samplestmp=malloc(256 * 12 * sizeof (sample_t));
|
state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
|
||||||
free(state->samples);
|
|
||||||
state->samples = samplestmp;
|
|
||||||
}
|
|
||||||
else break;
|
|
||||||
}
|
|
||||||
#endif
|
#endif
|
||||||
if(((int)state->samples%16) && (mm_accel&MM_ACCEL_X86_SSE)){
|
if(((int)state->samples%16) && (mm_accel&MM_ACCEL_X86_SSE)){
|
||||||
mm_accel &=~MM_ACCEL_X86_SSE;
|
mm_accel &=~MM_ACCEL_X86_SSE;
|
||||||
@ -915,6 +910,10 @@ int a52_block (a52_state_t * state)
|
|||||||
|
|
||||||
void a52_free (a52_state_t * state)
|
void a52_free (a52_state_t * state)
|
||||||
{
|
{
|
||||||
|
#if defined(__MINGW32__) && defined(HAVE_SSE)
|
||||||
|
av_free (state->samples);
|
||||||
|
#else
|
||||||
free (state->samples);
|
free (state->samples);
|
||||||
|
#endif
|
||||||
free (state);
|
free (state);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user