From: Marco Date: Fri, 10 Mar 2017 16:46:23 +0000 (-0800) Subject: vp9: Sample encoder vpx_temporal_svc_encoder: enable row-mt X-Git-Tag: v1.7.0~643^2 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=169c846575aeaa4991ac1807656804253e66c99b;p=libvpx 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 --- diff --git a/examples/vpx_temporal_svc_encoder.c b/examples/vpx_temporal_svc_encoder.c index 67225cf62..c34673b05 100644 --- a/examples/vpx_temporal_svc_encoder.c +++ b/examples/vpx_temporal_svc_encoder.c @@ -722,7 +722,12 @@ int main(int argc, char **argv) { 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) {