summaryrefslogtreecommitdiffstats
path: root/remoting/codec
diff options
context:
space:
mode:
authoraconverse <aconverse@chromium.org>2015-03-04 16:11:58 -0800
committerCommit bot <commit-bot@chromium.org>2015-03-05 00:12:20 +0000
commite67fefbf4f5a5a83ca8d487f422b09664dc4c8fe (patch)
treef5055e8212d39de1e2a6ed42695c9be3c9e5c526 /remoting/codec
parent7410ba7817276da208e2794bae934bebbc8e9ab8 (diff)
downloadchromium_src-e67fefbf4f5a5a83ca8d487f422b09664dc4c8fe.zip
chromium_src-e67fefbf4f5a5a83ca8d487f422b09664dc4c8fe.tar.gz
chromium_src-e67fefbf4f5a5a83ca8d487f422b09664dc4c8fe.tar.bz2
Use tiles when encoding with VP9.
VP9's tile encoding feature allows for multithreaded parallelism on both the encoder and decoder side. TEST=Run remoting_perftests under VTune and see that two logical CPUs are used BUG=134202 Review URL: https://codereview.chromium.org/977663004 Cr-Commit-Position: refs/heads/master@{#319167}
Diffstat (limited to 'remoting/codec')
-rw-r--r--remoting/codec/video_encoder_vpx.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/remoting/codec/video_encoder_vpx.cc b/remoting/codec/video_encoder_vpx.cc
index 73e8ee8..d9f5bf7 100644
--- a/remoting/codec/video_encoder_vpx.cc
+++ b/remoting/codec/video_encoder_vpx.cc
@@ -133,6 +133,10 @@ void SetVp9CodecOptions(vpx_codec_ctx_t* codec, bool lossless_encode) {
ret = vpx_codec_control(
codec, VP9E_SET_TUNE_CONTENT, VP9E_CONTENT_SCREEN);
DCHECK_EQ(VPX_CODEC_OK, ret) << "Failed to set screen content mode";
+
+ // VP9 tiles allow for parallelism on both encode and decode
+ ret = vpx_codec_control(codec, VP9E_SET_TILE_COLUMNS, 1);
+ DCHECK_EQ(VPX_CODEC_OK, ret) << "Failed to set tile columns";
}
void CreateImage(bool use_i444,