From ce4aef16eec96862199e89b6d3ffe059558ac2c0 Mon Sep 17 00:00:00 2001 From: sprang Date: Mon, 2 Nov 2015 07:23:20 -0800 Subject: Adding support for simulcast and spatial layers into VideoQualityTest This is a re-land of https://codereview.webrtc.org/1353263005/ which was reverted because of perf-regressions. Changes since that CL: * Change LayerFilteringTransport to send a padding packet instead of dropping it for data that should be filtered out. This prevents confusion due to changed sequence numbers. * Changed timing of stats poller thread in VideoAnalyzer. Startup was racy wrt initializion of send_stream_. * Minor formatting issues. PERF NOTE: This change will affect some performance numbers slightly. In particular, {encode_frame_rate, encode_time_ms, encode_usage_percent, media_bitrate_bps} will change due to timing of the measurements. BUG= R=pbos@webrtc.org TBR=mflodman@webrtc.org Review URL: https://codereview.webrtc.org/1412233003 Cr-Commit-Position: refs/heads/master@{#10483} --- webrtc/common_types.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'webrtc/common_types.h') diff --git a/webrtc/common_types.h b/webrtc/common_types.h index 07faf6aefc..048485fa2f 100644 --- a/webrtc/common_types.h +++ b/webrtc/common_types.h @@ -547,6 +547,7 @@ enum RawVideoType enum { kConfigParameterSize = 128}; enum { kPayloadNameSize = 32}; enum { kMaxSimulcastStreams = 4}; +enum { kMaxSpatialLayers = 5 }; enum { kMaxTemporalStreams = 4}; enum VideoCodecComplexity @@ -676,6 +677,13 @@ struct SimulcastStream { } }; +struct SpatialLayer { + int scaling_factor_num; + int scaling_factor_den; + int target_bitrate_bps; + // TODO(ivica): Add max_quantizer and min_quantizer? +}; + enum VideoCodecMode { kRealtimeVideo, kScreensharing @@ -702,6 +710,7 @@ struct VideoCodec { unsigned int qpMax; unsigned char numberOfSimulcastStreams; SimulcastStream simulcastStream[kMaxSimulcastStreams]; + SpatialLayer spatialLayers[kMaxSpatialLayers]; VideoCodecMode mode; -- cgit v1.2.3