Mercurial > mplayer.hg
changeset 20763:b6bd2e6fa76d
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
author | gpoirier |
---|---|
date | Wed, 08 Nov 2006 14:48:36 +0000 |
parents | 6cde789dd554 |
children | 62bb5a46fdcb |
files | liba52/parse.c |
diffstat | 1 files changed, 9 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/liba52/parse.c Wed Nov 08 13:05:10 2006 +0000 +++ b/liba52/parse.c Wed Nov 08 14:48:36 2006 +0000 @@ -37,6 +37,7 @@ #include "bitstream.h" #include "tables.h" #include "mm_accel.h" +#include "libavutil/avutil.h" #ifdef HAVE_MEMALIGN /* some systems have memalign() but no declaration for it */ @@ -63,16 +64,10 @@ if (state == NULL) return NULL; +#if defined(__MINGW32__) && defined(HAVE_SSE) + state->samples = av_malloc(256 * 12 * sizeof (sample_t)); +#else state->samples = memalign (16, 256 * 12 * sizeof (sample_t)); -#if defined(__MINGW32__) && defined(HAVE_SSE) - for(i=0;i<10;i++){ - if((int)state->samples%16){ - sample_t* samplestmp=malloc(256 * 12 * sizeof (sample_t)); - free(state->samples); - state->samples = samplestmp; - } - else break; - } #endif if(((int)state->samples%16) && (mm_accel&MM_ACCEL_X86_SSE)){ mm_accel &=~MM_ACCEL_X86_SSE; @@ -915,6 +910,10 @@ void a52_free (a52_state_t * state) { - free (state->samples); +#if defined(__MINGW32__) && defined(HAVE_SSE) + av_free (state->samples); +#else + free (state->samples); +#endif free (state); }