1
mirror of https://github.com/mpv-player/mpv synced 2024-12-28 06:03:45 +01:00

libmpcodecs/vf_*.c: Replace memalign() by av_malloc()

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32834 b3059339-0415-0410-9bf9-f77b7e298cf2

Fix postprocessing and perspective filters on x86-64
(missing libavutil/mem.h include).

Original patch by Reinhard Tartler

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32835 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
michael 2011-01-30 22:57:16 +00:00 committed by Uoti Urpala
parent 005bbf0da4
commit a353f11132
3 changed files with 12 additions and 8 deletions

View File

@ -32,6 +32,8 @@
#include <malloc.h>
#endif
#include "libavutil/mem.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
@ -108,7 +110,7 @@ static int config(struct vf_instance *vf,
int i, j;
vf->priv->pvStride= width;
vf->priv->pv= (void*)memalign(8, width*height*2*sizeof(int32_t));
vf->priv->pv= av_malloc(width*height*2*sizeof(int32_t));
initPv(vf->priv, width, height);
for(i=0; i<SUB_PIXELS; i++){
@ -132,7 +134,7 @@ static int config(struct vf_instance *vf,
static void uninit(struct vf_instance *vf){
if(!vf->priv) return;
free(vf->priv->pv);
av_free(vf->priv->pv);
vf->priv->pv= NULL;
free(vf->priv);

View File

@ -34,6 +34,8 @@
#include <malloc.h>
#endif
#include "libavutil/mem.h"
#include "img_format.h"
#include "mp_image.h"
#include "vf.h"
@ -350,7 +352,7 @@ static int config(struct vf_instance *vf,
int h= (height+16+15)&(~15);
vf->priv->temp_stride= (width+16+15)&(~15);
vf->priv->src = memalign(8, vf->priv->temp_stride*(h+8)*sizeof(uint8_t));
vf->priv->src = av_malloc(vf->priv->temp_stride*(h+8)*sizeof(uint8_t));
return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);
}
@ -410,7 +412,7 @@ static int put_image(struct vf_instance *vf, mp_image_t *mpi, double pts){
static void uninit(struct vf_instance *vf){
if(!vf->priv) return;
free(vf->priv->src);
av_free(vf->priv->src);
vf->priv->src= NULL;
free(vf->priv);

View File

@ -95,7 +95,7 @@ static int allocStuff(FilterParam *f, int width, int height){
SwsVector *vec;
SwsFilter swsF;
int i,x,y;
f->preFilterBuf= (uint8_t*)memalign(8, stride*height);
f->preFilterBuf= av_malloc(stride*height);
f->preFilterStride= stride;
vec = sws_getGaussianVec(f->preFilterRadius, f->quality);
@ -119,7 +119,7 @@ static int allocStuff(FilterParam *f, int width, int height){
vec = sws_getGaussianVec(f->radius, f->quality);
f->distWidth= vec->length;
f->distStride= (vec->length+7)&~7;
f->distCoeff= (int32_t*)memalign(8, f->distWidth*f->distStride*sizeof(int32_t));
f->distCoeff= av_malloc(f->distWidth*f->distStride*sizeof(int32_t));
for(y=0; y<vec->length; y++){
for(x=0; x<vec->length; x++){
@ -153,10 +153,10 @@ static void freeBuffers(FilterParam *f){
if(f->preFilterContext) sws_freeContext(f->preFilterContext);
f->preFilterContext=NULL;
free(f->preFilterBuf);
av_free(f->preFilterBuf);
f->preFilterBuf=NULL;
free(f->distCoeff);
av_free(f->distCoeff);
f->distCoeff=NULL;
}