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

Issue 23125014: Run VDA::Decode on GPU IO thread if VDA supports it. (Closed)

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

Description

Run VDA::Decode on GPU IO thread if VDA supports it. Sometimes GPU main thread is very busy and VDA::Decode is not run immediately on the main thread. Using MessageFilter to run VDA::Decode directly on IO thread can reduce decode latency by around 80ms on various CrOS devices. BUG=170345 TEST=Try http://apprtc.appspot.com/?debug=loopback on Chromebook Daisy. Run local hardware-accelerated video on Daisy and Link. Run video_decode_accelerator_unittest on Daisy. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=220259

Patch Set 1 : #

Total comments: 2

Patch Set 2 : add lock and handle all VDAs #

Patch Set 3 : Use a separate MessageFilter for GVDA #

Total comments: 24

Patch Set 4 : address review comments and add CanDecodeOnIOThread #

Patch Set 5 : fix try bot errors #

Total comments: 15

Patch Set 6 : address review comments #

Patch Set 7 : use filter_.get() to decide whether RemoveFilter should be called #

Unified diffs Side-by-side diffs Delta from patch set Stats (+191 lines, -42 lines) Patch
M content/common/gpu/gpu_channel.h View 1 2 2 chunks +7 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_channel.cc View 1 2 1 chunk +8 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_command_buffer_stub.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
M content/common/gpu/media/dxva_video_decode_accelerator.h View 1 2 3 2 chunks +2 lines, -1 line 0 comments Download
M content/common/gpu/media/exynos_video_decode_accelerator.h View 1 2 3 4 5 5 chunks +12 lines, -5 lines 0 comments Download
M content/common/gpu/media/exynos_video_decode_accelerator.cc View 1 2 3 4 5 4 chunks +21 lines, -17 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.h View 1 2 3 4 5 chunks +19 lines, -2 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.cc View 1 2 3 4 5 6 8 chunks +67 lines, -11 lines 0 comments Download
M content/common/gpu/media/vaapi_video_decode_accelerator.h View 1 2 3 2 chunks +3 lines, -2 lines 0 comments Download
A content/common/gpu/media/video_decode_accelerator_impl.h View 1 2 3 4 1 chunk +28 lines, -0 lines 0 comments Download
A content/common/gpu/media/video_decode_accelerator_impl.cc View 1 2 3 4 1 chunk +15 lines, -0 lines 0 comments Download
M content/common/gpu/media/video_decode_accelerator_unittest.cc View 1 2 3 2 chunks +3 lines, -1 line 0 comments Download
M content/content_common.gypi View 1 2 3 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (0 generated)
wuchengli
Please take a look. Let me know if there is any question. If the direction ...
7 years, 4 months ago (2013-08-22 14:27:27 UTC) #1
Ami GONE FROM CHROMIUM
This looks right to me. I'd like to also get piman@'s eyes on this CL, ...
7 years, 4 months ago (2013-08-22 14:52:03 UTC) #2
wuchengli
Not ready for review yet. I need some more time to understand the code. I ...
7 years, 4 months ago (2013-08-23 15:43:10 UTC) #3
wuchengli
This is ready for review. PTAL.
7 years, 3 months ago (2013-08-26 14:59:21 UTC) #4
Ami GONE FROM CHROMIUM
https://codereview.chromium.org/23125014/diff/16001/content/common/gpu/gpu_channel.h File content/common/gpu/gpu_channel.h (right): https://codereview.chromium.org/23125014/diff/16001/content/common/gpu/gpu_channel.h#newcode89 content/common/gpu/gpu_channel.h:89: scoped_refptr<base::MessageLoopProxy> io_message_loop() const { Since this is a process-wide ...
7 years, 3 months ago (2013-08-26 17:20:03 UTC) #5
piman
We don't want to run things that may take a long time or block on ...
7 years, 3 months ago (2013-08-26 20:04:42 UTC) #6
wuchengli
On 2013/08/26 20:04:42, piman wrote: > We don't want to run things that may take ...
7 years, 3 months ago (2013-08-27 01:34:40 UTC) #7
Ami GONE FROM CHROMIUM
piman: I think the work here is just a trampoline so the io thread isn't ...
7 years, 3 months ago (2013-08-27 02:57:47 UTC) #8
piman
https://codereview.chromium.org/23125014/diff/16001/content/common/gpu/media/android_video_decode_accelerator.cc File content/common/gpu/media/android_video_decode_accelerator.cc (right): https://codereview.chromium.org/23125014/diff/16001/content/common/gpu/media/android_video_decode_accelerator.cc#newcode333 content/common/gpu/media/android_video_decode_accelerator.cc:333: if (!child_message_loop_->BelongsToCurrentThread) { You're missing the () to BelongsToCurrentThread(). ...
7 years, 3 months ago (2013-08-27 04:01:20 UTC) #9
piman
On 2013/08/27 02:57:47, Ami Fischman wrote: > piman: I think the work here is just ...
7 years, 3 months ago (2013-08-27 04:03:53 UTC) #10
wuchengli
On 2013/08/27 04:03:53, piman wrote: > On 2013/08/27 02:57:47, Ami Fischman wrote: > > piman: ...
7 years, 3 months ago (2013-08-27 04:10:59 UTC) #11
piman
On Mon, Aug 26, 2013 at 9:11 PM, <wuchengli@chromium.org> wrote: > On 2013/08/27 04:03:53, piman ...
7 years, 3 months ago (2013-08-27 04:21:07 UTC) #12
Ami GONE FROM CHROMIUM
Plan sgtm To unsubscribe from this group and stop receiving emails from it, send an ...
7 years, 3 months ago (2013-08-27 05:16:45 UTC) #13
wuchengli
All done. PTAL. I ran the video_decode_accelerator_unittest without options ( without my CL). It crashed ...
7 years, 3 months ago (2013-08-27 12:32:24 UTC) #14
Ami GONE FROM CHROMIUM
https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/gpu_channel.h File content/common/gpu/gpu_channel.h (right): https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/gpu_channel.h#newcode89 content/common/gpu/gpu_channel.h:89: scoped_refptr<base::MessageLoopProxy> io_message_loop() const { On 2013/08/27 12:32:24, wuchengli wrote: ...
7 years, 3 months ago (2013-08-27 17:10:32 UTC) #15
piman
Some nits, and please address Ami's feedback, otherwise LGTM. https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.h File content/common/gpu/media/exynos_video_decode_accelerator.h (right): https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.h#newcode80 content/common/gpu/media/exynos_video_decode_accelerator.h:80: ...
7 years, 3 months ago (2013-08-27 17:14:22 UTC) #16
wuchengli
> https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.cc > File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): > > https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode604 > content/common/gpu/media/exynos_video_decode_accelerator.cc:604: const > media::BitstreamBuffer& bitstream_buffer) ...
7 years, 3 months ago (2013-08-28 04:01:07 UTC) #17
Pawel Osciak
https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.cc File content/common/gpu/media/exynos_video_decode_accelerator.cc (right): https://codereview.chromium.org/23125014/diff/63001/content/common/gpu/media/exynos_video_decode_accelerator.cc#newcode604 content/common/gpu/media/exynos_video_decode_accelerator.cc:604: const media::BitstreamBuffer& bitstream_buffer) { On 2013/08/27 17:10:33, Ami Fischman ...
7 years, 3 months ago (2013-08-28 08:36:48 UTC) #18
wuchengli
All done. PTAL. video_decode_accelerator_unittest passed. I also tested local hardware-accelerated video on Daisy and Link. ...
7 years, 3 months ago (2013-08-28 13:18:20 UTC) #19
Pawel Osciak
fwiw, lgtm
7 years, 3 months ago (2013-08-29 04:11:44 UTC) #20
wuchengli
Updated the CL by Kuang-che's suggestion. Kuang-che. PTAL.
7 years, 3 months ago (2013-08-29 05:38:41 UTC) #21
kcwu
lgtm
7 years, 3 months ago (2013-08-29 05:41:39 UTC) #22
wuchengli
Ami. It looks like you're OOO until next Tuesday. I think I've addressed all your ...
7 years, 3 months ago (2013-08-29 07:25:30 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/wuchengli@chromium.org/23125014/27001
7 years, 3 months ago (2013-08-29 07:28:59 UTC) #24
commit-bot: I haz the power
7 years, 3 months ago (2013-08-29 11:20:31 UTC) #25
Message was sent while issue was closed.
Change committed as 220259

Powered by Google App Engine
This is Rietveld 408576698