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

Issue 1750493002: Frame dropper improvements & cleanup (Closed)

Created:
4 years, 9 months ago by Irfan
Modified:
4 years, 9 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_agora.io, stefan-webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Frame dropper improvements & cleanup 1. Fix the case of key frame accumulation being incorrect due to the chunk size being computed at the time of leak based on input frame rate. The issue is that the count is computed based on key frame ratio and the actual chunk size computed from current input frame rate. These can be wildly different especially at the beginning of the stream (key frame ratio defaults based on 30 fps) resulting in incorrect key frame accumulation causing large frame drops when the input frame rate is low. 2. Add large delta frame compensation. The current code accounts for key frames but not large delta frames. This is a common occurence in some application (remote desktop as an example) 3. Fixes an issue identified by the unit tests. The accumulation of key frames had an issue in the scenario of a high key frame ratio where the full key frame was not being accounted for. 3. Removes fast mode and other methods that are mostly dead code. 4. Cleans up variable names as per chromium style. Committed: https://crrev.com/7620be8492fc96ac8e3ca9fb28fd0d64b99c8e4a Cr-Commit-Position: refs/heads/master@{#11884}

Patch Set 1 #

Total comments: 5

Patch Set 2 : Add unit tests #

Total comments: 10

Patch Set 3 : Addressed comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+370 lines, -199 lines) Patch
M webrtc/modules/modules.gyp View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/video_coding/utility/frame_dropper.h View 1 2 2 chunks +29 lines, -26 lines 0 comments Download
M webrtc/modules/video_coding/utility/frame_dropper.cc View 1 1 chunk +170 lines, -173 lines 0 comments Download
A webrtc/modules/video_coding/utility/frame_dropper_unittest.cc View 1 2 1 chunk +161 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/video_sender.cc View 2 chunks +9 lines, -0 lines 0 comments Download

Messages

Total messages: 36 (15 generated)
Irfan
Frame dropper shows a few issues during testing with chromoting (captured in commit message) that ...
4 years, 9 months ago (2016-02-29 08:15:52 UTC) #3
stefan-webrtc
Looks like a good change. Adding sprang who may want to review the details https://codereview.webrtc.org/1750493002/diff/1/webrtc/modules/video_coding/utility/frame_dropper.cc ...
4 years, 9 months ago (2016-03-01 15:14:34 UTC) #5
stefan-webrtc
And if you can add some unittests that would be much appreciated, especially since there ...
4 years, 9 months ago (2016-03-01 15:15:20 UTC) #6
Irfan
Erik, PTAL. Still need to work on unit tests.
4 years, 9 months ago (2016-03-03 05:33:48 UTC) #7
sprang_webrtc
Looks good. Ugh, this class is a prime example of some of our ugliest legacy ...
4 years, 9 months ago (2016-03-03 11:50:26 UTC) #8
Irfan
https://codereview.webrtc.org/1750493002/diff/1/webrtc/modules/video_coding/utility/frame_dropper.cc File webrtc/modules/video_coding/utility/frame_dropper.cc (right): https://codereview.webrtc.org/1750493002/diff/1/webrtc/modules/video_coding/utility/frame_dropper.cc#newcode159 webrtc/modules/video_coding/utility/frame_dropper.cc:159: large_frame_accumulation_count_--; On 2016/03/01 15:14:34, stefan-webrtc (holmer) wrote: > --large_frame...; ...
4 years, 9 months ago (2016-03-04 07:58:49 UTC) #9
Irfan
PTAL. I have added a few unit tests and fixed a couple of issues spotted ...
4 years, 9 months ago (2016-03-04 08:01:47 UTC) #10
stefan-webrtc
lgtm sprang, do you have any other comments? https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper.h File webrtc/modules/video_coding/utility/frame_dropper.h (right): https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper.h#newcode80 webrtc/modules/video_coding/utility/frame_dropper.h:80: int32_t ...
4 years, 9 months ago (2016-03-04 08:41:37 UTC) #11
sprang
lgtm with nits thanks! https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc File webrtc/modules/video_coding/utility/frame_dropper_unittest.cc (right): https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper_unittest.cc#newcode33 webrtc/modules/video_coding/utility/frame_dropper_unittest.cc:33: virtual void SetUp() { void ...
4 years, 9 months ago (2016-03-04 08:57:04 UTC) #13
sprang
Oh, and remove "TODO: Need to add unit tests for frame dropper before submit." from ...
4 years, 9 months ago (2016-03-04 08:57:52 UTC) #14
Irfan
https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper.h File webrtc/modules/video_coding/utility/frame_dropper.h (right): https://codereview.webrtc.org/1750493002/diff/20001/webrtc/modules/video_coding/utility/frame_dropper.h#newcode80 webrtc/modules/video_coding/utility/frame_dropper.h:80: int32_t large_frame_accumulation_count_; On 2016/03/04 08:41:37, stefan-webrtc (holmer) wrote: > ...
4 years, 9 months ago (2016-03-04 15:05:26 UTC) #15
Irfan
PTAL
4 years, 9 months ago (2016-03-04 15:12:51 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1750493002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1750493002/40001
4 years, 9 months ago (2016-03-04 15:33:00 UTC) #20
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL) android_dbg on ...
4 years, 9 months ago (2016-03-04 17:11:40 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1750493002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1750493002/40001
4 years, 9 months ago (2016-03-04 21:34:29 UTC) #24
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL)
4 years, 9 months ago (2016-03-04 23:34:56 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1750493002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1750493002/40001
4 years, 9 months ago (2016-03-07 06:20:29 UTC) #28
commit-bot: I haz the power
Try jobs failed on following builders: mac_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/mac_rel/builds/13284)
4 years, 9 months ago (2016-03-07 06:32:59 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1750493002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1750493002/40001
4 years, 9 months ago (2016-03-07 07:07:47 UTC) #32
commit-bot: I haz the power
Committed patchset #3 (id:40001)
4 years, 9 months ago (2016-03-07 07:22:38 UTC) #34
commit-bot: I haz the power
4 years, 9 months ago (2016-03-07 07:22:48 UTC) #36
Message was sent while issue was closed.
Patchset 3 (id:??) landed as
https://crrev.com/7620be8492fc96ac8e3ca9fb28fd0d64b99c8e4a
Cr-Commit-Position: refs/heads/master@{#11884}

Powered by Google App Engine
This is Rietveld 408576698