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

Side by Side Diff: webrtc/modules/audio_coding/codecs/isac/main/source/bandwidth_estimator.h

Issue 1208923002: iSAC: Functions for importing and exporting bandwidth est. info (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: review comments 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) 2011 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2011 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 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 const uint32_t arr_ts, 97 const uint32_t arr_ts,
98 const int32_t pksize); 98 const int32_t pksize);
99 99
100 /* Update receiving estimates. Used when we only receive BWE index, no iSAC da ta packet. */ 100 /* Update receiving estimates. Used when we only receive BWE index, no iSAC da ta packet. */
101 int16_t WebRtcIsac_UpdateUplinkBwImpl( 101 int16_t WebRtcIsac_UpdateUplinkBwImpl(
102 BwEstimatorstr* bwest_str, 102 BwEstimatorstr* bwest_str,
103 int16_t Index, 103 int16_t Index,
104 enum IsacSamplingRate encoderSamplingFreq); 104 enum IsacSamplingRate encoderSamplingFreq);
105 105
106 /* Returns the bandwidth/jitter estimation code (integer 0...23) to put in the sending iSAC payload */ 106 /* Returns the bandwidth/jitter estimation code (integer 0...23) to put in the sending iSAC payload */
107 uint16_t WebRtcIsac_GetDownlinkBwJitIndexImpl( 107 void WebRtcIsac_GetDownlinkBwJitIndexImpl(
108 BwEstimatorstr* bwest_str, 108 BwEstimatorstr* bwest_str,
109 int16_t* bottleneckIndex, 109 int16_t* bottleneckIndex,
110 int16_t* jitterInfo, 110 int16_t* jitterInfo,
111 enum IsacSamplingRate decoderSamplingFreq); 111 enum IsacSamplingRate decoderSamplingFreq);
112 112
113 /* Returns the bandwidth estimation (in bps) */ 113 /* Returns the bandwidth estimation (in bps) */
114 int32_t WebRtcIsac_GetDownlinkBandwidth( 114 int32_t WebRtcIsac_GetDownlinkBandwidth(
115 const BwEstimatorstr *bwest_str); 115 const BwEstimatorstr *bwest_str);
116 116
117 /* Returns the max delay (in ms) */ 117 /* Returns the max delay (in ms) */
118 int32_t WebRtcIsac_GetDownlinkMaxDelay( 118 int32_t WebRtcIsac_GetDownlinkMaxDelay(
119 const BwEstimatorstr *bwest_str); 119 const BwEstimatorstr *bwest_str);
120 120
121 /* Returns the bandwidth that iSAC should send with in bps */ 121 /* Returns the bandwidth that iSAC should send with in bps */
122 void WebRtcIsac_GetUplinkBandwidth( 122 int32_t WebRtcIsac_GetUplinkBandwidth(const BwEstimatorstr* bwest_str);
123 const BwEstimatorstr* bwest_str,
124 int32_t* bitRate);
125 123
126 /* Returns the max delay value from the other side in ms */ 124 /* Returns the max delay value from the other side in ms */
127 int32_t WebRtcIsac_GetUplinkMaxDelay( 125 int32_t WebRtcIsac_GetUplinkMaxDelay(
128 const BwEstimatorstr *bwest_str); 126 const BwEstimatorstr *bwest_str);
129 127
128 /* Fills in an IsacExternalBandwidthInfo struct. */
129 void WebRtcIsacBw_GetBandwidthInfo(
130 BwEstimatorstr* bwest_str,
131 enum IsacSamplingRate decoder_sample_rate_hz,
132 IsacBandwidthInfo* bwinfo);
133
134 /* Uses the values from an IsacExternalBandwidthInfo struct. */
135 void WebRtcIsacBw_SetBandwidthInfo(BwEstimatorstr* bwest_str,
136 const IsacBandwidthInfo* bwinfo);
130 137
131 /* 138 /*
132 * update amount of data in bottle neck buffer and burst handling 139 * update amount of data in bottle neck buffer and burst handling
133 * returns minimum payload size (bytes) 140 * returns minimum payload size (bytes)
134 */ 141 */
135 int WebRtcIsac_GetMinBytes( 142 int WebRtcIsac_GetMinBytes(
136 RateModel* State, 143 RateModel* State,
137 int StreamSize, /* bytes in bitstream */ 144 int StreamSize, /* bytes in bitstream */
138 const int FrameLen, /* ms per frame */ 145 const int FrameLen, /* ms per frame */
139 const double BottleNeck, /* bottle neck rate; excl headers (bps) */ 146 const double BottleNeck, /* bottle neck rate; excl headers (bps) */
(...skipping 28 matching lines...) Expand all
168 int16_t WebRtcIsac_UpdateUplinkJitter( 175 int16_t WebRtcIsac_UpdateUplinkJitter(
169 BwEstimatorstr* bwest_str, 176 BwEstimatorstr* bwest_str,
170 int32_t index); 177 int32_t index);
171 178
172 #if defined(__cplusplus) 179 #if defined(__cplusplus)
173 } 180 }
174 #endif 181 #endif
175 182
176 183
177 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_BANDWIDTH_ESTIMATO R_H_ */ 184 #endif /* WEBRTC_MODULES_AUDIO_CODING_CODECS_ISAC_MAIN_SOURCE_BANDWIDTH_ESTIMATO R_H_ */
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698