| Index: source/libvpx/examples/vp9_spatial_svc_encoder.c
|
| diff --git a/source/libvpx/examples/vp9_spatial_svc_encoder.c b/source/libvpx/examples/vp9_spatial_svc_encoder.c
|
| index 5a6097665615e27270f94497a15abdfe81069099..af8aa86485cabff76dea8ceaea95cf757a1761a9 100644
|
| --- a/source/libvpx/examples/vp9_spatial_svc_encoder.c
|
| +++ b/source/libvpx/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 @@ int main(int argc, const char **argv) {
|
| 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];
|
| @@ -632,6 +635,9 @@ int main(int argc, const char **argv) {
|
| vpx_codec_control(&codec, VP8E_SET_CPUUSED, svc_ctx.speed);
|
| if (svc_ctx.threads)
|
| vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, (svc_ctx.threads >> 1));
|
| + if (svc_ctx.speed >= 5)
|
| + vpx_codec_control(&codec, VP9E_SET_AQ_MODE, 3);
|
| +
|
|
|
| // Encode frames
|
| while (!end_of_stream) {
|
| @@ -643,9 +649,12 @@ int main(int argc, const char **argv) {
|
| 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 +793,10 @@ int main(int argc, const char **argv) {
|
| }
|
| }
|
| #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));
|
|
|