summaryrefslogtreecommitdiff
path: root/config.h
diff options
context:
space:
mode:
authorpbos@webrtc.org <pbos@webrtc.org>2014-10-31 13:08:10 +0000
committerpbos@webrtc.org <pbos@webrtc.org>2014-10-31 13:08:10 +0000
commitddb84aa1960bce3e2b0f23eb27ef5445782f6bac (patch)
treee76dfdd2ac8d0164fb635ccc88affdc6ecc20828 /config.h
parentfbdea257611c590d52de037e28ab830a869976c9 (diff)
downloadwebrtc-ddb84aa1960bce3e2b0f23eb27ef5445782f6bac.tar.gz
Implement conference-mode temporal-layer screencast.
Renames VideoStream::temporal_layers to temporal_layer_thresholds_bps to convey that it contains thresholds needed to ramp up between them (1 threshold -> 2 temporal layers, etc.). R=mflodman@webrtc.org, stefan@webrtc.org BUG=1788,1667 Review URL: https://webrtc-codereview.appspot.com/23269004 git-svn-id: http://webrtc.googlecode.com/svn/trunk/webrtc@7578 4adac7df-926f-26a2-2b94-8c16560cd09d
Diffstat (limited to 'config.h')
-rw-r--r--config.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/config.h b/config.h
index af78d94c..8ea28288 100644
--- a/config.h
+++ b/config.h
@@ -104,8 +104,17 @@ struct VideoStream {
int max_qp;
- // Bitrate thresholds for enabling additional temporal layers.
- std::vector<int> temporal_layers;
+ // Bitrate thresholds for enabling additional temporal layers. Since these are
+ // thresholds in between layers, we have one additional layer. One threshold
+ // gives two temporal layers, one below the threshold and one above, two give
+ // three, and so on.
+ // The VideoEncoder may redistribute bitrates over the temporal layers so a
+ // bitrate threshold of 100k and an estimate of 105k does not imply that we
+ // get 100k in one temporal layer and 5k in the other, just that the bitrate
+ // in the first temporal layer should not exceed 100k.
+ // TODO(pbos): Apart from a special case for two-layer screencast these
+ // thresholds are not propagated to the VideoEncoder. To be implemented.
+ std::vector<int> temporal_layer_thresholds_bps;
};
struct VideoEncoderConfig {