Chromium Code Reviews| Index: remoting/base/encoder_vp8.cc |
| diff --git a/remoting/base/encoder_vp8.cc b/remoting/base/encoder_vp8.cc |
| index 0bba179a97cd397ef3b6002163ea013053fcf0f2..c1bb814dc957feab2d5d9af1ca9443d0e41aa7b4 100644 |
| --- a/remoting/base/encoder_vp8.cc |
| +++ b/remoting/base/encoder_vp8.cc |
| @@ -99,14 +99,19 @@ bool EncoderVp8::Init(const gfx::Size& size) { |
| active_map_height_ = (size.height() + kMacroBlockSize - 1) / kMacroBlockSize; |
| active_map_.reset(new uint8[active_map_width_ * active_map_height_]); |
| - // TODO(hclam): Tune the parameters to better suit the application. |
| config.rc_target_bitrate = size.width() * size.height() * |
| config.rc_target_bitrate / config.g_w / config.g_h; |
| config.g_w = size.width(); |
| config.g_h = size.height(); |
| config.g_pass = VPX_RC_ONE_PASS; |
| - config.g_profile = 1; |
| - config.g_threads = 1; |
| + |
| + // Value of 2 means using the real time profile. This is basically a |
| + // redundant option since we explicitly select real time mode when doing |
| + // encoding. |
| + config.g_profile = 2; |
|
Wez
2011/06/20 19:55:01
Is the value 2 not defined somewhere as e.g. kVpxR
Alpha Left Google
2011/06/20 20:02:08
The value is not defined in the VP8 API. It basica
|
| + |
| + // Use 2 threads to do encoding. |
| + config.g_threads = 2; |
|
Wez
2011/06/20 19:55:01
nit: Why use 2, not 3 or 4 or 7? I'd expect a com
Lambros
2011/06/20 20:02:07
Drive-by: I'd also like to know where the numbers
|
| config.rc_min_quantizer = 20; |
| config.rc_max_quantizer = 30; |
| config.g_timebase.num = 1; |
| @@ -114,6 +119,16 @@ bool EncoderVp8::Init(const gfx::Size& size) { |
| if (vpx_codec_enc_init(codec_.get(), algo, &config, 0)) |
| return false; |
| + |
| + // Value of 16 will have the smallest CPU load. This turns off subpixel |
| + // motion search. |
| + if (vpx_codec_control(codec_.get(), VP8E_SET_CPUUSED, 16)) |
| + return false; |
| + |
| + // Use the lowest level of noise sensitivity so as to spend less time |
| + // on motion estimation and inter-prediction mode. |
| + if (vpx_codec_control(codec_.get(), VP8E_SET_NOISE_SENSITIVITY, 0)) |
| + return false; |
| return true; |
| } |