ref: 413a0392c0ecf9cdc223e6c0a093ac00cea3782e
parent: c50f6739f8c83282208bedfb7061ad95509010ff
parent: 4ebded6840927d57ec6eb601fbaa2f65dafc2a56
author: Marco Paniconi <[email protected]>
date: Wed Aug 26 15:47:15 EDT 2015
Merge "vp9_spatial_svc_encoder: Add encoding time log."
--- a/examples/vp9_spatial_svc_encoder.c
+++ b/examples/vp9_spatial_svc_encoder.c
@@ -25,6 +25,7 @@
#include "../tools_common.h"
#include "../video_writer.h"
+#include "../vpx_ports/vpx_timer.h"
#include "vpx/svc_context.h"
#include "vpx/vp8cx.h"
#include "vpx/vpx_encoder.h"
@@ -564,6 +565,8 @@
double sum_bitrate2 = 0.0;
double framerate = 30.0;
#endif
+ struct vpx_usec_timer timer;
+ int64_t cx_time = 0;
memset(&svc_ctx, 0, sizeof(svc_ctx));
svc_ctx.log_print = 1;
exec_name = argv[0];
@@ -643,9 +646,12 @@
end_of_stream = 1;
}
+ vpx_usec_timer_start(&timer);
res = vpx_svc_encode(&svc_ctx, &codec, (end_of_stream ? NULL : &raw),
pts, frame_duration, svc_ctx.speed >= 5 ?
VPX_DL_REALTIME : VPX_DL_GOOD_QUALITY);
+ vpx_usec_timer_mark(&timer);
+ cx_time += vpx_usec_timer_elapsed(&timer);
printf("%s", vpx_svc_get_message(&svc_ctx));
if (res != VPX_CODEC_OK) {
@@ -784,6 +790,10 @@
}
}
#endif
+ printf("Frame cnt and encoding time/FPS stats for encoding: %d %f %f \n",
+ frame_cnt,
+ 1000 * (float)cx_time / (double)(frame_cnt * 1000000),
+ 1000000 * (double)frame_cnt / (double)cx_time);
vpx_img_free(&raw);
// display average size, psnr
printf("%s", vpx_svc_dump_statistics(&svc_ctx));