[MPlayer-cvslog] r20779 - trunk/liba52/parse.c

gpoirier subversion at mplayerhq.hu
Wed Nov 8 15:48:37 CET 2006


Author: gpoirier
Date: Wed Nov  8 15:48:36 2006
New Revision: 20779

Modified:
   trunk/liba52/parse.c

Log:
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


Modified: trunk/liba52/parse.c
==============================================================================
--- trunk/liba52/parse.c	(original)
+++ trunk/liba52/parse.c	Wed Nov  8 15:48:36 2006
@@ -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;
 
-    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;
-    }
+    state->samples = av_malloc(256 * 12 * sizeof (sample_t));
+#else
+    state->samples = memalign (16, 256 * 12 * sizeof (sample_t));
 #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);
 }



More information about the MPlayer-cvslog mailing list