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

Issue 1313913003: Begin refactor of AVDA to support zero-copy. (Closed)

Created:
5 years, 4 months ago by liberato (no reviews please)
Modified:
5 years, 3 months ago
CC:
chromium-reviews, posciak+watch_chromium.org, jam, mcasas+watch_chromium.org, feature-media-reviews_chromium.org, darin-cc_chromium.org, piman+watch_chromium.org, wjia+watch_chromium.org, Tima Vaisburd, qinmin
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Begin refactor of AVDA to support zero-copy. Refactor AndroidVideoDecodeAccelerator into a class that manages the MediaCodec buffers, but delegates handling the SurfaceTexture to BackingStrategy implementations. The AndroidCopyingBackingStrategy class implements the texture copy into the picture buffer, as it did in previous versions. BUG=507834 Committed: https://crrev.com/c765882aa08a8dd38847400b05312c0b76aa2334 Cr-Commit-Position: refs/heads/master@{#348774}

Patch Set 1 #

Patch Set 2 : moved RequestPictureBuffers back to base. #

Patch Set 3 : started rendering decoded buffers(!) #

Patch Set 4 : minor updates. #

Total comments: 20

Patch Set 5 : cl feedback #

Total comments: 1

Patch Set 6 : refactored into composable pieces, to see if it looks nicer. #

Total comments: 2

Patch Set 7 : removed unused macro. #

Patch Set 8 : friended Create() #

Patch Set 9 : 2013 => 2015. #

Total comments: 4

Patch Set 10 : cl feedback -- removed impl. #

Patch Set 11 : fixed unit test. #

Total comments: 9

Patch Set 12 : formatting. #

Patch Set 13 : add gn build. #

Total comments: 23

Patch Set 14 : cl feedback. #

Total comments: 6

Patch Set 15 : cl feedback + rebased. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+373 lines, -114 lines) Patch
M content/common/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 14 1 chunk +3 lines, -0 lines 0 comments Download
A content/common/gpu/media/android_copying_backing_strategy.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +51 lines, -0 lines 0 comments Download
A content/common/gpu/media/android_copying_backing_strategy.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +120 lines, -0 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 5 chunks +51 lines, -11 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 20 chunks +63 lines, -100 lines 0 comments Download
A content/common/gpu/media/android_video_decode_accelerator_state_provider.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +52 lines, -0 lines 0 comments Download
M content/common/gpu/media/android_video_decode_accelerator_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +3 lines, -1 line 0 comments Download
A content/common/gpu/media/avda_return_on_failure.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +24 lines, -0 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +3 lines, -2 lines 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +3 lines, -0 lines 0 comments Download

Messages

