diff options
author | minyue@webrtc.org <minyue@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-16 21:28:26 +0000 |
---|---|---|
committer | minyue@webrtc.org <minyue@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> | 2014-07-16 21:28:26 +0000 |
commit | 31b38da0e2ba9778d241267f0cf1ba8dd2f36e83 (patch) | |
tree | 695be3361aafbf0951ffbaf4fcfb70a1f5cb7170 /modules/video_coding/main/source/media_opt_util.h | |
parent | bb77419cef4016dc9ec0a154d89fac2bea5e34cb (diff) | |
download | webrtc-31b38da0e2ba9778d241267f0cf1ba8dd2f36e83.tar.gz |
Raw packet loss rate reported by RTP_RTCP module may vary too drastically over time. This CL is to add a filter to the value in VoE before lending it to audio coding module.
The filter is an exponential filter borrowed from video coding module.
The method is written in a new class called PacketLossProtector (not sure if the name is nice), which can be used in the future for more sophisticated logic.
BUG=
R=henrika@webrtc.org, stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/20809004
git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@6709 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'modules/video_coding/main/source/media_opt_util.h')
-rw-r--r-- | modules/video_coding/main/source/media_opt_util.h | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/modules/video_coding/main/source/media_opt_util.h b/modules/video_coding/main/source/media_opt_util.h index f39a5780..d421d9e7 100644 --- a/modules/video_coding/main/source/media_opt_util.h +++ b/modules/video_coding/main/source/media_opt_util.h @@ -14,9 +14,9 @@ #include <math.h> #include <stdlib.h> +#include "webrtc/base/exp_filter.h" #include "webrtc/modules/video_coding/main/source/internal_defines.h" #include "webrtc/modules/video_coding/main/source/qm_select.h" -#include "webrtc/modules/video_coding/utility/include/exp_filter.h" #include "webrtc/system_wrappers/interface/trace.h" #include "webrtc/typedefs.h" @@ -367,27 +367,27 @@ private: // Sets the available loss protection methods. void UpdateMaxLossHistory(uint8_t lossPr255, int64_t now); uint8_t MaxFilteredLossPr(int64_t nowMs) const; - VCMProtectionMethod* _selectedMethod; - VCMProtectionParameters _currentParameters; - uint32_t _rtt; - float _lossPr; - float _bitRate; - float _frameRate; - float _keyFrameSize; - uint8_t _fecRateKey; - uint8_t _fecRateDelta; - int64_t _lastPrUpdateT; - int64_t _lastPacketPerFrameUpdateT; - int64_t _lastPacketPerFrameUpdateTKey; - VCMExpFilter _lossPr255; - VCMLossProbabilitySample _lossPrHistory[kLossPrHistorySize]; - uint8_t _shortMaxLossPr255; - VCMExpFilter _packetsPerFrame; - VCMExpFilter _packetsPerFrameKey; - float _residualPacketLossFec; - uint16_t _codecWidth; - uint16_t _codecHeight; - int _numLayers; + VCMProtectionMethod* _selectedMethod; + VCMProtectionParameters _currentParameters; + uint32_t _rtt; + float _lossPr; + float _bitRate; + float _frameRate; + float _keyFrameSize; + uint8_t _fecRateKey; + uint8_t _fecRateDelta; + int64_t _lastPrUpdateT; + int64_t _lastPacketPerFrameUpdateT; + int64_t _lastPacketPerFrameUpdateTKey; + rtc::ExpFilter _lossPr255; + VCMLossProbabilitySample _lossPrHistory[kLossPrHistorySize]; + uint8_t _shortMaxLossPr255; + rtc::ExpFilter _packetsPerFrame; + rtc::ExpFilter _packetsPerFrameKey; + float _residualPacketLossFec; + uint16_t _codecWidth; + uint16_t _codecHeight; + int _numLayers; }; } // namespace media_optimization |