diff options
author | Thibault Saunier <tsaunier@gnome.org> | 2015-06-18 11:09:26 +0200 |
---|---|---|
committer | Thibault Saunier <tsaunier@gnome.org> | 2015-06-24 16:25:24 +0200 |
commit | 8e37c81811cee2a409a9e7105df875c352a8818b (patch) | |
tree | 2dfa28bf1ca85a7a35ab51d37f7d3990e6edaf0f | |
parent | de40a24b8f5488a63773a8175b30029603998cb5 (diff) |
validate:ssim: Inform about min average and min minimum similarities
-rw-r--r-- | validate/gst-libs/gst/video/gstvalidatessim.c | 8 | ||||
-rw-r--r-- | validate/plugins/ssim/gstvalidatessim.c | 11 | ||||
-rw-r--r-- | validate/tools/gst-validate-images-check.c | 5 |
3 files changed, 21 insertions, 3 deletions
diff --git a/validate/gst-libs/gst/video/gstvalidatessim.c b/validate/gst-libs/gst/video/gstvalidatessim.c index 1a63c23..8bbdc95 100644 --- a/validate/gst-libs/gst/video/gstvalidatessim.c +++ b/validate/gst-libs/gst/video/gstvalidatessim.c @@ -736,6 +736,7 @@ _check_directory (GstValidateSsim * self, const gchar * ref_dir, gboolean res = TRUE; GFileInfo *info; GFileEnumerator *fenum; + gfloat min_avg = 1.0, min_min = 1.0, total_avg = 0; GFile *file = g_file_new_for_path (ref_dir); if (!(fenum = g_file_enumerate_children (file, @@ -773,6 +774,9 @@ _check_directory (GstValidateSsim * self, const gchar * ref_dir, } } + min_avg = MIN (min_avg, *mean); + min_min = MIN (min_min, *lowest); + total_avg += *mean; gst_validate_printf (NULL, "<position: %s duration: %" GST_TIME_FORMAT " avg: %f min: %f (Passed: %d failed: %d, %d not found)/>\r", @@ -787,6 +791,10 @@ _check_directory (GstValidateSsim * self, const gchar * ref_dir, g_object_unref (info); } + gst_validate_printf (NULL, + "\nAverage similarity: %f, min_avg: %f, min_min: %f\n", + total_avg / nfiles, min_avg, min_min); + done: gst_object_unref (file); if (fenum) diff --git a/validate/plugins/ssim/gstvalidatessim.c b/validate/plugins/ssim/gstvalidatessim.c index 3442c1c..56fad97 100644 --- a/validate/plugins/ssim/gstvalidatessim.c +++ b/validate/plugins/ssim/gstvalidatessim.c @@ -201,7 +201,8 @@ runner_stopping (GstValidateRunner * runner, ValidateSsimOverride * self) guint i, nfiles; gfloat mssim = 0, lowest = 1, highest = -1, total_avg = 0; gint npassed = 0, nfailures = 0; - gdouble min_avg_similarity = 0.95, min_lowest_similarity = -1.0; + gdouble min_avg_similarity = 0.95, min_lowest_similarity = -1.0, + min_avg = 1.0, min_min = 1.0; const gchar *compared_files_dir = gst_structure_get_string (self->priv->config, "reference-images-dir"); @@ -245,17 +246,21 @@ runner_stopping (GstValidateRunner * runner, ValidateSsimOverride * self) else npassed++; + min_avg = MIN (min_avg, mssim); + min_min = MIN (lowest, min_min); total_avg += mssim; gst_validate_printf (NULL, "<position: %" GST_TIME_FORMAT " duration: %" GST_TIME_FORMAT - " %d / %d avg: %f min: %f (Passed: %d failed: %d)/>\r", + " %d / %d avg: %f min: %f (Passed: %d failed: %d)/>\n", GST_TIME_ARGS (frame->position), GST_TIME_ARGS (GST_CLOCK_TIME_NONE), i + 1, nfiles, mssim, lowest, npassed, nfailures); g_free (bname); } - gst_validate_printf (NULL, "\nAverage similarity: %f\n", total_avg / nfiles); + gst_validate_printf (NULL, + "\nAverage similarity: %f, min_avg: %f, min_min: %f\n", + total_avg / nfiles, min_avg, min_min); } static void diff --git a/validate/tools/gst-validate-images-check.c b/validate/tools/gst-validate-images-check.c index 9c7302e..b4b2fbd 100644 --- a/validate/tools/gst-validate-images-check.c +++ b/validate/tools/gst-validate-images-check.c @@ -94,6 +94,11 @@ main (int argc, char **argv) gst_validate_ssim_compare_image_files (ssim, argv[1], argv[2], &mssim, &lowest, &highest, outfolder); + if (!g_file_test (argv[1], G_FILE_TEST_IS_DIR)) { + gst_validate_printf (ssim, "Compared %s with %s, average: %f, Min %f\n", + argv[1], argv[2], mssim, lowest); + } + rep_err = gst_validate_runner_exit (runner, TRUE); if (ret == 0) { ret = rep_err; |