avfilter/vf_ssim: Add support for writing stats to stdout
authorTobias Rapp <t.rapp@noa-audio.com>
Tue, 20 Oct 2015 13:34:36 +0000 (15:34 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 21 Oct 2015 20:11:33 +0000 (22:11 +0200)
Reviewed-by: Paul B Mahol <onemda@gmail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
doc/filters.texi
libavfilter/vf_ssim.c

index 486398d..6a1596e 100644 (file)
@@ -10226,7 +10226,8 @@ The description of the accepted parameters follows.
 @table @option
 @item stats_file, f
 If specified the filter will use the named file to save the SSIM of
-each individual frame.
+each individual frame. When filename equals "-" the data is sent to
+standard output.
 @end table
 
 The file printed if @var{stats_file} is selected, contains a sequence of
index 5cd9361..b23d447 100644 (file)
@@ -223,7 +223,9 @@ static av_cold int init(AVFilterContext *ctx)
 {
     SSIMContext *s = ctx->priv;
 
-    if (s->stats_file_str) {
+    if (!strcmp(s->stats_file_str, "-")) {
+        s->stats_file = stdout;
+    } else if (s->stats_file_str) {
         s->stats_file = fopen(s->stats_file_str, "w");
         if (!s->stats_file) {
             int err = AVERROR(errno);
@@ -354,7 +356,7 @@ static av_cold void uninit(AVFilterContext *ctx)
 
     ff_dualinput_uninit(&s->dinput);
 
-    if (s->stats_file)
+    if (s->stats_file && s->stats_file != stdout)
         fclose(s->stats_file);
 
     av_freep(&s->temp);