[FFmpeg-cvslog] ffmpeg.c: Add output file index and stream index to vstats file.

Sasi Inguva git at videolan.org
Fri Jan 27 23:22:12 EET 2017


ffmpeg | branch: master | Sasi Inguva <isasi-at-google.com at ffmpeg.org> | Wed Jan 25 16:41:44 2017 -0800| [03e42a4fecae42eec4687fd6f1e1c504303f9b83] | committer: Michael Niedermayer

ffmpeg.c: Add output file index and stream index to vstats file.

Signed-off-by: Sasi Inguva <isasi at google.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=03e42a4fecae42eec4687fd6f1e1c504303f9b83
---

 doc/ffmpeg.texi | 8 +++++++-
 ffmpeg.c        | 9 +++++++--
 ffmpeg_opt.c    | 2 +-
 3 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
index cdea1a2..996d6a6 100644
--- a/doc/ffmpeg.texi
+++ b/doc/ffmpeg.texi
@@ -637,9 +637,15 @@ Dump video coding statistics to @file{vstats_HHMMSS.log}.
 @item -vstats_file @var{file}
 Dump video coding statistics to @var{file}.
 @item -vstats_version @var{file}
-Specifies which version of the vstats format to use. If version is 1, format is
+Specifies which version of the vstats format to use. Default is 2.
+
+version = 1 :
 
 @code{frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s}
+
+version > 1:
+
+ at code{out= %2d st= %2d frame= %5d q= %2.1f PSNR= %6.2f f_size= %6d s_size= %8.0fkB time= %0.3f br= %7.1fkbits/s avg_br= %7.1fkbits/s}
 @item -top[:@var{stream_specifier}] @var{n} (@emph{output,per-stream})
 top=1/bottom=0/auto=-1 field first
 @item -dc @var{precision}
diff --git a/ffmpeg.c b/ffmpeg.c
index 977708c..0a8f448 100644
--- a/ffmpeg.c
+++ b/ffmpeg.c
@@ -1347,8 +1347,13 @@ static void do_video_stats(OutputStream *ost, int frame_size)
     enc = ost->enc_ctx;
     if (enc->codec_type == AVMEDIA_TYPE_VIDEO) {
         frame_number = ost->st->nb_frames;
-        fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number,
-                ost->quality / (float)FF_QP2LAMBDA);
+        if (vstats_version <= 1) {
+            fprintf(vstats_file, "frame= %5d q= %2.1f ", frame_number,
+                    ost->quality / (float)FF_QP2LAMBDA);
+        } else  {
+            fprintf(vstats_file, "out= %2d st= %2d frame= %5d q= %2.1f ", ost->file_index, ost->index, frame_number,
+                    ost->quality / (float)FF_QP2LAMBDA);
+        }
 
         if (ost->error[0]>=0 && (enc->flags & AV_CODEC_FLAG_PSNR))
             fprintf(vstats_file, "PSNR= %6.2f ", psnr(ost->error[0] / (enc->width * enc->height * 255.0 * 255.0)));
diff --git a/ffmpeg_opt.c b/ffmpeg_opt.c
index b1a62e8..6a47d32 100644
--- a/ffmpeg_opt.c
+++ b/ffmpeg_opt.c
@@ -121,7 +121,7 @@ int frame_bits_per_raw_sample = 0;
 float max_error_rate  = 2.0/3;
 int filter_nbthreads = 0;
 int filter_complex_nbthreads = 0;
-int vstats_version = 1;
+int vstats_version = 2;
 
 
 static int intra_only         = 0;



More information about the ffmpeg-cvslog mailing list