diff options
author | sprang <sprang@webrtc.org> | 2015-10-12 06:33:21 -0700 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-10-12 13:33:24 +0000 |
commit | 7a975f75e7fa7a9335411ef22b6687f78f7b297f (patch) | |
tree | ecbaa3502dcd9c628190f04e9a5126c436d92605 /webrtc/test/layer_filtering_transport.cc | |
parent | d940880e7ad90ac5b2df8bdd0429de800eaad06e (diff) | |
download | webrtc-7a975f75e7fa7a9335411ef22b6687f78f7b297f.tar.gz |
Revert of Adding support for simulcast and spatial layers into VideoQualityTest (patchset #10 id:180001 of https://codereview.webrtc.org/1353263005/ )
Reason for revert:
Temporarily reverting as this causes some issues with perf tests. Especially tests with packet loss no longer works.
Original issue's description:
> Adding support for simulcast and spatial layers into VideoQualityTest
>
> The CL includes several changes:
> - Adding flags describing the streams and spatial layers.
> - Reorganizing the order of the flags, to make them easier to maintain.
> - Adding a member .params_ to VideoQualityAnalyzer.
> (instead of passing it to every member function manually)
> - Updating VideoAnalyzer to support simulcast.
> (select appropriate ssrc and fix timestamps which are sometimes increased by 1)
> - VP9EncoderImpl already had code for automatic calculation of bitrate for each layer.
> Changing to first read bitrates and resolution ratios from the flags, if specified.
> If not specified, reverting to the old code are setting the values automatically.
> - Changing the parameters in LayerFilteringTransport, replacing
> xx_discard_thresholds with selected_xx, to make it easier to use for the end user.
>
> Committed: https://crrev.com/87f83a9a27d657731ccb54025bc04ccad0da136e
> Cr-Commit-Position: refs/heads/master@{#10215}
TBR=pbos@webrtc.org,mflodman@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.webrtc.org/1397363002
Cr-Commit-Position: refs/heads/master@{#10252}
Diffstat (limited to 'webrtc/test/layer_filtering_transport.cc')
-rw-r--r-- | webrtc/test/layer_filtering_transport.cc | 38 |
1 files changed, 16 insertions, 22 deletions
diff --git a/webrtc/test/layer_filtering_transport.cc b/webrtc/test/layer_filtering_transport.cc index e3bca869d3..b9bc24d3ee 100644 --- a/webrtc/test/layer_filtering_transport.cc +++ b/webrtc/test/layer_filtering_transport.cc @@ -23,18 +23,13 @@ LayerFilteringTransport::LayerFilteringTransport( const FakeNetworkPipe::Config& config, uint8_t vp8_video_payload_type, uint8_t vp9_video_payload_type, - int selected_tl, - int selected_sl) + uint8_t tl_discard_threshold, + uint8_t sl_discard_threshold) : test::DirectTransport(config), vp8_video_payload_type_(vp8_video_payload_type), vp9_video_payload_type_(vp9_video_payload_type), - selected_tl_(selected_tl), - selected_sl_(selected_sl), - discarded_last_packet_(false) { -} - -bool LayerFilteringTransport::DiscardedLastPacket() const { - return discarded_last_packet_; + tl_discard_threshold_(tl_discard_threshold), + sl_discard_threshold_(sl_discard_threshold) { } uint16_t LayerFilteringTransport::NextSequenceNumber(uint32_t ssrc) { @@ -47,7 +42,7 @@ uint16_t LayerFilteringTransport::NextSequenceNumber(uint32_t ssrc) { bool LayerFilteringTransport::SendRtp(const uint8_t* packet, size_t length, const PacketOptions& options) { - if (selected_tl_ == -1 && selected_sl_ == -1) { + if (tl_discard_threshold_ == 0 && sl_discard_threshold_ == 0) { // Nothing to change, forward the packet immediately. return test::DirectTransport::SendRtp(packet, length, options); } @@ -70,24 +65,23 @@ bool LayerFilteringTransport::SendRtp(const uint8_t* packet, RtpDepacketizer::Create(is_vp8 ? kRtpVideoVp8 : kRtpVideoVp9)); RtpDepacketizer::ParsedPayload parsed_payload; if (depacketizer->Parse(&parsed_payload, payload, payload_data_length)) { - const int temporal_idx = static_cast<int>( + const uint8_t temporalIdx = is_vp8 ? parsed_payload.type.Video.codecHeader.VP8.temporalIdx - : parsed_payload.type.Video.codecHeader.VP9.temporal_idx); - const int spatial_idx = static_cast<int>( + : parsed_payload.type.Video.codecHeader.VP9.temporal_idx; + const uint8_t spatialIdx = is_vp8 ? kNoSpatialIdx - : parsed_payload.type.Video.codecHeader.VP9.spatial_idx); - if (selected_sl_ >= 0 && - spatial_idx == selected_sl_ && + : parsed_payload.type.Video.codecHeader.VP9.spatial_idx; + if (sl_discard_threshold_ > 0 && + spatialIdx == sl_discard_threshold_ - 1 && parsed_payload.type.Video.codecHeader.VP9.end_of_frame) { // This layer is now the last in the superframe. set_marker_bit = true; } - if ((selected_tl_ >= 0 && temporal_idx != kNoTemporalIdx && - temporal_idx > selected_tl_) || - (selected_sl_ >= 0 && spatial_idx != kNoSpatialIdx && - spatial_idx > selected_sl_)) { - discarded_last_packet_ = true; - return true; + if ((tl_discard_threshold_ > 0 && temporalIdx != kNoTemporalIdx && + temporalIdx >= tl_discard_threshold_) || + (sl_discard_threshold_ > 0 && spatialIdx != kNoSpatialIdx && + spatialIdx >= sl_discard_threshold_)) { + return true; // Discard the packet. } } else { RTC_NOTREACHED() << "Parse error"; |