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

Issue 2358683002: Android: enable/disable WebRTC HW H264 with a flag. (Closed)

Created:
4 years, 3 months ago by braveyao
Modified:
4 years, 2 months ago
CC:
asvitkine+watch_chromium.org, avayvod+watch_chromium.org, chromium-reviews, darin-cc_chromium.org, feature-media-reviews_chromium.org, jam, mcasas+watch+vc_chromium.org, miu+watch_chromium.org, mlamouri+watch-content_chromium.org, mlamouri+watch-media_chromium.org, piman+watch_chromium.org, posciak+watch_chromium.org
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Android: enable/disable WebRTC HW H264 with a flag. This cl is to enable/disable HW H264 codec on Android by expanding an existing flag. Qcom and Exynos codecs (with given minimum SDKs) are white-listed at this stage. Also there is a black list to excludes known models with poor performance. This cl also includes some basic performance tuning to make sure video works normally under most common scenarios. More study on it will be done in the following working. BUG = 615108 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel Committed: https://crrev.com/899bc7e19a29e09965d6954a51dde29999ac815b Cr-Commit-Position: refs/heads/master@{#425819}

Patch Set 1 #

Total comments: 2

Patch Set 2 : expanding existing switch flag instead of add one more feature #

Total comments: 18

Patch Set 3 : address comments #

Total comments: 2

Patch Set 4 : loop codecs in fineHWEncoder() and other fixes. #

Total comments: 26

Patch Set 5 : adopt enum instead and address other comments #

Total comments: 4

Patch Set 6 : add back the removed entry in software_rendering_list_jason.cc and remove the change in gpu_data_manager_impl_private.cc #

Total comments: 4

Patch Set 7 : address comments #

Patch Set 8 : rebase to Oct17 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+257 lines, -50 lines) Patch
M chrome/app/generated_resources.grd View 1 2 3 4 5 6 7 1 chunk +12 lines, -0 lines 0 comments Download
M chrome/browser/about_flags.cc View 1 2 3 4 5 6 7 2 chunks +14 lines, -1 line 0 comments Download
M content/public/browser/gpu_utils.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M content/public/common/content_switches.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M content/public/common/content_switches.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -0 lines 0 comments Download
M content/renderer/media/gpu/rtc_video_encoder_factory.cc View 1 2 3 4 3 chunks +17 lines, -3 lines 0 comments Download
M content/renderer/media/webrtc/peer_connection_dependency_factory.cc View 1 2 3 4 5 6 7 1 chunk +4 lines, -1 line 0 comments Download
M gpu/config/software_rendering_list_json.cc View 1 2 3 4 5 6 7 2 chunks +12 lines, -1 line 0 comments Download
M media/base/android/java/src/org/chromium/media/MediaCodecBridge.java View 1 2 3 4 5 6 7 4 chunks +4 lines, -3 lines 0 comments Download
M media/base/android/java/src/org/chromium/media/MediaCodecUtil.java View 1 2 3 4 3 chunks +122 lines, -1 line 0 comments Download
M media/base/android/media_codec_util.h View 1 chunk +3 lines, -0 lines 0 comments Download
M media/base/android/media_codec_util.cc View 1 2 3 4 5 6 7 2 chunks +13 lines, -0 lines 0 comments Download
M media/gpu/android_video_encode_accelerator.h View 1 2 3 4 2 chunks +5 lines, -4 lines 0 comments Download
M media/gpu/android_video_encode_accelerator.cc View 1 2 3 4 7 chunks +42 lines, -35 lines 0 comments Download

Messages

