Chromium Code Reviews| 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 506 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 517 bool pictureLossIndicationOn; | 517 bool pictureLossIndicationOn; |
| 518 bool feedbackModeOn; | 518 bool feedbackModeOn; |
| 519 VideoCodecComplexity complexity; | 519 VideoCodecComplexity complexity; |
| 520 VP8ResilienceMode resilience; | 520 VP8ResilienceMode resilience; |
| 521 unsigned char numberOfTemporalLayers; | 521 unsigned char numberOfTemporalLayers; |
| 522 bool denoisingOn; | 522 bool denoisingOn; |
| 523 bool errorConcealmentOn; | 523 bool errorConcealmentOn; |
| 524 bool automaticResizeOn; | 524 bool automaticResizeOn; |
| 525 bool frameDroppingOn; | 525 bool frameDroppingOn; |
| 526 int keyFrameInterval; | 526 int keyFrameInterval; |
| 527 const TemporalLayersFactory* tl_factory; | 527 TemporalLayersFactory* tl_factory; |
| 528 }; | 528 }; |
| 529 | 529 |
| 530 // VP9 specific. | 530 // VP9 specific. |
| 531 struct VideoCodecVP9 { | 531 struct VideoCodecVP9 { |
| 532 VideoCodecComplexity complexity; | 532 VideoCodecComplexity complexity; |
| 533 int resilience; | 533 int resilience; |
| 534 unsigned char numberOfTemporalLayers; | 534 unsigned char numberOfTemporalLayers; |
| 535 bool denoisingOn; | 535 bool denoisingOn; |
| 536 bool frameDroppingOn; | 536 bool frameDroppingOn; |
| 537 int keyFrameInterval; | 537 int keyFrameInterval; |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 615 SimulcastStream simulcastStream[kMaxSimulcastStreams]; | 615 SimulcastStream simulcastStream[kMaxSimulcastStreams]; |
| 616 SpatialLayer spatialLayers[kMaxSpatialLayers]; | 616 SpatialLayer spatialLayers[kMaxSpatialLayers]; |
| 617 | 617 |
| 618 VideoCodecMode mode; | 618 VideoCodecMode mode; |
| 619 bool expect_encode_from_texture; | 619 bool expect_encode_from_texture; |
| 620 | 620 |
| 621 bool operator==(const VideoCodec& other) const = delete; | 621 bool operator==(const VideoCodec& other) const = delete; |
| 622 bool operator!=(const VideoCodec& other) const = delete; | 622 bool operator!=(const VideoCodec& other) const = delete; |
| 623 }; | 623 }; |
| 624 | 624 |
| 625 class BitrateAllocation { | |
| 626 public: | |
| 627 static constexpr size_t kMaxBitrateBps = 100000000; | |
|
perkj_webrtc
2016/10/27 12:57:31
nit : add comment 100 Mbit/s
sprang_webrtc
2016/11/01 18:03:16
Done.
| |
| 628 BitrateAllocation(); | |
| 629 | |
| 630 bool SetBitrate(size_t spatial_index, | |
| 631 size_t temporal_index, | |
| 632 uint32_t bitrate_bps); | |
| 633 | |
| 634 uint32_t GetBitrate(size_t spatial_index, size_t temporal_index) const; | |
| 635 | |
| 636 // Get the sum of all the temporal layer for a specific spatial layer. | |
| 637 uint32_t GetSpatialLayerSum(size_t spatial_index) const; | |
| 638 | |
| 639 uint32_t get_sum_bps() const { return sum_; } // Sum of all bitrates. | |
| 640 uint32_t get_sum_kbps() const { return (sum_ + 500) / 1000; } | |
| 641 | |
| 642 inline bool operator==(const BitrateAllocation& other) const { | |
| 643 return memcmp(bitrates_, other.bitrates_, sizeof(bitrates_)) == 0; | |
| 644 } | |
| 645 inline bool operator!=(const BitrateAllocation& other) const { | |
| 646 return !(*this == other); | |
| 647 } | |
| 648 | |
| 649 private: | |
| 650 uint32_t sum_; | |
| 651 uint32_t bitrates_[kMaxSpatialLayers][kMaxTemporalStreams]; | |
| 652 }; | |
| 653 | |
| 625 // Bandwidth over-use detector options. These are used to drive | 654 // Bandwidth over-use detector options. These are used to drive |
| 626 // experimentation with bandwidth estimation parameters. | 655 // experimentation with bandwidth estimation parameters. |
| 627 // See modules/remote_bitrate_estimator/overuse_detector.h | 656 // See modules/remote_bitrate_estimator/overuse_detector.h |
| 628 struct OverUseDetectorOptions { | 657 struct OverUseDetectorOptions { |
| 629 OverUseDetectorOptions() | 658 OverUseDetectorOptions() |
| 630 : initial_slope(8.0 / 512.0), | 659 : initial_slope(8.0 / 512.0), |
| 631 initial_offset(0), | 660 initial_offset(0), |
| 632 initial_e(), | 661 initial_e(), |
| 633 initial_process_noise(), | 662 initial_process_noise(), |
| 634 initial_avg_noise(0.0), | 663 initial_avg_noise(0.0), |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 821 enum class RtcpMode { kOff, kCompound, kReducedSize }; | 850 enum class RtcpMode { kOff, kCompound, kReducedSize }; |
| 822 | 851 |
| 823 enum NetworkState { | 852 enum NetworkState { |
| 824 kNetworkUp, | 853 kNetworkUp, |
| 825 kNetworkDown, | 854 kNetworkDown, |
| 826 }; | 855 }; |
| 827 | 856 |
| 828 } // namespace webrtc | 857 } // namespace webrtc |
| 829 | 858 |
| 830 #endif // WEBRTC_COMMON_TYPES_H_ | 859 #endif // WEBRTC_COMMON_TYPES_H_ |
| OLD | NEW |