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

Issue 24762003: Set the texture to cleared in VideoDecodeAccelerator::PictureReady. (Closed)

Created:
7 years, 2 months ago by wuchengli
Modified:
7 years, 2 months ago
CC:
chromium-reviews, jam, apatrick_chromium, joi+watch-content_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Set textures to cleared in VideoDecodeAccelerator::PictureReady. Instead of clearing the textures in GVDA::AssignPictureBuffers, set them to cleared in PictureReady. This can make OnAssignPictureBuffers faster. This can reduce the latency when playing a video or starting webrtc. This also make resolution change faster. The test was done on Daisy running apprtc.appspot.com with 720p decode. AssignPictureBuffers is reduced from 142ms to 24ms. The decode time of the first three frames are reduced from 202ms, 163ms, 144ms to 74ms, 36ms, 26ms respectively. BUG=298176 TEST=Play video. Run apprtc loopback. Run vda unittest. Run resolution change in DASH youtube. Test raw resolution switch. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=226492

Patch Set 1 #

Total comments: 16

Patch Set 2 : rebase #

Patch Set 3 : address review comments #

Total comments: 14

Patch Set 4 : address review comments #

Total comments: 2

Patch Set 5 : add more comments in EVDA #

Total comments: 1

Patch Set 6 : fix a WeakPtr DCHECK fail and handle Reset/Flush cases #

Patch Set 7 : rebase #

Patch Set 8 : send PictureReady to IO thread during Reset or Flush if picture_clearing_count_ == 0 #

Patch Set 9 : refactor SendPictureReady by kcwu's suggestion #

Unified diffs Side-by-side diffs Delta from patch set Stats (+169 lines, -16 lines) Patch
M content/common/gpu/media/exynos_video_decode_accelerator.h View 1 2 3 4 5 chunks +18 lines, -0 lines 0 comments Download
M content/common/gpu/media/exynos_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 8 chunks +74 lines, -5 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.h View 1 2 3 4 chunks +13 lines, -0 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.cc View 1 2 3 9 chunks +61 lines, -10 lines 0 comments Download
M content/common/gpu/media/video_decode_accelerator_impl.h View 1 chunk +3 lines, -1 line 0 comments Download

Messages

