diff options
author | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-07 23:30:59 +0000 |
---|---|---|
committer | arpi <arpi@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2002-04-07 23:30:59 +0000 |
commit | dd031af91c11e94f5b67780c175b644ab48d63b1 (patch) | |
tree | b42e63dbd7a02fb07e640299065cf44f0ab79eab /libmpcodecs | |
parent | f8e40dfce6660dda86a4a8e34e962bd1e0f45e89 (diff) | |
download | mpv-dd031af91c11e94f5b67780c175b644ab48d63b1.tar.bz2 mpv-dd031af91c11e94f5b67780c175b644ab48d63b1.tar.xz |
free old context, really use query_format
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@5527 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libmpcodecs')
-rw-r--r-- | libmpcodecs/vf_scale.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/libmpcodecs/vf_scale.c b/libmpcodecs/vf_scale.c index 1539a2c9ce..8e1b35e0f1 100644 --- a/libmpcodecs/vf_scale.c +++ b/libmpcodecs/vf_scale.c @@ -37,6 +37,7 @@ static int config(struct vf_instance_s* vf, unsigned int flags, unsigned int outfmt){ unsigned int* p=outfmt_list; unsigned int best=0; + // find the best outfmt: while(*p){ int ret=vf_next_query_format(vf,*p); @@ -57,6 +58,9 @@ static int config(struct vf_instance_s* vf, printf("SwScale scaling %dx%d %s to %dx%d %s \n", width,height,vo_format_name(outfmt), vf->priv->w,vf->priv->h,vo_format_name(best)); + + // free old ctx: + if(vf->priv->ctx) freeSwsContext(vf->priv->ctx); // new swscaler: vf->priv->ctx=getSwsContextFromCmdLine(width,height,outfmt, @@ -108,6 +112,7 @@ static int query_format(struct vf_instance_s* vf, unsigned int fmt){ static int open(vf_instance_t *vf, char* args){ vf->config=config; vf->put_image=put_image; + vf->query_format=query_format; vf->priv=malloc(sizeof(struct vf_priv_s)); // TODO: parse args -> vf->priv->ctx=NULL; |