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

Issue 1892013002: ReleaseOutputBuffer to surface back and front buffers where possible. (Closed)

Created:
4 years, 8 months ago by DaleCurtis
Modified:
4 years, 8 months ago
CC:
chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, piman+watch_chromium.org, posciak+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

ReleaseOutputBuffer to surface back and front buffers where possible. Takes the original patch from liberato@ and extends it to release the earliest frame to the back buffer as well as releasing to the front buffer when there is only a single outstanding frame for display. This proves enough to solve the slow n7v2 issue as well as keep decoding up to speed when scrolling the video off the page on an motox, see http://crbug.com/603768 for some more details on the off screen issue. This patch unifies all calls from the deferred strategy for releasing output buffers into a single AVDACodecImage::ReleaseOutputBuffer() call with a couple modes to support all the cases we use: - skip render: ReleaseOutputBuffer(, false); - release only: ReleaseOutputBuffer(, true); FrameListener.Wait(); - release+update: same as "release only" but also UpdateTexImage(). BUG=601066 TEST=manual testing on n7v2 and moto x. Committed: https://crrev.com/1ee5b842e11f679b21a38f156fb7d4688ff8665a Cr-Commit-Position: refs/heads/master@{#389350}

Patch Set 1 #

Patch Set 2 : Boop. #

Patch Set 3 : Cleaner! #

Patch Set 4 : Cleanerer. #

Total comments: 15

Patch Set 5 : Comments. #

Patch Set 6 : Cleanup. #

Total comments: 8

Patch Set 7 : Comments. #

Patch Set 8 : Rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+208 lines, -82 lines) Patch
M content/common/gpu/media/android_copying_backing_strategy.h View 1 2 3 4 1 chunk +7 lines, -5 lines 0 comments Download
M content/common/gpu/media/android_copying_backing_strategy.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/media/android_deferred_rendering_backing_strategy.h View 1 2 3 4 5 6 7 3 chunks +15 lines, -6 lines 0 comments Download
M content/common/gpu/media/android_deferred_rendering_backing_strategy.cc View 1 2 3 4 5 6 7 3 chunks +54 lines, -13 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M content/common/gpu/media/avda_codec_image.h View 1 2 3 4 5 6 3 chunks +43 lines, -10 lines 0 comments Download
M content/common/gpu/media/avda_codec_image.cc View 1 2 3 4 5 6 6 chunks +83 lines, -45 lines 0 comments Download

Messages

Total messages: 24 (9 generated)
DaleCurtis
If you guys have time Fri/Mon/Tue to pick this up it's all yours. It needs ...
4 years, 8 months ago (2016-04-15 00:48:21 UTC) #2
DaleCurtis
Cleaned this up a lot. Please look over it and see if it looks sane. ...
4 years, 8 months ago (2016-04-21 22:41:17 UTC) #5
liberato (no reviews please)
i don't have time tonight to look over in more detail, but i think these ...
4 years, 8 months ago (2016-04-22 00:51:06 UTC) #7
DaleCurtis
https://codereview.chromium.org/1892013002/diff/80001/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/1892013002/diff/80001/content/common/gpu/media/android_video_decode_accelerator.cc#newcode512 content/common/gpu/media/android_video_decode_accelerator.cc:512: strategy_->MaybeRenderEarly(pictures_out_for_display_); On 2016/04/22 at 00:51:05, liberato-ooo wrote: > i ...
4 years, 8 months ago (2016-04-22 01:33:58 UTC) #10
liberato (no reviews please)
i think the pseudocode is close. might have missed a few cases. thanks -fl https://codereview.chromium.org/1892013002/diff/80001/content/common/gpu/media/avda_codec_image.cc ...
4 years, 8 months ago (2016-04-22 02:16:43 UTC) #11
DaleCurtis
On 2016/04/22 at 02:16:43, liberato wrote: > i think the pseudocode is close. might have ...
4 years, 8 months ago (2016-04-22 18:30:55 UTC) #12
liberato (no reviews please)
On 2016/04/22 18:30:55, DaleCurtis wrote: > On 2016/04/22 at 02:16:43, liberato wrote: > > i ...
4 years, 8 months ago (2016-04-22 18:51:04 UTC) #13
DaleCurtis
Okay, I think I got all the cases covered. Please give it your best eyes!
4 years, 8 months ago (2016-04-22 19:28:04 UTC) #14
liberato (no reviews please)
lgtm % nits + (potential) iterator erase issue. erasing just |id| is probably sufficient. https://codereview.chromium.org/1892013002/diff/160001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc ...
4 years, 8 months ago (2016-04-22 20:25:09 UTC) #15
DaleCurtis
https://codereview.chromium.org/1892013002/diff/160001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc File content/common/gpu/media/android_deferred_rendering_backing_strategy.cc (right): https://codereview.chromium.org/1892013002/diff/160001/content/common/gpu/media/android_deferred_rendering_backing_strategy.cc#newcode228 content/common/gpu/media/android_deferred_rendering_backing_strategy.cc:228: std::remove(pictures_out_for_display_.begin(), On 2016/04/22 at 20:25:08, liberato wrote: > i ...
4 years, 8 months ago (2016-04-22 20:58:02 UTC) #16
watk
awesome, lgtm
4 years, 8 months ago (2016-04-22 23:17:48 UTC) #17
DaleCurtis
Thanks for review. Unfortunately this isn't sufficient to fix all the moto x problems, 720p60 ...
4 years, 8 months ago (2016-04-23 02:09:45 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1892013002/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1892013002/200001
4 years, 8 months ago (2016-04-23 02:10:06 UTC) #21
commit-bot: I haz the power
Committed patchset #8 (id:200001)
4 years, 8 months ago (2016-04-23 03:02:16 UTC) #22
commit-bot: I haz the power
4 years, 8 months ago (2016-04-23 03:03:54 UTC) #24
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/1ee5b842e11f679b21a38f156fb7d4688ff8665a
Cr-Commit-Position: refs/heads/master@{#389350}

Powered by Google App Engine
This is Rietveld 408576698