Total messages: 29 (0 generated)
wuchengli
PTAL.
7 years, 2 months ago (2013-09-26 15:23:42 UTC) #1
Ami GONE FROM CHROMIUM
LGTM % nits & piman confirmation that SLC requires being on the child thread. https://codereview.chromium.org/24762003/diff/1/content/common/gpu/media/gpu_video_decode_accelerator.cc ...
7 years, 2 months ago (2013-09-26 16:21:55 UTC) #2
wuchengli
On 2013/09/26 16:21:55, Ami Fischman wrote: > LGTM % nits & piman confirmation that SLC ...
7 years, 2 months ago (2013-09-26 16:30:26 UTC) #3
piman
re: Ami's question, yes, SetLevelCleared has to be called on the main thread, the GPU ...
7 years, 2 months ago (2013-09-26 16:50:00 UTC) #4
Ami GONE FROM CHROMIUM
It is not ok to deliver pictures out of order. I was thinking that delivery ...
7 years, 2 months ago (2013-09-26 16:57:32 UTC) #5
Ami GONE FROM CHROMIUM
It is not ok to deliver pictures out of order. I was thinking that delivery ...
7 years, 2 months ago (2013-09-26 16:58:02 UTC) #6
wuchengli
https://codereview.chromium.org/24762003/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://codereview.chromium.org/24762003/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1422 content/common/gpu/media/exynos_video_decode_accelerator.cc:1422: // reduce latency. On 2013/09/26 16:50:01, piman wrote: > ...
7 years, 2 months ago (2013-09-26 17:02:47 UTC) #7
Ami GONE FROM CHROMIUM
On Thu, Sep 26, 2013 at 10:02 AM, <wuchengli@chromium.org> wrote: > I cannot think of ...
7 years, 2 months ago (2013-09-26 17:43:45 UTC) #8
wuchengli
On 2013/09/26 17:43:45, Ami Fischman wrote: > How about: remove tracking of cleared/uncleared status from ...
7 years, 2 months ago (2013-09-30 16:11:06 UTC) #9
wuchengli
Done. PTAL. https://codereview.chromium.org/24762003/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://codereview.chromium.org/24762003/diff/1/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode1422 content/common/gpu/media/exynos_video_decode_accelerator.cc:1422: // reduce latency. On 2013/09/26 16:50:01, piman ...
7 years, 2 months ago (2013-09-30 16:11:20 UTC) #10
Ami GONE FROM CHROMIUM
https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode449 content/common/gpu/media/exynos_video_decode_accelerator.h:449: std::queue<std::pair<bool, media::Picture> > pending_picture_ready_; Doco what the bool is ...
7 years, 2 months ago (2013-09-30 18:03:02 UTC) #11
piman
LGTM+nits https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode2489 content/common/gpu/media/exynos_video_decode_accelerator.cc:2489: DCHECK(picture_clearing_count_ > 0); nit: DCHECK_GT https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h ...
7 years, 2 months ago (2013-09-30 21:49:13 UTC) #12
wuchengli
All done. PTAL. https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://codereview.chromium.org/24762003/diff/16001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode2489 content/common/gpu/media/exynos_video_decode_accelerator.cc:2489: DCHECK(picture_clearing_count_ > 0); On 2013/09/30 21:49:13, ...
7 years, 2 months ago (2013-10-01 03:49:43 UTC) #13
piman
lgtm
7 years, 2 months ago (2013-10-01 04:17:23 UTC) #14
Ami GONE FROM CHROMIUM
LGTM
7 years, 2 months ago (2013-10-01 05:47:19 UTC) #15
Pawel Osciak
evda parts lgtm % nit, please make sure it works on resolution switching in DASH ...
7 years, 2 months ago (2013-10-01 07:45:34 UTC) #16
wuchengli
https://codereview.chromium.org/24762003/diff/36001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://codereview.chromium.org/24762003/diff/36001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode184 content/common/gpu/media/exynos_video_decode_accelerator.h:184: bool cleared; // whether the texture has been cleared ...
7 years, 2 months ago (2013-10-01 13:54:49 UTC) #17
wuchengli
Pawel. I modified EVDA after testing DASH. PTAL. - Use Unretained to send PictureReady. - ...
7 years, 2 months ago (2013-10-02 06:26:38 UTC) #18
Pawel Osciak
On 2013/10/02 06:26:38, wuchengli wrote: > Pawel. I modified EVDA after testing DASH. PTAL. > ...
7 years, 2 months ago (2013-10-02 09:29:23 UTC) #19
wuchengli
On 2013/10/02 09:29:23, posciak wrote: > On 2013/10/02 06:26:38, wuchengli wrote: > > Pawel. I ...
7 years, 2 months ago (2013-10-02 10:00:43 UTC) #20
wuchengli
PTAL.
7 years, 2 months ago (2013-10-02 12:27:05 UTC) #21
Pawel Osciak
On 2013/10/02 12:27:05, wuchengli wrote: > PTAL. lgtm after a thorough analysis on chat. Another ...
7 years, 2 months ago (2013-10-02 12:41:43 UTC) #22
wuchengli
Refactored SendPictureReady by kcwu's suggestion. Kuang-che. PTAL.
7 years, 2 months ago (2013-10-02 13:52:10 UTC) #23
kcwu
lgtm
7 years, 2 months ago (2013-10-02 14:04:52 UTC) #24
wuchengli
Submitting. Thanks all!
7 years, 2 months ago (2013-10-02 14:14:03 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wuchengli@chromium.org/24762003/72001
7 years, 2 months ago (2013-10-02 14:14:52 UTC) #26
commit-bot: I haz the power
Step "update" is always a major failure. Look at the try server FAQ for more ...
7 years, 2 months ago (2013-10-02 14:23:14 UTC) #27
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wuchengli@chromium.org/24762003/72001
7 years, 2 months ago (2013-10-02 15:15:42 UTC) #28
commit-bot: I haz the power
7 years, 2 months ago (2013-10-02 17:38:22 UTC) #29
Message was sent while issue was closed.
Change committed as 226492

Powered by Google App Engine
This is Rietveld 408576698