OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 inst->simulcastStream[stream_idx].height, kVp832ByteAlign); | 555 inst->simulcastStream[stream_idx].height, kVp832ByteAlign); |
556 SetStreamState(stream_bitrates[stream_idx] > 0, stream_idx); | 556 SetStreamState(stream_bitrates[stream_idx] > 0, stream_idx); |
557 configurations_[i].rc_target_bitrate = stream_bitrates[stream_idx]; | 557 configurations_[i].rc_target_bitrate = stream_bitrates[stream_idx]; |
558 temporal_layers_[stream_idx]->ConfigureBitrates( | 558 temporal_layers_[stream_idx]->ConfigureBitrates( |
559 stream_bitrates[stream_idx], inst->maxBitrate, inst->maxFramerate, | 559 stream_bitrates[stream_idx], inst->maxBitrate, inst->maxFramerate, |
560 &configurations_[i]); | 560 &configurations_[i]); |
561 } | 561 } |
562 } | 562 } |
563 | 563 |
564 rps_.Init(); | 564 rps_.Init(); |
565 quality_scaler_.Init(QualityScaler::kLowVp8QpThreshold, | 565 quality_scaler_.Init(codec_.codecType, codec_.startBitrate, codec_.width, |
566 QualityScaler::kBadVp8QpThreshold, codec_.startBitrate, | 566 codec_.height, codec_.maxFramerate); |
567 codec_.width, codec_.height, codec_.maxFramerate); | |
568 | 567 |
569 // Only apply scaling to improve for single-layer streams. The scaling metrics | 568 // Only apply scaling to improve for single-layer streams. The scaling metrics |
570 // use frame drops as a signal and is only applicable when we drop frames. | 569 // use frame drops as a signal and is only applicable when we drop frames. |
571 quality_scaler_enabled_ = encoders_.size() == 1 && | 570 quality_scaler_enabled_ = encoders_.size() == 1 && |
572 configurations_[0].rc_dropframe_thresh > 0 && | 571 configurations_[0].rc_dropframe_thresh > 0 && |
573 codec_.codecSpecific.VP8.automaticResizeOn; | 572 codec_.codecSpecific.VP8.automaticResizeOn; |
574 | 573 |
575 return InitAndSetControlSettings(); | 574 return InitAndSetControlSettings(); |
576 } | 575 } |
577 | 576 |
(...skipping 786 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1364 return -1; | 1363 return -1; |
1365 } | 1364 } |
1366 if (vpx_codec_control(copy->decoder_, VP8_SET_REFERENCE, ref_frame_) != | 1365 if (vpx_codec_control(copy->decoder_, VP8_SET_REFERENCE, ref_frame_) != |
1367 VPX_CODEC_OK) { | 1366 VPX_CODEC_OK) { |
1368 return -1; | 1367 return -1; |
1369 } | 1368 } |
1370 return 0; | 1369 return 0; |
1371 } | 1370 } |
1372 | 1371 |
1373 } // namespace webrtc | 1372 } // namespace webrtc |
OLD | NEW |