Stop checking VP8BaseHeavyTl3RateAllocation field trial on every frame.

- Centralize field trial string reading to RateControlSettings
- Cache RateControlSettings at all production code use sites

Bug: None
Change-Id: I0dbce9cc97fea0bc780982e7ef270b417a8c15bf
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/158664
Commit-Queue: Rasmus Brandt <brandtr@webrtc.org>
Reviewed-by: Elad Alon <eladalon@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#29680}
This commit is contained in:
Rasmus Brandt
2019-10-30 13:01:46 +01:00
committed by Commit Bot
parent a06048a41e
commit 2b9317ad76
12 changed files with 126 additions and 48 deletions

View File

@ -17,6 +17,7 @@
#include <memory>
#include "modules/video_coding/internal_defines.h"
#include "rtc_base/experiments/rate_control_settings.h"
#include "rtc_base/numerics/exp_filter.h"
namespace webrtc {
@ -183,6 +184,8 @@ class VCMFecMethod : public VCMProtectionMethod {
enum { kMaxBytesPerFrameForFecLow = 400 };
// Max bytes/frame for frame size larger than VGA, ~200k at 25fps.
enum { kMaxBytesPerFrameForFecHigh = 1000 };
const RateControlSettings rate_control_settings_;
};
class VCMNackFecMethod : public VCMFecMethod {