Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Side by Side Diff: webrtc/modules/remote_bitrate_estimator/test/bwe_test_framework.cc

Issue 1151603008: Make the BWE threshold adaptive. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Fix string length issue. Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 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 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
87 private: 87 private:
88 typedef std::pair<int64_t, uint32_t> TimeSizePair; 88 typedef std::pair<int64_t, uint32_t> TimeSizePair;
89 89
90 const int64_t kWindowSizeUs; 90 const int64_t kWindowSizeUs;
91 uint32_t packets_per_second_; 91 uint32_t packets_per_second_;
92 uint32_t bytes_per_second_; 92 uint32_t bytes_per_second_;
93 int64_t last_accumulated_us_; 93 int64_t last_accumulated_us_;
94 std::list<TimeSizePair> window_; 94 std::list<TimeSizePair> window_;
95 }; 95 };
96 96
97 Random::Random(uint32_t seed)
98 : a_(0x531FDB97 ^ seed),
99 b_(0x6420ECA8 + seed) {
100 }
101
102 float Random::Rand() {
103 const float kScale = 1.0f / 0xffffffff;
104 float result = kScale * b_;
105 a_ ^= b_;
106 b_ += a_;
107 return result;
108 }
109
110 int Random::Gaussian(int mean, int standard_deviation) {
111 // Creating a Normal distribution variable from two independent uniform
112 // variables based on the Box-Muller transform, which is defined on the
113 // interval (0, 1], hence the mask+add below.
114 const double kPi = 3.14159265358979323846;
115 const double kScale = 1.0 / 0x80000000ul;
116 double u1 = kScale * ((a_ & 0x7ffffffful) + 1);
117 double u2 = kScale * ((b_ & 0x7ffffffful) + 1);
118 a_ ^= b_;
119 b_ += a_;
120 return static_cast<int>(mean + standard_deviation *
121 sqrt(-2 * log(u1)) * cos(2 * kPi * u2));
122 }
123
124 Packet::Packet() 97 Packet::Packet()
125 : flow_id_(0), creation_time_us_(-1), send_time_us_(-1), payload_size_(0) { 98 : flow_id_(0), creation_time_us_(-1), send_time_us_(-1), payload_size_(0) {
126 } 99 }
127 100
128 Packet::Packet(int flow_id, int64_t send_time_us, size_t payload_size) 101 Packet::Packet(int flow_id, int64_t send_time_us, size_t payload_size)
129 : flow_id_(flow_id), 102 : flow_id_(flow_id),
130 creation_time_us_(send_time_us), 103 creation_time_us_(send_time_us),
131 send_time_us_(send_time_us), 104 send_time_us_(send_time_us),
132 payload_size_(payload_size) { 105 payload_size_(payload_size) {
133 } 106 }
(...skipping 607 matching lines...) Expand 10 before | Expand all | Expand 10 after
741 uint32_t PeriodicKeyFrameSource::NextPacketSize(uint32_t frame_size, 714 uint32_t PeriodicKeyFrameSource::NextPacketSize(uint32_t frame_size,
742 uint32_t remaining_payload) { 715 uint32_t remaining_payload) {
743 uint32_t fragments = 716 uint32_t fragments =
744 (frame_size + (kMaxPayloadSizeBytes - 1)) / kMaxPayloadSizeBytes; 717 (frame_size + (kMaxPayloadSizeBytes - 1)) / kMaxPayloadSizeBytes;
745 uint32_t avg_size = (frame_size + fragments - 1) / fragments; 718 uint32_t avg_size = (frame_size + fragments - 1) / fragments;
746 return std::min(avg_size, remaining_payload); 719 return std::min(avg_size, remaining_payload);
747 } 720 }
748 } // namespace bwe 721 } // namespace bwe
749 } // namespace testing 722 } // namespace testing
750 } // namespace webrtc 723 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698