Index: webrtc/modules/video_coding/utility/include/frame_dropper.h |
diff --git a/webrtc/modules/video_coding/utility/include/frame_dropper.h b/webrtc/modules/video_coding/utility/include/frame_dropper.h |
deleted file mode 100644 |
index 2b78a7264f06e664e50ad2ddc97fd1c88f717c7a..0000000000000000000000000000000000000000 |
--- a/webrtc/modules/video_coding/utility/include/frame_dropper.h |
+++ /dev/null |
@@ -1,98 +0,0 @@ |
-/* |
- * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. |
- * |
- * Use of this source code is governed by a BSD-style license |
- * that can be found in the LICENSE file in the root of the source |
- * tree. An additional intellectual property rights grant can be found |
- * in the file PATENTS. All contributing project authors may |
- * be found in the AUTHORS file in the root of the source tree. |
- */ |
- |
-#ifndef WEBRTC_MODULES_VIDEO_CODING_UTILITY_INCLUDE_FRAME_DROPPER_H_ |
-#define WEBRTC_MODULES_VIDEO_CODING_UTILITY_INCLUDE_FRAME_DROPPER_H_ |
- |
-#include <cstddef> |
- |
-#include "webrtc/base/exp_filter.h" |
-#include "webrtc/typedefs.h" |
- |
-namespace webrtc |
-{ |
- |
-// The Frame Dropper implements a variant of the leaky bucket algorithm |
-// for keeping track of when to drop frames to avoid bit rate |
-// over use when the encoder can't keep its bit rate. |
-class FrameDropper |
-{ |
-public: |
- FrameDropper(); |
- explicit FrameDropper(float max_time_drops); |
- virtual ~FrameDropper() {} |
- |
- // Resets the FrameDropper to its initial state. |
- // This means that the frameRateWeight is set to its |
- // default value as well. |
- virtual void Reset(); |
- |
- virtual void Enable(bool enable); |
- // Answers the question if it's time to drop a frame |
- // if we want to reach a given frame rate. Must be |
- // called for every frame. |
- // |
- // Return value : True if we should drop the current frame |
- virtual bool DropFrame(); |
- // Updates the FrameDropper with the size of the latest encoded |
- // frame. The FrameDropper calculates a new drop ratio (can be |
- // seen as the probability to drop a frame) and updates its |
- // internal statistics. |
- // |
- // Input: |
- // - frameSizeBytes : The size of the latest frame |
- // returned from the encoder. |
- // - deltaFrame : True if the encoder returned |
- // a key frame. |
- virtual void Fill(size_t frameSizeBytes, bool deltaFrame); |
- |
- virtual void Leak(uint32_t inputFrameRate); |
- |
- void UpdateNack(uint32_t nackBytes); |
- |
- // Sets the target bit rate and the frame rate produced by |
- // the camera. |
- // |
- // Input: |
- // - bitRate : The target bit rate |
- virtual void SetRates(float bitRate, float incoming_frame_rate); |
- |
- // Return value : The current average frame rate produced |
- // if the DropFrame() function is used as |
- // instruction of when to drop frames. |
- virtual float ActualFrameRate(uint32_t inputFrameRate) const; |
- |
-private: |
- void FillBucket(float inKbits, float outKbits); |
- void UpdateRatio(); |
- void CapAccumulator(); |
- |
- rtc::ExpFilter _keyFrameSizeAvgKbits; |
- rtc::ExpFilter _keyFrameRatio; |
- float _keyFrameSpreadFrames; |
- int32_t _keyFrameCount; |
- float _accumulator; |
- float _accumulatorMax; |
- float _targetBitRate; |
- bool _dropNext; |
- rtc::ExpFilter _dropRatio; |
- int32_t _dropCount; |
- float _windowSize; |
- float _incoming_frame_rate; |
- bool _wasBelowMax; |
- bool _enabled; |
- bool _fastMode; |
- float _cap_buffer_size; |
- float _max_time_drops; |
-}; // end of VCMFrameDropper class |
- |
-} // namespace webrtc |
- |
-#endif // WEBRTC_MODULES_VIDEO_CODING_UTILITY_INCLUDE_FRAME_DROPPER_H_ |