summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThibault Saunier <tsaunier@gnome.org>2015-06-18 11:09:26 +0200
committerThibault Saunier <tsaunier@gnome.org>2015-06-24 16:25:24 +0200
commit8e37c81811cee2a409a9e7105df875c352a8818b (patch)
tree2dfa28bf1ca85a7a35ab51d37f7d3990e6edaf0f
parentde40a24b8f5488a63773a8175b30029603998cb5 (diff)
validate:ssim: Inform about min average and min minimum similarities
-rw-r--r--validate/gst-libs/gst/video/gstvalidatessim.c8
-rw-r--r--validate/plugins/ssim/gstvalidatessim.c11
-rw-r--r--validate/tools/gst-validate-images-check.c5
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;