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

Issue 1569853002: Measure encoding time on encode callbacks. (Closed)

Created:
4 years, 11 months ago by pbos-webrtc
Modified:
4 years, 10 months ago
Reviewers:
åsapersson, mflodman
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, andresp, the sun, perkj_webrtc
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Measure encoding time on encode callbacks. Permits measuring encoding time even when performed on another thread, typically for hardware encoding, instead of assuming that encoding is blocking the calling thread. Permitted encoding time is increased for hardware encoders since they can be timed to keep 30fps, for instance, without indicating overload. Merges EncodingTimeObserver into EncodedFrameObserver to have one post-encode callback. BUG=webrtc:5042, webrtc:5132 R=asapersson@webrtc.org, mflodman@webrtc.org Committed: https://crrev.com/e4499154554deb3819343f5708e6b3685868c1f1 Cr-Commit-Position: refs/heads/master@{#11499}

Patch Set 1 #

Patch Set 2 : add extended overuse time #

Total comments: 23

Patch Set 3 : rebase #

Patch Set 4 : Remove EncodingTimeObserver + other feedback #

Patch Set 5 : remove unused variable #

Total comments: 14

Patch Set 6 : rebase #

Patch Set 7 : feedback #

Total comments: 2

Patch Set 8 : review feedback #

Patch Set 9 : rebase #

Total comments: 7

Patch Set 10 : feedback #

Patch Set 11 : rebase #

Total comments: 10

Patch Set 12 : asapersson@ feedback #

Total comments: 2

Patch Set 13 : updated comment #

Unified diffs Side-by-side diffs Delta from patch set Stats (+354 lines, -345 lines) Patch
M talk/media/webrtc/webrtcvideoengine2.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -0 lines 0 comments Download
M talk/media/webrtc/webrtcvideoengine2_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +38 lines, -0 lines 0 comments Download
M webrtc/frame_callback.h View 1 2 3 2 chunks +2 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/video_coding_impl.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +0 lines, -2 lines 0 comments Download
M webrtc/video/encoder_state_feedback_unittest.cc View 1 2 3 1 chunk +7 lines, -1 line 0 comments Download
M webrtc/video/end_to_end_tests.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -1 line 0 comments Download
M webrtc/video/overuse_frame_detector.h View 1 2 3 4 5 6 7 8 9 6 chunks +32 lines, -23 lines 0 comments Download
M webrtc/video/overuse_frame_detector.cc View 1 2 3 4 5 6 7 8 9 7 chunks +79 lines, -112 lines 0 comments Download
M webrtc/video/overuse_frame_detector_unittest.cc View 1 2 3 4 5 6 7 8 9 8 chunks +79 lines, -87 lines 0 comments Download
M webrtc/video/send_statistics_proxy.h View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +7 lines, -8 lines 0 comments Download
M webrtc/video/send_statistics_proxy.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +5 lines, -8 lines 0 comments Download
M webrtc/video/send_statistics_proxy_unittest.cc View 1 1 chunk +5 lines, -2 lines 0 comments Download
M webrtc/video/video_capture_input.h View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +3 lines, -12 lines 0 comments Download
M webrtc/video/video_capture_input.cc View 1 2 3 4 5 6 chunks +7 lines, -39 lines 0 comments Download
M webrtc/video/video_capture_input_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +14 lines, -18 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 4 5 6 7 8 9 10 11 8 chunks +24 lines, -6 lines 0 comments Download
M webrtc/video/video_send_stream.h View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 1 2 3 4 5 6 7 8 9 10 11 6 chunks +28 lines, -6 lines 0 comments Download
M webrtc/video/vie_encoder.h View 1 2 3 4 5 6 7 8 9 10 3 chunks +3 lines, -0 lines 0 comments Download
M webrtc/video/vie_encoder.cc View 1 2 3 4 5 6 7 8 4 chunks +10 lines, -7 lines 0 comments Download
M webrtc/video_send_stream.h View 1 2 3 4 chunks +8 lines, -13 lines 0 comments Download

Messages

