ref: 169c846575aeaa4991ac1807656804253e66c99b
parent: f951881e8cc8487b812b2cd562fb1d9d583ec30b
author: Marco <marpan@google.com>
date: Fri Mar 10 03:46:23 EST 2017
vp9: Sample encoder vpx_temporal_svc_encoder: enable row-mt Enable row-mt in the sample encoder vpx_temporal_svc_encoder.c, under certain condiitons. Change-Id: Ic103ee81a9d80be5bf6e5778cc21fc3199db909d
--- a/examples/vpx_temporal_svc_encoder.c
+++ b/examples/vpx_temporal_svc_encoder.c
@@ -722,7 +722,12 @@
vpx_codec_control(&codec, VP8E_SET_STATIC_THRESHOLD, 1);
vpx_codec_control(&codec, VP9E_SET_TUNE_CONTENT, 0);
vpx_codec_control(&codec, VP9E_SET_TILE_COLUMNS, (cfg.g_threads >> 1));
- vpx_codec_control(&codec, VP9E_SET_ROW_MT, 0);
+ // TODO(marpan/jianj): There is an issue with row-mt for low resolutons at
+ // high speed settings, disable its use for those cases for now.
+ if (cfg.g_threads > 1 && ((cfg.g_w > 320 && cfg.g_h > 240) || speed < 7))
+ vpx_codec_control(&codec, VP9E_SET_ROW_MT, 1);
+ else
+ vpx_codec_control(&codec, VP9E_SET_ROW_MT, 0);
if (vpx_codec_control(&codec, VP9E_SET_SVC, layering_mode > 0 ? 1 : 0))
die_codec(&codec, "Failed to set SVC");
for (i = 0; i < cfg.ts_number_layers; ++i) {