New issue
Advanced search Search tips

Issue 664652 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 2
Type: Feature

Blocking:
issue 638664



Sign in to add a comment

Enable HW H264 encoding by default on Android

Project Member Reported by braveyao@chromium.org, Nov 11 2016

Issue description

HW H264 implementation is ready for certain chips on Android and currently  is still disabled by default with a flag.
We decide to enable it by default now, still behind a flag,  since h264 is not the default codec in webrtc calls if apps don't promote it. So the impact will be under control if anything doesn't work out.

BTW: HW VP8/9 will keep disabled by default.
 
Blocking: 638664
Components: -Internals>WebRTC Blink>WebRTC
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 9 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f

commit dae42d9a0ed4b75e0c6064d715da8bcb26603b3f
Author: braveyao <braveyao@chromium.org>
Date: Fri Dec 09 22:04:20 2016

Android: enable WebRTC HW H264 with a flag by default

This cl is to enable HW H264 encoding on Android by default, with a flag.
This feature is firstly introduced in crbug/615108 (cl
https://codereview.chromium.org/2358683002), disabled by default with
a combined flag for both VP8 and H264. Now we separate the flag into
two and still keep VP8 HW encoder disabled by default.

BUG= 664652 

Review-Url: https://codereview.chromium.org/2549283002
Cr-Commit-Position: refs/heads/master@{#437665}

[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/chrome/app/generated_resources.grd
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/chrome/browser/about_flags.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/public/common/content_features.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/public/common/content_features.h
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/public/common/content_switches.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/public/common/content_switches.h
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/renderer/media/gpu/rtc_video_encoder_factory.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
[modify] https://crrev.com/dae42d9a0ed4b75e0c6064d715da8bcb26603b3f/tools/metrics/histograms/histograms.xml

Cc: niklase@chromium.org
Status: Fixed (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, Dec 13 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6a40d9532e6250b764ca18593c1a4ff1c397b6f8

commit 6a40d9532e6250b764ca18593c1a4ff1c397b6f8
Author: braveyao <braveyao@chromium.org>
Date: Tue Dec 13 23:30:26 2016

Disable HW accelerator for Cast on Android

HW accelerator use to be disabled for all on Android. Now we enable H264 HW
accelerator on Android for RTC only in crbug/664652. So keep it disabled for Cast at present.

BUG= 664652 

Review-Url: https://codereview.chromium.org/2573873002
Cr-Commit-Position: refs/heads/master@{#438335}

[modify] https://crrev.com/6a40d9532e6250b764ca18593c1a4ff1c397b6f8/content/public/renderer/video_encode_accelerator.cc

Blocking: -638664

Comment 7 by mcasas@chromium.org, Dec 19 2016

Blocking: 638664
Project Member

Comment 8 by bugdroid1@chromium.org, Jan 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e29be16f1013dfa1f3f5f2e8108152aca312fa9a

commit e29be16f1013dfa1f3f5f2e8108152aca312fa9a
Author: braveyao <braveyao@chromium.org>
Date: Tue Jan 17 18:53:35 2017

Restore switch kDisableWebRtcHWEncoding

In cl https://codereview.chromium.org/2549283002/, kDisableWebRtcHWEncoding was
renamed to kDisableWebRtcHWVP8Encoding by the review comments. And as posciak@
mentioned later in that cl:
-------------------------------------------------------------------------------
kDisableWebRtcHWEncoding was essential for Chrome OS as we had an ability to
have a global switch to disable all HW encoding with it, including both H264 and
VP8 encoding.
It's very useful and widely documented and known, and used by QA and developers.
We would really prefer to keep it please.
-------------------------------------------------------------------------------

So kDisableWabRtcHWEncoding is restored here.

BUG= 664652 

Review-Url: https://codereview.chromium.org/2573933002
Cr-Commit-Position: refs/heads/master@{#444102}

[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/chrome/app/generated_resources.grd
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/chrome/browser/about_flags.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/chrome/browser/chromeos/login/chrome_restart_request.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/browser/gpu/compositor_util.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/browser/gpu/gpu_data_manager_impl_private.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/browser/gpu/gpu_process_host.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/browser/renderer_host/render_process_host_impl.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/public/browser/gpu_utils.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/public/common/content_switches.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/public/common/content_switches.h
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/content/renderer/media/webrtc/peer_connection_dependency_factory.cc
[modify] https://crrev.com/e29be16f1013dfa1f3f5f2e8108152aca312fa9a/tools/metrics/histograms/histograms.xml

Sign in to add a comment