Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(301)

Issue 2381213002: Use high quantizer value for "big" frames after a sequence of "small" frames. (Closed)

Created:
4 years, 2 months ago by Sergey Ulanov
Modified:
4 years, 2 months ago
Reviewers:
Irfan
CC:
chromium-reviews, chromoting-reviews_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Use high quantizer value for "big" frames after a sequence of "small" frames. After a sequence of frames that don't saturate bandwidth libvpx always chooses lowest allowed quntizer (highest quality). As result these frames are quite big after being encoded, which results in poor response latency for those frames. With this change the scheduler detects those frames and sets min_quantizer to 60 to ensure that they are first encoded with low quality and quality is topped off later. This change reduces latency for "big" frames in ProtocolPerfTest.TotalLatencyWebrtc from 500ms to 200ms in 8Mbps case, even without proper BW estimation. Also changed frame duration from 66 to 33 ms, to match actual frame duration (this doesn't seem to have significant effect on quality). BUG=645656 Committed: https://crrev.com/52f18b0a5d30a2259b79235dc208b1ebd8400ad0 Cr-Commit-Position: refs/heads/master@{#423738}

Patch Set 1 #

Total comments: 8

Patch Set 2 : . #

Patch Set 3 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+51 lines, -6 lines) Patch
M remoting/protocol/webrtc_frame_scheduler_simple.h View 1 1 chunk +3 lines, -0 lines 0 comments Download
M remoting/protocol/webrtc_frame_scheduler_simple.cc View 1 2 2 chunks +48 lines, -6 lines 0 comments Download

Messages

Total messages: 16 (8 generated)
Sergey Ulanov
4 years, 2 months ago (2016-09-30 00:55:40 UTC) #5
Irfan
https://codereview.chromium.org/2381213002/diff/20001/remoting/protocol/webrtc_frame_scheduler_simple.cc File remoting/protocol/webrtc_frame_scheduler_simple.cc (right): https://codereview.chromium.org/2381213002/diff/20001/remoting/protocol/webrtc_frame_scheduler_simple.cc#newcode31 remoting/protocol/webrtc_frame_scheduler_simple.cc:31: const int kVp8MinimumTargetBitrateBytesPerMegapixel = 300000; "BytesPerMegapixel" sounds like size. ...
4 years, 2 months ago (2016-10-03 20:21:49 UTC) #6
Sergey Ulanov
Updated this CL with a different logic used to detect "big" frames. Now instead of ...
4 years, 2 months ago (2016-10-06 21:54:35 UTC) #7
Irfan
lgtm
4 years, 2 months ago (2016-10-06 22:14:03 UTC) #8
Sergey Ulanov
Also changed to updated_region_area_.Average() to updated_region_area_.Max() to make big frame detection less aggressive.
4 years, 2 months ago (2016-10-06 23:12:13 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2381213002/40002
4 years, 2 months ago (2016-10-06 23:13:28 UTC) #12
commit-bot: I haz the power
Committed patchset #3 (id:40002)
4 years, 2 months ago (2016-10-06 23:39:12 UTC) #14
commit-bot: I haz the power
4 years, 2 months ago (2016-10-06 23:41:06 UTC) #16
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/52f18b0a5d30a2259b79235dc208b1ebd8400ad0
Cr-Commit-Position: refs/heads/master@{#423738}

Powered by Google App Engine
This is Rietveld 408576698