summaryrefslogtreecommitdiffstats
path: root/server/mjpeg_encoder.c
diff options
context:
space:
mode:
authorYonit Halperin <yhalperi@redhat.com>2013-01-28 09:11:26 -0500
committerYonit Halperin <yhalperi@redhat.com>2013-04-22 16:30:55 -0400
commit1d760551ec6f5152461112a804cfe40053d9da25 (patch)
treeb600546b0d32675b68fc31a99ebb5c904552e9cc /server/mjpeg_encoder.c
parent167f999992da730f90079238447deae11629c250 (diff)
downloadspice-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.c7
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;
}