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

Issue 1549473002: Add ArcGpuVideoDecodeAccelerator. (Closed)

Created:
5 years ago by Owen Lin
Modified:
4 years, 8 months ago
CC:
darin-cc_chromium.org, mcasas+watch_chromium.org, 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

Add ArcGpuVideoDecodeAccelerator. This class runs in the GPU process. It takes video decoding requests from the ARC and talk with real ArcVDA implementations to decode the video. BUG=b/25829285 Test=Compile the code on veyron_minnie. Committed: https://crrev.com/76e5c4476a8a2cfba57c2e03216f1ce6dc7762c0 Cr-Commit-Position: refs/heads/master@{#388525}

Patch Set 1 #

Total comments: 26

Patch Set 2 : Address kcwu's comments and change to use new API #

Patch Set 3 : Not ready yet #

Total comments: 73

Patch Set 4 : address posciak's comments #

Patch Set 5 : rebase #

Total comments: 19

Patch Set 6 : address kcwu's comments and bug fixes #

Patch Set 7 : move code from content/ to /chrome #

Total comments: 56

Patch Set 8 : address posciak's comments #

Total comments: 32

Patch Set 9 : address kcwu's comments #

Total comments: 4

Patch Set 10 : address kcwu's comments #

Patch Set 11 : add OWNERS file #

Total comments: 10

Patch Set 12 : Add check for |vda_| in IPC functions. #

Total comments: 26

Patch Set 13 : don't use |arc_client_| when |vda| is null. #

Patch Set 14 : Change ArcVideoAccelerator::Reset to asynchronous. #

Total comments: 52

Patch Set 15 : address Pawel's comments #

Total comments: 12

Patch Set 16 : address Pawel's comments #

Total comments: 6

Patch Set 17 : rebased #

Patch Set 18 : address Pawel's nits #

Patch Set 19 : address kcwu's comments #

Patch Set 20 : rebase #

Patch Set 21 : fix compiling errors #

Patch Set 22 : add out-of-line ctor/dtor #

