diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2013-01-28 09:11:26 -0500 |
---|---|---|
committer | Yonit Halperin <yhalperi@redhat.com> | 2013-04-22 16:30:55 -0400 |
commit | 1d760551ec6f5152461112a804cfe40053d9da25 (patch) | |
tree | b600546b0d32675b68fc31a99ebb5c904552e9cc /server/mjpeg_encoder.c | |
parent | 167f999992da730f90079238447deae11629c250 (diff) | |
download | spice-1d760551ec6f5152461112a804cfe40053d9da25.tar.gz spice-1d760551ec6f5152461112a804cfe40053d9da25.tar.xz spice-1d760551ec6f5152461112a804cfe40053d9da25.zip |
collect and print video stream statistics
Diffstat (limited to 'server/mjpeg_encoder.c')
-rw-r--r-- | server/mjpeg_encoder.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/server/mjpeg_encoder.c b/server/mjpeg_encoder.c index b1010e0d..4460322c 100644 --- a/server/mjpeg_encoder.c +++ b/server/mjpeg_encoder.c @@ -167,6 +167,10 @@ struct MJpegEncoder { MJpegEncoderRateControl rate_control; MJpegEncoderRateControlCbs cbs; void *cbs_opaque; + + /* stats */ + uint64_t avg_quality; + uint32_t num_frames; }; static inline void mjpeg_encoder_reset_quality(MJpegEncoder *encoder, @@ -214,6 +218,7 @@ MJpegEncoder *mjpeg_encoder_new(int bit_rate_control, uint64_t starting_bit_rate void mjpeg_encoder_destroy(MJpegEncoder *encoder) { + spice_debug("avg-quality %.2f", (double)encoder->avg_quality / encoder->num_frames); jpeg_destroy_compress(&encoder->cinfo); free(encoder->row); free(encoder); @@ -815,6 +820,8 @@ int mjpeg_encoder_start_frame(MJpegEncoder *encoder, SpiceBitmapFmt format, jpeg_set_quality(&encoder->cinfo, quality, TRUE); jpeg_start_compress(&encoder->cinfo, encoder->first_frame); + encoder->num_frames++; + encoder->avg_quality += quality; return MJPEG_ENCODER_FRAME_ENCODE_START; } |