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);