Total messages: 31 (11 generated)
watk
I only had minor comments https://codereview.chromium.org/1313913003/diff/60001/content/common/gpu/media/android_video_decode_accelerator.h File content/common/gpu/media/android_video_decode_accelerator.h (right): https://codereview.chromium.org/1313913003/diff/60001/content/common/gpu/media/android_video_decode_accelerator.h#newcode16 content/common/gpu/media/android_video_decode_accelerator.h:16: #include "base/timer/timer.h" Doesn't look ...
5 years, 3 months ago (2015-08-28 21:52:05 UTC) #3
liberato (no reviews please)
timav, qinmin: comments always welcome, but also feel free to ignore as fyi. after some ...
5 years, 3 months ago (2015-09-04 17:59:47 UTC) #7
sandersd (OOO until July 31)
I like this better than the inheritance, but not as much as just forking the ...
5 years, 3 months ago (2015-09-04 22:12:53 UTC) #8
watk
https://codereview.chromium.org/1313913003/diff/180001/content/common/gpu/media/android_video_decode_accelerator.h File content/common/gpu/media/android_video_decode_accelerator.h (right): https://codereview.chromium.org/1313913003/diff/180001/content/common/gpu/media/android_video_decode_accelerator.h#newcode38 content/common/gpu/media/android_video_decode_accelerator.h:38: class StateProvider { I think this is mostly subjective, ...
5 years, 3 months ago (2015-09-04 23:15:16 UTC) #9
liberato (no reviews please)
i think this covers all the feedback. impl class is no longer needed. things are ...
5 years, 3 months ago (2015-09-08 19:50:00 UTC) #10
watk
Bunch of formatting comments, sorry! I stopped half way because it's probably easier for you ...
5 years, 3 months ago (2015-09-09 00:36:01 UTC) #11
liberato (no reviews please)
sorry, i entirely forgot to run clang-format. didn't reply per-comment this time. i updated two ...
5 years, 3 months ago (2015-09-09 18:28:17 UTC) #13
watk
On 2015/09/09 18:28:17, liberato wrote: > sorry, i entirely forgot to run clang-format. > > ...
5 years, 3 months ago (2015-09-09 18:49:49 UTC) #14
liberato (no reviews please)
@sievers: can you provide an owner lgtm for BUILD.gn? any other comments on the refactor ...
5 years, 3 months ago (2015-09-09 21:03:18 UTC) #16
sandersd (OOO until July 31)
I agree with watk@ that some of these could be parameters (constructor or otherwise). We ...
5 years, 3 months ago (2015-09-10 20:28:20 UTC) #17
no sievers
just a few nits, otherwise lgtm https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_video_decode_accelerator.h File content/common/gpu/media/android_video_decode_accelerator.h (right): https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_video_decode_accelerator.h#newcode82 content/common/gpu/media/android_video_decode_accelerator.h:82: // AndroidVideoDecodeAccelerator::StateProvider nit: ...
5 years, 3 months ago (2015-09-11 00:20:39 UTC) #18
qinmin
https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_copying_backing_strategy.cc File content/common/gpu/media/android_copying_backing_strategy.cc (right): https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_copying_backing_strategy.cc#newcode103 content/common/gpu/media/android_copying_backing_strategy.cc:103: const static GLfloat default_matrix[16] = {1.0f, 0.0f, 0.0f, 0.0f, ...
5 years, 3 months ago (2015-09-11 17:29:51 UTC) #20
liberato (no reviews please)
copyrights are up to date, includes are reduced, misc comments are updated, bugs are filed. ...
5 years, 3 months ago (2015-09-14 17:41:28 UTC) #21
watk
https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_copying_backing_strategy.cc File content/common/gpu/media/android_copying_backing_strategy.cc (right): https://codereview.chromium.org/1313913003/diff/280001/content/common/gpu/media/android_copying_backing_strategy.cc#newcode103 content/common/gpu/media/android_copying_backing_strategy.cc:103: const static GLfloat default_matrix[16] = {1.0f, 0.0f, 0.0f, 0.0f, ...
5 years, 3 months ago (2015-09-14 18:15:20 UTC) #22
DaleCurtis
owner lgtm % nits. https://codereview.chromium.org/1313913003/diff/300001/content/common/gpu/media/android_copying_backing_strategy.cc File content/common/gpu/media/android_copying_backing_strategy.cc (right): https://codereview.chromium.org/1313913003/diff/300001/content/common/gpu/media/android_copying_backing_strategy.cc#newcode109 content/common/gpu/media/android_copying_backing_strategy.cc:109: const static GLfloat default_matrix[16] = ...
5 years, 3 months ago (2015-09-14 18:46:21 UTC) #24
liberato (no reviews please)
https://codereview.chromium.org/1313913003/diff/300001/content/common/gpu/media/android_copying_backing_strategy.cc File content/common/gpu/media/android_copying_backing_strategy.cc (right): https://codereview.chromium.org/1313913003/diff/300001/content/common/gpu/media/android_copying_backing_strategy.cc#newcode109 content/common/gpu/media/android_copying_backing_strategy.cc:109: const static GLfloat default_matrix[16] = {1.0f, 0.0f, 0.0f, 0.0f, ...
5 years, 3 months ago (2015-09-14 22:34:53 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1313913003/320001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1313913003/320001
5 years, 3 months ago (2015-09-14 22:36:13 UTC) #28
commit-bot: I haz the power
Committed patchset #15 (id:320001)
5 years, 3 months ago (2015-09-14 23:54:31 UTC) #29
commit-bot: I haz the power
Patchset 15 (id:??) landed as https://crrev.com/c765882aa08a8dd38847400b05312c0b76aa2334 Cr-Commit-Position: refs/heads/master@{#348774}
5 years, 3 months ago (2015-09-14 23:55:14 UTC) #30
commit-bot: I haz the power
5 years, 3 months ago (2015-09-23 12:39:32 UTC) #31
Message was sent while issue was closed.
Patchset 15 (id:??) landed as
https://crrev.com/c765882aa08a8dd38847400b05312c0b76aa2334
Cr-Commit-Position: refs/heads/master@{#348774}

Powered by Google App Engine
This is Rietveld 408576698