ref: 4ebded6840927d57ec6eb601fbaa2f65dafc2a56
parent: 467c66e84278ade11ab5b6bca67a353780c3bd42
author: Marco <[email protected]>
date: Wed Aug 26 08:18:46 EDT 2015
vp9_spatial_svc_encoder: Add encoding time log. Change-Id: Iab4e4a13a65c9dc5314e5107b126c30667c7b448
--- 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));