Unified diffs Side-by-side diffs Delta from patch set Stats (+583 lines, -2 lines) Patch
M chrome/chrome_gpu.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/gpu/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +2 lines, -0 lines 0 comments Download
A chrome/gpu/arc_gpu_video_decode_accelerator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +152 lines, -0 lines 0 comments Download
A chrome/gpu/arc_gpu_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +425 lines, -0 lines 0 comments Download
M chrome/gpu/gpu_arc_video_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 66 (21 generated)
Owen Lin
5 years ago (2015-12-22 05:59:52 UTC) #2
kcwu
https://codereview.chromium.org/1549473002/diff/1/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/1/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode60 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:60: PortInfo* port_info = &port_info_[port]; validate value of |port| https://codereview.chromium.org/1549473002/diff/1/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode95 ...
5 years ago (2015-12-23 06:25:44 UTC) #3
Owen Lin
https://codereview.chromium.org/1549473002/diff/1/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/1/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode60 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:60: PortInfo* port_info = &port_info_[port]; On 2015/12/23 06:25:43, kcwu wrote: ...
4 years, 11 months ago (2015-12-31 07:22:14 UTC) #6
Pawel Osciak
https://codereview.chromium.org/1549473002/diff/80001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/80001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode30 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:30: status_t ArcGpuVideoDecodeAccelerator::Initialize( Please use a ThreadChecker to make sure ...
4 years, 11 months ago (2016-01-07 09:22:36 UTC) #7
Owen Lin
PTAL. Thanks. https://codereview.chromium.org/1549473002/diff/80001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/80001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode30 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:30: status_t ArcGpuVideoDecodeAccelerator::Initialize( On 2016/01/07 09:22:35, Pawel Osciak ...
4 years, 11 months ago (2016-01-12 09:30:24 UTC) #8
kcwu
https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode46 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:46: for (int32_t id = 0, n = *count; id ...
4 years, 11 months ago (2016-01-20 09:11:05 UTC) #9
Owen Lin
https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode46 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:46: for (int32_t id = 0, n = *count; id ...
4 years, 10 months ago (2016-02-02 09:08:06 UTC) #12
Pawel Osciak
https://codereview.chromium.org/1549473002/diff/200001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/200001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode72 chrome/gpu/arc_gpu_video_decode_accelerator.cc:72: size_t* count) { We are not assigning to count, ...
4 years, 9 months ago (2016-02-29 08:25:21 UTC) #14
Owen Lin
https://codereview.chromium.org/1549473002/diff/200001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/200001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode72 chrome/gpu/arc_gpu_video_decode_accelerator.cc:72: size_t* count) { On 2016/02/29 08:25:20, Pawel Osciak wrote: ...
4 years, 9 months ago (2016-03-03 06:30:44 UTC) #15
kcwu
https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_video_accelerator.h File chrome/gpu/arc_video_accelerator.h (right): https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_video_accelerator.h#newcode46 chrome/gpu/arc_video_accelerator.h:46: uint32_t image_size; buffer_size ?
4 years, 9 months ago (2016-03-04 13:32:59 UTC) #16
kcwu
https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode169 chrome/gpu/arc_gpu_video_decode_accelerator.cc:169: << ", timestamp=" << metadata.timestamp << "))"; extra )
4 years, 9 months ago (2016-03-07 14:04:33 UTC) #17
kcwu
https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc File content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/120001/content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc#newcode46 content/common/gpu/media/arc/arc_gpu_video_decode_accelerator.cc:46: for (int32_t id = 0, n = *count; id ...
4 years, 9 months ago (2016-03-09 07:58:22 UTC) #18
kcwu
https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode49 chrome/gpu/arc_gpu_video_decode_accelerator.cc:49: static const size_t MAX_BUFFER_COUNT = 128; On 2016/03/09 07:58:21, ...
4 years, 9 months ago (2016-03-10 07:27:26 UTC) #19
Owen Lin
https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/220001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode32 chrome/gpu/arc_gpu_video_decode_accelerator.cc:32: handle = std::move(a.handle); On 2016/03/09 07:58:21, kcwu wrote: > ...
4 years, 9 months ago (2016-03-14 08:46:59 UTC) #20
kcwu
lgtm https://codereview.chromium.org/1549473002/diff/240001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/240001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode10 chrome/gpu/arc_gpu_video_decode_accelerator.cc:10: // TODO use Pawel's factory instead Remove this ...
4 years, 9 months ago (2016-03-14 09:37:53 UTC) #21
Owen Lin
Hi jochen@, please help us do a owner's review. Thanks.
4 years, 9 months ago (2016-03-15 07:39:16 UTC) #23
jochen (gone - plz use gerrit)
+kbr because gpu
4 years, 9 months ago (2016-03-15 21:00:37 UTC) #25
Ken Russell (switch to Gerrit)
LGTM as far as I understand it. Please add an OWNERS file in the new ...
4 years, 9 months ago (2016-03-15 21:45:51 UTC) #26
owenlin_google
PTAL. Also add posciak@ in the OWNERS file. He is the OWNER of most VideoDecodeAccelerator ...
4 years, 9 months ago (2016-03-16 06:20:51 UTC) #28
kcwu
https://codereview.chromium.org/1549473002/diff/280001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/280001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode11 chrome/gpu/arc_gpu_video_decode_accelerator.cc:11: #undef DVLOG remember to remove before commit
4 years, 9 months ago (2016-03-16 14:20:49 UTC) #30
kcwu
need to rebase after pawel's GpuVideoDecodeAcceleratorFactory change.
4 years, 9 months ago (2016-03-17 03:24:10 UTC) #31
Owen Lin
Hi jochen@, we still need a owner's lgtm for this CL. PTAL. Thanks.
4 years, 9 months ago (2016-03-17 05:35:54 UTC) #32
kcwu
I'm thinking we need to handle unexpected calls from untrusted client. https://codereview.chromium.org/1549473002/diff/280001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): ...
4 years, 9 months ago (2016-03-17 13:10:47 UTC) #33
Owen Lin
https://codereview.chromium.org/1549473002/diff/280001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/280001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode11 chrome/gpu/arc_gpu_video_decode_accelerator.cc:11: #undef DVLOG On 2016/03/16 14:20:48, kcwu wrote: > remember ...
4 years, 9 months ago (2016-03-18 05:49:36 UTC) #34
kcwu
https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode83 chrome/gpu/arc_gpu_video_decode_accelerator.cc:83: arc_client_->OnError(ILLEGAL_STATE); If not Initialize() yet, arc_client_ will be probably ...
4 years, 9 months ago (2016-03-18 06:30:11 UTC) #35
wuchengli
jochen@ Can you LGTM now that Ken approved? Ken is not in OWNERS file.
4 years, 9 months ago (2016-03-18 06:48:22 UTC) #37
jochen (gone - plz use gerrit)
where is this code used? it seems like the new classes get nowhere instantiated? where ...
4 years, 9 months ago (2016-03-18 15:33:46 UTC) #38
Owen Lin
On 2016/03/18 15:33:46, jochen - slow wrote: > where is this code used? it seems ...
4 years, 9 months ago (2016-03-21 09:06:30 UTC) #39
Pawel Osciak
https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_video_accelerator.h File chrome/gpu/arc_video_accelerator.h (right): https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_video_accelerator.h#newcode23 chrome/gpu/arc_video_accelerator.h:23: BUFFER_FLAG_EOS = 1, Perhaps 1 << 0 to further ...
4 years, 9 months ago (2016-03-22 08:36:11 UTC) #40
Pawel Osciak
https://codereview.chromium.org/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode31 chrome/gpu/arc_gpu_video_decode_accelerator.cc:31: // buffers used is requested from the client side ...
4 years, 9 months ago (2016-03-22 10:21:13 UTC) #41
Owen Lin
https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/300001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode83 chrome/gpu/arc_gpu_video_decode_accelerator.cc:83: arc_client_->OnError(ILLEGAL_STATE); On 2016/03/18 06:30:11, kcwu wrote: > If not ...
4 years, 9 months ago (2016-03-24 03:01:12 UTC) #42
jochen (gone - plz use gerrit)
+cpu/jam who review the CL where this class is getting used please try not to ...
4 years, 9 months ago (2016-03-24 14:48:53 UTC) #44
jam
On 2016/03/24 14:48:53, jochen - slow wrote: > +cpu/jam who review the CL where this ...
4 years, 9 months ago (2016-03-24 16:50:11 UTC) #45
Pawel Osciak
agvda.* lgtm % nits https://chromiumcodereview.appspot.com/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode127 chrome/gpu/arc_gpu_video_decode_accelerator.cc:127: InputBufferInfo* input_info = &input_buffer_info_[index]; On ...
4 years, 9 months ago (2016-03-25 08:38:45 UTC) #46
Owen Lin
https://codereview.chromium.org/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/340001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode221 chrome/gpu/arc_gpu_video_decode_accelerator.cc:221: // TODO(owenlin): use VDA::GetOutputFormat() here and calculate correct On ...
4 years, 8 months ago (2016-03-29 07:10:42 UTC) #47
Pawel Osciak
lgtm % nits https://codereview.chromium.org/1549473002/diff/380001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/1549473002/diff/380001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode104 chrome/gpu/arc_gpu_video_decode_accelerator.cc:104: // TODO: Make sure the |coded_size| ...
4 years, 8 months ago (2016-03-29 08:05:28 UTC) #48
Owen Lin
https://chromiumcodereview.appspot.com/1549473002/diff/380001/chrome/gpu/arc_gpu_video_decode_accelerator.cc File chrome/gpu/arc_gpu_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/1549473002/diff/380001/chrome/gpu/arc_gpu_video_decode_accelerator.cc#newcode104 chrome/gpu/arc_gpu_video_decode_accelerator.cc:104: // TODO: Make sure the |coded_size| is what we ...
4 years, 8 months ago (2016-03-30 04:48:19 UTC) #49
cpu_(ooo_6.6-7.5)
lgtm
4 years, 8 months ago (2016-04-07 18:13:06 UTC) #51
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1549473002/480001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1549473002/480001
4 years, 8 months ago (2016-04-20 06:58:16 UTC) #53
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_compile_dbg_ng/builds/188065)
4 years, 8 months ago (2016-04-20 07:15:12 UTC) #55
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1549473002/500001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1549473002/500001
4 years, 8 months ago (2016-04-20 07:56:52 UTC) #57
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_rel_ng/builds/199690)
4 years, 8 months ago (2016-04-20 08:10:01 UTC) #59
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1549473002/520001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1549473002/520001
4 years, 8 months ago (2016-04-20 15:30:46 UTC) #62
commit-bot: I haz the power
Committed patchset #22 (id:520001)
4 years, 8 months ago (2016-04-20 17:16:51 UTC) #64
commit-bot: I haz the power
4 years, 8 months ago (2016-04-22 19:24:36 UTC) #66
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/76e5c4476a8a2cfba57c2e03216f1ce6dc7762c0
Cr-Commit-Position: refs/heads/master@{#388525}

Powered by Google App Engine
This is Rietveld 408576698