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

Issue 826663002: Support multiple video decoders and encoders (Closed)

Created:
5 years, 12 months ago by henryhsu
Modified:
5 years, 11 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, piman
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Support multiple video decoders and encoders Some platforms have multiple video decoders and encoders. For decode and encoder, return the first succeed initialized VDA and VEA from all possible platforms. GetSupportedProfile return all possible profiles from all encoders. BUG=445016 TEST=Tested on squawks. For decoder, make sure V4L2 initialization failed and VAAPI successed. For encoder, test on extension. Committed: https://crrev.com/fce5ccd14c3676b960917c095a050b7a76b15227 Cr-Commit-Position: refs/heads/master@{#310232}

Patch Set 1 #

Total comments: 1

Patch Set 2 : fix nits #

Total comments: 34

Patch Set 3 : address Pawel's review comments #

Total comments: 11

Patch Set 4 : address wucheng's review comments #

Total comments: 39

Patch Set 5 : address patch set 4 review comments #

Total comments: 4

Patch Set 6 : split CreateEncode/CreateDecoder for each platform #

Patch Set 7 : Use callback function for decoders #

Total comments: 33

Patch Set 8 : address patch set 7 review comments #

Total comments: 2

Patch Set 9 : rebase #

Total comments: 1

Patch Set 10 : fix ozone #

Patch Set 11 : apply Pawel's patch #

Patch Set 12 : fix compile errors on some trybots #

Patch Set 13 : fix trybot failure #

Total comments: 4

Patch Set 14 : Address piman's review comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+239 lines, -101 lines) Patch
M content/common/BUILD.gn View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -5 lines 0 comments Download
M content/common/gpu/media/gpu_video_decode_accelerator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +17 lines, -2 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 12 13 2 chunks +100 lines, -52 lines 0 comments Download
M content/common/gpu/media/gpu_video_encode_accelerator.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +11 lines, -5 lines 0 comments Download
M content/common/gpu/media/gpu_video_encode_accelerator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +68 lines, -33 lines 0 comments Download
M content/common/gpu/media/v4l2_image_processor.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +3 lines, -0 lines 0 comments Download
M content/common/gpu/media/v4l2_image_processor.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +9 lines, -0 lines 0 comments Download
M content/common/gpu/media/v4l2_video_decode_accelerator.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M content/common/gpu/media/v4l2_video_device.cc View 1 2 3 4 5 6 7 8 2 chunks +4 lines, -0 lines 0 comments Download
M content/common/gpu/media/v4l2_video_encode_accelerator.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +2 lines, -0 lines 0 comments Download
M content/common/gpu/media/v4l2_video_encode_accelerator.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -0 lines 0 comments Download
M content/content_common.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +9 lines, -3 lines 0 comments Download

Messages

