diff options
-rw-r--r-- | libmpcodecs/vf_expand.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libmpcodecs/vf_expand.c b/libmpcodecs/vf_expand.c index 3bb1f87bd4..0d4030adfb 100644 --- a/libmpcodecs/vf_expand.c +++ b/libmpcodecs/vf_expand.c @@ -145,8 +145,17 @@ static int config(struct vf_instance_s* vf, unsigned int flags, unsigned int outfmt){ int ret; // calculate the missing parameters: +#if 0 if(vf->priv->exp_w<width) vf->priv->exp_w=width; if(vf->priv->exp_h<height) vf->priv->exp_h=height; +#else + if ( vf->priv->exp_w == -1 ) vf->priv->exp_w=width; + else if (vf->priv->exp_w < -1 ) vf->priv->exp_w=width - vf->priv->exp_w; + else if ( vf->priv->exp_w<width ) vf->priv->exp_w=width; + if ( vf->priv->exp_h == -1 ) vf->priv->exp_h=height; + else if ( vf->priv->exp_h < -1 ) vf->priv->exp_h=height - vf->priv->exp_h; + else if( vf->priv->exp_h<height ) vf->priv->exp_h=height; +#endif if(vf->priv->exp_x<0 || vf->priv->exp_x+width>vf->priv->exp_w) vf->priv->exp_x=(vf->priv->exp_w-width)/2; if(vf->priv->exp_y<0 || vf->priv->exp_y+height>vf->priv->exp_h) vf->priv->exp_y=(vf->priv->exp_h-height)/2; vf->priv->fb_ptr=NULL; |