Total messages: 80 (50 generated)
braveyao
Hi dalecurtis@, could you please have a first look at this cl when you get ...
4 years, 3 months ago (2016-09-20 23:35:47 UTC) #5
DaleCurtis
Sorry this slipped off the active review list. Please ping if you don't hear from ...
4 years, 2 months ago (2016-09-23 17:56:39 UTC) #8
braveyao
On 2016/09/23 17:56:39, DaleCurtis wrote: > Sorry this slipped off the active review list. Please ...
4 years, 2 months ago (2016-09-23 18:27:27 UTC) #9
DaleCurtis
How does having a separate flag let you control Android separately? Can't you just change ...
4 years, 2 months ago (2016-09-23 20:40:40 UTC) #10
braveyao
On 2016/09/23 20:40:40, DaleCurtis wrote: > How does having a separate flag let you control ...
4 years, 2 months ago (2016-09-23 23:31:30 UTC) #11
sakal-chromium
https://codereview.chromium.org/2358683002/diff/1/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java File media/base/android/java/src/org/chromium/media/MediaCodecUtil.java (right): https://codereview.chromium.org/2358683002/diff/1/media/base/android/java/src/org/chromium/media/MediaCodecUtil.java#newcode378 media/base/android/java/src/org/chromium/media/MediaCodecUtil.java:378: new MediaCodecProperties("OMX.Exynos.", Build.VERSION_CODES.M); You might want to consider adding ...
4 years, 2 months ago (2016-09-26 11:42:04 UTC) #12
braveyao
Hi dalecurtis@, please take a look to the new patchset, in which I expanded the ...
4 years, 2 months ago (2016-09-28 21:42:06 UTC) #17
DaleCurtis
https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc File content/renderer/media/gpu/rtc_video_encoder_factory.cc (right): https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc#newcode19 content/renderer/media/gpu/rtc_video_encoder_factory.cc:19: const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess(); Pass in? https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc#newcode21 content/renderer/media/gpu/rtc_video_encoder_factory.cc:21: ...
4 years, 2 months ago (2016-09-29 00:31:36 UTC) #18
braveyao
Thanks so much! All addressed/responded. PTAL! https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc File content/renderer/media/gpu/rtc_video_encoder_factory.cc (right): https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc#newcode19 content/renderer/media/gpu/rtc_video_encoder_factory.cc:19: const base::CommandLine* cmd_line ...
4 years, 2 months ago (2016-09-29 19:26:26 UTC) #23
DaleCurtis
https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc File content/renderer/media/gpu/rtc_video_encoder_factory.cc (right): https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc#newcode60 content/renderer/media/gpu/rtc_video_encoder_factory.cc:60: if (cmd_line->HasSwitch(switches::kEnableWebRtcHWH264Encoding) || On 2016/09/29 at 19:26:26, braveyao wrote: ...
4 years, 2 months ago (2016-09-29 19:34:14 UTC) #24
DaleCurtis
=>watk since I'll be OOO soon.
4 years, 2 months ago (2016-09-30 18:06:13 UTC) #26
braveyao
Thanks for the comments! All addressed/responded. PTAL. https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc File content/renderer/media/gpu/rtc_video_encoder_factory.cc (right): https://codereview.chromium.org/2358683002/diff/20001/content/renderer/media/gpu/rtc_video_encoder_factory.cc#newcode60 content/renderer/media/gpu/rtc_video_encoder_factory.cc:60: if (cmd_line->HasSwitch(switches::kEnableWebRtcHWH264Encoding) ...
4 years, 2 months ago (2016-09-30 18:22:02 UTC) #29
watk
https://codereview.chromium.org/2358683002/diff/60001/chrome/browser/about_flags.cc File chrome/browser/about_flags.cc (right): https://codereview.chromium.org/2358683002/diff/60001/chrome/browser/about_flags.cc#newcode678 chrome/browser/about_flags.cc:678: switches::kDisableWebRtcHWEncodingNone}, The double negative is confusing. Can it be ...
4 years, 2 months ago (2016-10-01 01:06:54 UTC) #32
braveyao
Hi,watk@, thanks so much for the comments! All addressed/responded. PTAL. https://codereview.chromium.org/2358683002/diff/60001/chrome/browser/about_flags.cc File chrome/browser/about_flags.cc (right): https://codereview.chromium.org/2358683002/diff/60001/chrome/browser/about_flags.cc#newcode678 ...
4 years, 2 months ago (2016-10-03 23:50:15 UTC) #35
watk
Thanks! lgtm
4 years, 2 months ago (2016-10-04 00:34:59 UTC) #38
braveyao
+ cpu@, for OWNERS' approval to content/browser and content/public. Thanks!
4 years, 2 months ago (2016-10-04 16:59:44 UTC) #40
braveyao
+ kbr@ for OWNER's approval to content/browser/gpu/gpu_data_manager_impl_private.cc.
4 years, 2 months ago (2016-10-06 22:40:57 UTC) #43
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc File content/browser/gpu/gpu_data_manager_impl_private.cc (right): https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc#newcode690 content/browser/gpu/gpu_data_manager_impl_private.cc:690: } Is there a reason to not just handle ...
4 years, 2 months ago (2016-10-06 23:23:09 UTC) #44
braveyao
Thanks kbr@. There's history for the change. Please help to suggest which one is better. ...
4 years, 2 months ago (2016-10-06 23:31:05 UTC) #45
Ken Russell (switch to Gerrit)
https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc File content/browser/gpu/gpu_data_manager_impl_private.cc (right): https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc#newcode690 content/browser/gpu/gpu_data_manager_impl_private.cc:690: } On 2016/10/06 23:31:05, braveyao wrote: > On 2016/10/06 ...
4 years, 2 months ago (2016-10-07 00:46:51 UTC) #46
braveyao
Thanks kbr@ for the clarification! Comments addressed. PTAL. https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc File content/browser/gpu/gpu_data_manager_impl_private.cc (right): https://codereview.chromium.org/2358683002/diff/80001/content/browser/gpu/gpu_data_manager_impl_private.cc#newcode690 content/browser/gpu/gpu_data_manager_impl_private.cc:690: } ...
4 years, 2 months ago (2016-10-07 00:59:23 UTC) #48
Ken Russell (switch to Gerrit)
Thanks, looks better. Couple of small fixes please. https://codereview.chromium.org/2358683002/diff/100001/gpu/config/software_rendering_list_json.cc File gpu/config/software_rendering_list_json.cc (right): https://codereview.chromium.org/2358683002/diff/100001/gpu/config/software_rendering_list_json.cc#newcode21 gpu/config/software_rendering_list_json.cc:21: "version": ...
4 years, 2 months ago (2016-10-07 01:02:49 UTC) #49
braveyao
Thanks for the quick check! All addressed. PTAL. https://codereview.chromium.org/2358683002/diff/100001/gpu/config/software_rendering_list_json.cc File gpu/config/software_rendering_list_json.cc (right): https://codereview.chromium.org/2358683002/diff/100001/gpu/config/software_rendering_list_json.cc#newcode21 gpu/config/software_rendering_list_json.cc:21: "version": ...
4 years, 2 months ago (2016-10-07 01:13:46 UTC) #50
Ken Russell (switch to Gerrit)
Thanks for the updates. LGTM
4 years, 2 months ago (2016-10-07 01:25:34 UTC) #51
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2358683002/160001
4 years, 2 months ago (2016-10-17 22:45:52 UTC) #70
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/283099)
4 years, 2 months ago (2016-10-17 22:56:24 UTC) #72
cpu_(ooo_6.6-7.5)
lgtm
4 years, 2 months ago (2016-10-17 23:44:08 UTC) #74
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2358683002/160001
4 years, 2 months ago (2016-10-17 23:48:13 UTC) #76
commit-bot: I haz the power
Committed patchset #8 (id:160001)
4 years, 2 months ago (2016-10-17 23:55:35 UTC) #78
commit-bot: I haz the power
4 years, 2 months ago (2016-10-17 23:59:01 UTC) #80
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/899bc7e19a29e09965d6954a51dde29999ac815b
Cr-Commit-Position: refs/heads/master@{#425819}

Powered by Google App Engine
This is Rietveld 408576698