Add experiment for boosted qp at lowest stream for screenshare

Bug: webrtc:9659
Change-Id: I2320afc393d6a78ae03a4f447f0e3333dd5748c4
Reviewed-on: https://webrtc-review.googlesource.com/95943
Commit-Queue: Ilya Nikolaevskiy <ilnik@webrtc.org>
Reviewed-by: Erik Språng <sprang@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#24441}
This commit is contained in:
Ilya Nikolaevskiy
2018-08-27 11:07:48 +02:00
committed by Commit Bot
parent 764c14c87d
commit c30a13147c
3 changed files with 33 additions and 8 deletions

View File

@ -18,6 +18,7 @@
#include <utility>
#include <vector>
#include "absl/types/optional.h"
#include "media/engine/webrtcvideoencoderfactory.h"
#include "modules/video_coding/include/video_codec_interface.h"
#include "rtc_base/atomicops.h"
@ -87,11 +88,11 @@ class SimulcastEncoderAdapter : public VideoEncoder {
};
// Populate the codec settings for each simulcast stream.
static void PopulateStreamCodec(const webrtc::VideoCodec& inst,
int stream_index,
uint32_t start_bitrate_kbps,
bool highest_resolution_stream,
webrtc::VideoCodec* stream_codec);
void PopulateStreamCodec(const webrtc::VideoCodec& inst,
int stream_index,
uint32_t start_bitrate_kbps,
bool highest_resolution_stream,
webrtc::VideoCodec* stream_codec);
bool Initialized() const;
@ -111,6 +112,8 @@ class SimulcastEncoderAdapter : public VideoEncoder {
// Store encoders in between calls to Release and InitEncode, so they don't
// have to be recreated. Remaining encoders are destroyed by the destructor.
std::stack<std::unique_ptr<VideoEncoder>> stored_encoders_;
const absl::optional<unsigned int> experimental_boosted_screenshare_qp_;
};
} // namespace webrtc