For VGA (640x360), currently 1 thread is used. This change increases it to 2 threads. For HD, 4 threads are enabled.

BUG=none
TEST=run a hangout and screencast high framerate, high resolution windows of youtube.  Observe that 1 cpu is insufficient to maintain high framerate with complex content.
Review URL: https://webrtc-codereview.appspot.com/1203006

git-svn-id: http://webrtc.googlecode.com/svn/trunk@3747 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
fbarchard@google.com 2013-04-01 22:16:45 +00:00
parent 65243bdb18
commit 747c4cc96e

View File

@ -226,11 +226,12 @@ int VP8EncoderImpl::InitEncode(const VideoCodec* inst,
config_->g_lag_in_frames = 0; // 0- no frame lagging
// Determining number of threads based on the image size
if (codec_.width * codec_.height > 704 * 576 && number_of_cores > 1) {
// 2 threads when larger than 4CIF
config_->g_threads = 2;
if (codec_.width * codec_.height > 640 * 480 && number_of_cores >= 4) {
config_->g_threads = 4; // 4 threads for qHD/HD.
} else if (codec_.width * codec_.height > 320 * 240 && number_of_cores >= 2) {
config_->g_threads = 2; // 2 threads for HVGA/VGA.
} else {
config_->g_threads = 1;
config_->g_threads = 1; // 1 thread for QVGA.
}
// rate control settings