diff options
author | Yonit Halperin <yhalperi@redhat.com> | 2013-06-24 12:36:31 -0400 |
---|---|---|
committer | Yonit Halperin <yhalperi@redhat.com> | 2013-06-24 15:23:34 -0400 |
commit | a9f1a4b75dbba65eb16ce7c5119ec2fbe4563ede (patch) | |
tree | 0897c7f5116cf22a45772645b42701d183741833 /server/mjpeg_encoder.c | |
parent | 1377732805dbaadc98d7b1bbe0656908f72113ce (diff) | |
download | spice-a9f1a4b75dbba65eb16ce7c5119ec2fbe4563ede.tar.gz spice-a9f1a4b75dbba65eb16ce7c5119ec2fbe4563ede.tar.xz spice-a9f1a4b75dbba65eb16ce7c5119ec2fbe4563ede.zip |
mjpeg_encoder: add mjpeg_encoder_get_stats
Diffstat (limited to 'server/mjpeg_encoder.c')
-rw-r--r-- | server/mjpeg_encoder.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/server/mjpeg_encoder.c b/server/mjpeg_encoder.c index 4460322c..92aef27f 100644 --- a/server/mjpeg_encoder.c +++ b/server/mjpeg_encoder.c @@ -169,6 +169,7 @@ struct MJpegEncoder { void *cbs_opaque; /* stats */ + uint64_t starting_bit_rate; uint64_t avg_quality; uint32_t num_frames; }; @@ -195,6 +196,8 @@ MJpegEncoder *mjpeg_encoder_new(int bit_rate_control, uint64_t starting_bit_rate enc->first_frame = TRUE; enc->rate_control_is_active = bit_rate_control; enc->rate_control.byte_rate = starting_bit_rate / 8; + enc->starting_bit_rate = starting_bit_rate; + if (bit_rate_control) { struct timespec time; @@ -1259,3 +1262,11 @@ uint64_t mjpeg_encoder_get_bit_rate(MJpegEncoder *encoder) { return encoder->rate_control.byte_rate * 8; } + +void mjpeg_encoder_get_stats(MJpegEncoder *encoder, MJpegEncoderStats *stats) +{ + spice_assert(encoder != NULL && stats != NULL); + stats->starting_bit_rate = encoder->starting_bit_rate; + stats->cur_bit_rate = mjpeg_encoder_get_bit_rate(encoder); + stats->avg_quality = (double)encoder->avg_quality / encoder->num_frames; +} |