Total messages: 57 (16 generated)
pbos-webrtc
PTAL!
4 years, 11 months ago (2016-01-07 15:45:43 UTC) #1
pbos-webrtc
add extended overuse time
4 years, 11 months ago (2016-01-13 13:54:21 UTC) #2
pbos-webrtc
Added extended time which permits running 30fps on Nexus 6, while still adapting down for ...
4 years, 11 months ago (2016-01-13 13:57:43 UTC) #4
pbos-webrtc
+R mflodman for root header (and anything you wanna take a look at)
4 years, 11 months ago (2016-01-13 13:58:08 UTC) #6
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1569853002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1569853002/20001
4 years, 11 months ago (2016-01-13 14:00:35 UTC) #8
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_arm64_rel on tryserver.webrtc (JOB_TIMED_OUT, no build URL) ...
4 years, 11 months ago (2016-01-13 16:00:52 UTC) #12
mflodman
I didn't spend a lot of time on the tests this round, I'll get back ...
4 years, 11 months ago (2016-01-21 08:00:05 UTC) #13
pbos-webrtc
rebase
4 years, 11 months ago (2016-01-21 09:46:31 UTC) #14
mflodman
On 2016/01/21 09:46:31, pbos-webrtc wrote: > rebase I'ts normally easier to address comments in a ...
4 years, 11 months ago (2016-01-21 11:20:32 UTC) #15
pbos-webrtc
On 2016/01/21 11:20:32, mflodman wrote: > On 2016/01/21 09:46:31, pbos-webrtc wrote: > > rebase > ...
4 years, 11 months ago (2016-01-21 11:32:30 UTC) #16
pbos-webrtc
PTAL https://codereview.webrtc.org/1569853002/diff/20001/webrtc/video/encoder_state_feedback_unittest.cc File webrtc/video/encoder_state_feedback_unittest.cc (right): https://codereview.webrtc.org/1569853002/diff/20001/webrtc/video/encoder_state_feedback_unittest.cc#newcode25 webrtc/video/encoder_state_feedback_unittest.cc:25: #include "webrtc/video/overuse_frame_detector.h" On 2016/01/21 08:00:04, mflodman wrote: > ...
4 years, 11 months ago (2016-01-21 14:18:33 UTC) #17
pbos-webrtc
Remove EncodingTimeObserver + other feedback
4 years, 11 months ago (2016-01-21 14:19:03 UTC) #18
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1569853002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1569853002/60001
4 years, 11 months ago (2016-01-21 14:21:17 UTC) #22
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: android_compile_x86_dbg on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_compile_x86_dbg/builds/1196)
4 years, 11 months ago (2016-01-21 14:26:41 UTC) #24
pbos-webrtc
remove unused variable
4 years, 11 months ago (2016-01-21 14:37:13 UTC) #25
åsapersson
Some comments for overuse_frame_detector-files. https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc#newcode242 webrtc/video/overuse_frame_detector.cc:242: int64_t diff_ms = now - ...
4 years, 11 months ago (2016-01-25 15:50:47 UTC) #26
pbos-webrtc
rebase
4 years, 11 months ago (2016-01-26 17:09:58 UTC) #27
pbos-webrtc
feedback
4 years, 11 months ago (2016-01-26 17:22:22 UTC) #28
pbos-webrtc
PTAL https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc#newcode242 webrtc/video/overuse_frame_detector.cc:242: int64_t diff_ms = now - last_sample_time_ms_; On 2016/01/25 ...
4 years, 11 months ago (2016-01-26 17:22:25 UTC) #29
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1569853002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1569853002/120001
4 years, 11 months ago (2016-01-26 17:22:39 UTC) #31
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_libfuzzer_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/linux_libfuzzer_rel/builds/579)
4 years, 11 months ago (2016-01-26 17:57:11 UTC) #33
åsapersson
https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc#newcode242 webrtc/video/overuse_frame_detector.cc:242: int64_t diff_ms = now - last_sample_time_ms_; On 2016/01/26 17:22:25, ...
4 years, 11 months ago (2016-01-27 16:47:12 UTC) #34
pbos-webrtc
review feedback
4 years, 10 months ago (2016-02-01 16:09:05 UTC) #35
pbos-webrtc
PTAL, I hope this is right. https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/80001/webrtc/video/overuse_frame_detector.cc#newcode242 webrtc/video/overuse_frame_detector.cc:242: int64_t diff_ms = ...
4 years, 10 months ago (2016-02-01 16:09:12 UTC) #36
pbos-webrtc
rebase
4 years, 10 months ago (2016-02-01 16:14:11 UTC) #37
åsapersson
https://codereview.webrtc.org/1569853002/diff/160001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/160001/webrtc/video/overuse_frame_detector.cc#newcode195 webrtc/video/overuse_frame_detector.cc:195: if (last_capture_ms_ != 0) != -1 https://codereview.webrtc.org/1569853002/diff/160001/webrtc/video/overuse_frame_detector.cc#newcode266 webrtc/video/overuse_frame_detector.cc:266: return ...
4 years, 10 months ago (2016-02-02 15:19:10 UTC) #38
pbos-webrtc
feedback
4 years, 10 months ago (2016-02-02 15:41:34 UTC) #39
pbos-webrtc
PTAL, also renamed capture_ms capture_time_ms https://codereview.webrtc.org/1569853002/diff/160001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/160001/webrtc/video/overuse_frame_detector.cc#newcode195 webrtc/video/overuse_frame_detector.cc:195: if (last_capture_ms_ != 0) ...
4 years, 10 months ago (2016-02-02 15:41:45 UTC) #40
pbos-webrtc
rebase
4 years, 10 months ago (2016-02-02 15:47:07 UTC) #41
åsapersson
https://codereview.webrtc.org/1569853002/diff/200001/talk/media/webrtc/webrtcvideoengine2_unittest.cc File talk/media/webrtc/webrtcvideoengine2_unittest.cc (right): https://codereview.webrtc.org/1569853002/diff/200001/talk/media/webrtc/webrtcvideoengine2_unittest.cc#newcode437 talk/media/webrtc/webrtcvideoengine2_unittest.cc:437: TEST_F(WebRtcVideoEngine2Test, DisablesFullEncoderTimeForExternalEncoders) { disabled for non-external encoders? https://codereview.webrtc.org/1569853002/diff/200001/webrtc/video/video_capture_input.h File ...
4 years, 10 months ago (2016-02-04 11:17:55 UTC) #42
pbos-webrtc
Thanks, PTAL. :) https://codereview.webrtc.org/1569853002/diff/200001/talk/media/webrtc/webrtcvideoengine2_unittest.cc File talk/media/webrtc/webrtcvideoengine2_unittest.cc (right): https://codereview.webrtc.org/1569853002/diff/200001/talk/media/webrtc/webrtcvideoengine2_unittest.cc#newcode437 talk/media/webrtc/webrtcvideoengine2_unittest.cc:437: TEST_F(WebRtcVideoEngine2Test, DisablesFullEncoderTimeForExternalEncoders) { On 2016/02/04 11:17:55, ...
4 years, 10 months ago (2016-02-04 12:38:04 UTC) #43
pbos-webrtc
asapersson@ feedback
4 years, 10 months ago (2016-02-04 12:38:10 UTC) #44
åsapersson
lgtm
4 years, 10 months ago (2016-02-04 13:51:42 UTC) #45
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1569853002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1569853002/220001
4 years, 10 months ago (2016-02-04 13:57:46 UTC) #47
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 10 months ago (2016-02-04 14:57:06 UTC) #49
mflodman
One optional comment nit, LGTM. https://codereview.webrtc.org/1569853002/diff/20001/webrtc/video/overuse_frame_detector.cc File webrtc/video/overuse_frame_detector.cc (right): https://codereview.webrtc.org/1569853002/diff/20001/webrtc/video/overuse_frame_detector.cc#newcode201 webrtc/video/overuse_frame_detector.cc:201: frame_timing_.push_back(FrameTiming(frame.timestamp(), now)); On 2016/01/21 ...
4 years, 10 months ago (2016-02-05 08:19:03 UTC) #50
pbos-webrtc
updated comment
4 years, 10 months ago (2016-02-05 10:04:24 UTC) #51
pbos-webrtc
https://codereview.webrtc.org/1569853002/diff/220001/webrtc/video/send_statistics_proxy.h File webrtc/video/send_statistics_proxy.h (right): https://codereview.webrtc.org/1569853002/diff/220001/webrtc/video/send_statistics_proxy.h#newcode67 webrtc/video/send_statistics_proxy.h:67: // From CpuOveruseMetricsObserver. On 2016/02/05 08:19:03, mflodman wrote: > ...
4 years, 10 months ago (2016-02-05 10:04:59 UTC) #52
pbos-webrtc
4 years, 10 months ago (2016-02-05 10:13:14 UTC) #53
pbos-webrtc
Committed patchset #13 (id:240001) manually as e4499154554deb3819343f5708e6b3685868c1f1 (presubmit successful).
4 years, 10 months ago (2016-02-05 10:13:48 UTC) #56
commit-bot: I haz the power
4 years, 10 months ago (2016-02-05 10:13:48 UTC) #57
Message was sent while issue was closed.
Patchset 13 (id:??) landed as
https://crrev.com/e4499154554deb3819343f5708e6b3685868c1f1
Cr-Commit-Position: refs/heads/master@{#11499}

Powered by Google App Engine
This is Rietveld 408576698