Total messages: 31 (3 generated)
henryhsu
PTAL
5 years, 12 months ago (2014-12-24 09:24:37 UTC) #2
Pawel Osciak
+piman FYI https://chromiumcodereview.appspot.com/826663002/diff/1/content/common/gpu/media/gpu_video_decode_accelerator.h File content/common/gpu/media/gpu_video_decode_accelerator.h (right): https://chromiumcodereview.appspot.com/826663002/diff/1/content/common/gpu/media/gpu_video_decode_accelerator.h#newcode74 content/common/gpu/media/gpu_video_decode_accelerator.h:74: bool InitialDecoder(const media::VideoCodecProfile profile); s/Initial/Initialize/ s/const// https://chromiumcodereview.appspot.com/826663002/diff/20001/content/common/gpu/media/gpu_video_decode_accelerator.cc ...
5 years, 12 months ago (2014-12-26 01:11:36 UTC) #3
henryhsu
all done. PTAL https://codereview.chromium.org/826663002/diff/20001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/20001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode234 content/common/gpu/media/gpu_video_decode_accelerator.cc:234: stub_->channel()->AddFilter(filter_.get()); On 2014/12/26 01:11:35, Pawel Osciak ...
5 years, 11 months ago (2014-12-26 08:40:41 UTC) #5
wuchengli
Supporting multiple decoders and encoders only works on x86 CrOS in this CL. Change the ...
5 years, 11 months ago (2014-12-26 09:26:26 UTC) #6
henryhsu
all done. https://codereview.chromium.org/826663002/diff/40001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/40001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode230 content/common/gpu/media/gpu_video_decode_accelerator.cc:230: bool GpuVideoDecodeAccelerator::InitializeDecoder( On 2014/12/26 09:26:25, wuchengli wrote: ...
5 years, 11 months ago (2014-12-26 09:52:11 UTC) #7
Pawel Osciak
https://chromiumcodereview.appspot.com/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode230 content/common/gpu/media/gpu_video_decode_accelerator.cc:230: void GpuVideoDecodeAccelerator::Initialize( Please document the behavior of this method. ...
5 years, 11 months ago (2014-12-28 23:28:04 UTC) #8
henryhsu
all done. PTAL https://codereview.chromium.org/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode230 content/common/gpu/media/gpu_video_decode_accelerator.cc:230: void GpuVideoDecodeAccelerator::Initialize( On 2014/12/28 23:28:01, Pawel ...
5 years, 11 months ago (2014-12-29 09:43:27 UTC) #9
Pawel Osciak
https://chromiumcodereview.appspot.com/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/826663002/diff/60001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode265 content/common/gpu/media/gpu_video_decode_accelerator.cc:265: (defined(ARCH_CPU_X86_FAMILY) || defined(ARCH_CPU_ARMEL)) On 2014/12/29 09:43:26, henryhsu wrote: > ...
5 years, 11 months ago (2014-12-30 06:14:38 UTC) #10
henryhsu
PTAL https://codereview.chromium.org/826663002/diff/80001/content/common/gpu/media/gpu_video_decode_accelerator.h File content/common/gpu/media/gpu_video_decode_accelerator.h (right): https://codereview.chromium.org/826663002/diff/80001/content/common/gpu/media/gpu_video_decode_accelerator.h#newcode63 content/common/gpu/media/gpu_video_decode_accelerator.h:63: // |init_done_msg| when initialize one of accelerators with ...
5 years, 11 months ago (2014-12-30 14:40:51 UTC) #11
henryhsu
decoders is also using callback function now.
5 years, 11 months ago (2014-12-31 06:56:50 UTC) #12
Pawel Osciak
https://codereview.chromium.org/826663002/diff/120001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/120001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode253 content/common/gpu/media/gpu_video_decode_accelerator.cc:253: if (create_vda_cbs.empty()) { I think not needed, since the ...
5 years, 11 months ago (2014-12-31 07:56:00 UTC) #13
henryhsu
all done. PTAL https://codereview.chromium.org/826663002/diff/120001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/120001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode253 content/common/gpu/media/gpu_video_decode_accelerator.cc:253: if (create_vda_cbs.empty()) { On 2014/12/31 07:55:59, ...
5 years, 11 months ago (2014-12-31 08:47:53 UTC) #14
Pawel Osciak
lgtm % nits Also, I'd suggest changing the CL description to not specifically mention CrOS ...
5 years, 11 months ago (2015-01-02 01:49:15 UTC) #15
Pawel Osciak
Ah, and please also test encoder on WebRTC (apprtc is fine).
5 years, 11 months ago (2015-01-02 01:50:04 UTC) #16
Pawel Osciak
And it looks like we need a rebase too.
5 years, 11 months ago (2015-01-02 02:19:16 UTC) #17
Pawel Osciak
On 2015/01/02 02:19:16, Pawel Osciak wrote: > And it looks like we need a rebase ...
5 years, 11 months ago (2015-01-02 02:45:35 UTC) #18
Pawel Osciak
https://chromiumcodereview.appspot.com/826663002/diff/160001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://chromiumcodereview.appspot.com/826663002/diff/160001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode358 content/common/gpu/media/gpu_video_decode_accelerator.cc:358: #if defined(USE_OZONE) This fails on freon boards. It should ...
5 years, 11 months ago (2015-01-02 05:46:24 UTC) #19
henryhsu
apprtc works well on peach_pit and squawks. In squawks, decoder initialize shows "HW video decode ...
5 years, 11 months ago (2015-01-02 06:26:58 UTC) #20
henryhsu
Hi piman, PTAL
5 years, 11 months ago (2015-01-05 03:52:38 UTC) #21
piman
https://codereview.chromium.org/826663002/diff/240001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/240001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode273 content/common/gpu/media/gpu_video_decode_accelerator.cc:273: std::vector<GpuVideoDecodeAccelerator::CreateVDACb> create_vda_cbs; This seems overkill to allocate a vector ...
5 years, 11 months ago (2015-01-05 23:50:06 UTC) #22
henryhsu
all done. PTAL https://codereview.chromium.org/826663002/diff/240001/content/common/gpu/media/gpu_video_decode_accelerator.cc File content/common/gpu/media/gpu_video_decode_accelerator.cc (right): https://codereview.chromium.org/826663002/diff/240001/content/common/gpu/media/gpu_video_decode_accelerator.cc#newcode273 content/common/gpu/media/gpu_video_decode_accelerator.cc:273: std::vector<GpuVideoDecodeAccelerator::CreateVDACb> create_vda_cbs; On 2015/01/05 23:50:05, piman ...
5 years, 11 months ago (2015-01-06 08:13:40 UTC) #23
piman
LGTM, but I would still prefer if we didn't add to the list the factory ...
5 years, 11 months ago (2015-01-06 17:48:50 UTC) #24
Pawel Osciak
On 2015/01/06 17:48:50, piman (Very slow to review) wrote: > LGTM, but I would still ...
5 years, 11 months ago (2015-01-07 04:04:31 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/826663002/260001
5 years, 11 months ago (2015-01-07 04:05:39 UTC) #27
Pawel Osciak
On 2015/01/06 17:48:50, piman (Very slow to review) wrote: > LGTM, but I would still ...
5 years, 11 months ago (2015-01-07 04:06:32 UTC) #28
commit-bot: I haz the power
Committed patchset #14 (id:260001)
5 years, 11 months ago (2015-01-07 04:54:55 UTC) #29
commit-bot: I haz the power
Patchset 14 (id:??) landed as https://crrev.com/fce5ccd14c3676b960917c095a050b7a76b15227 Cr-Commit-Position: refs/heads/master@{#310232}
5 years, 11 months ago (2015-01-07 04:55:40 UTC) #30
nhiroki
5 years, 11 months ago (2015-01-07 05:45:19 UTC) #31
Message was sent while issue was closed.
A revert of this CL (patchset #14 id:260001) has been created in
https://codereview.chromium.org/832383004/ by nhiroki@chromium.org.

The reason for reverting is: This causes compile failure on "Linux ChromiumOS
Ozone Builder Build"
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%2....

Powered by Google App Engine
This is Rietveld 408576698