Mercurial > mplayer.hg
changeset 31130:d1f5069bef25
Fix compilation broken by FFmpeg-r23201 that changed the api of error logging.
Also fix evaluation after FFmpeg-r23149 "change order of parameters".
Let the filters fail if evaluation can't be done.
author | iive |
---|---|
date | Thu, 20 May 2010 23:17:41 +0000 |
parents | 8639a950e856 |
children | 97488d0ea472 |
files | libmpcodecs/vf_geq.c libmpcodecs/vf_qp.c |
diffstat | 2 files changed, 11 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/libmpcodecs/vf_geq.c Wed May 19 22:56:41 2010 +0000 +++ b/libmpcodecs/vf_geq.c Thu May 20 23:17:41 2010 +0000 @@ -178,11 +178,11 @@ plane==0 ? lum : (plane==1 ? cb : cr), NULL }; - char * a; - vf->priv->e[plane] = ff_parse_expr(eq[plane], const_names, NULL, NULL, func2, func2_names, &a); + vf->priv->e[plane] = ff_parse_expr(eq[plane], const_names, NULL, NULL, func2_names, func2, 0, NULL); if (!vf->priv->e[plane]) { - mp_msg(MSGT_VFILTER, MSGL_ERR, "geq: error loading equation `%s': %s\n", eq[plane], a); + mp_msg(MSGT_VFILTER, MSGL_ERR, "geq: error loading equation `%s'\n", eq[plane]); + return 0; } }
--- a/libmpcodecs/vf_qp.c Wed May 19 22:56:41 2010 +0000 +++ b/libmpcodecs/vf_qp.c Thu May 20 23:17:41 2010 +0000 @@ -66,11 +66,15 @@ "qp", NULL }; + double temp_val; - const char *error = NULL; - vf->priv->lut[i+129]= lrintf(ff_parse_and_eval_expr(vf->priv->eq, const_values, const_names, NULL, NULL, NULL, NULL, NULL, &error)); - if (error) - mp_msg(MSGT_VFILTER, MSGL_ERR, "qp: Error evaluating \"%s\": %s\n", vf->priv->eq, error); + temp_val= ff_parse_and_eval_expr(vf->priv->eq, const_names, const_values, NULL, NULL, NULL, NULL, NULL, 0, NULL); + + if (isnan(temp_val)){ + mp_msg(MSGT_VFILTER, MSGL_ERR, "qp: Error evaluating \"%s\" \n", vf->priv->eq); + return 0; + } + vf->priv->lut[i+129]= lrintf(temp_val); } return vf_next_config(vf,width,height,d_width,d_height,flags,outfmt);