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

Issue 2684993005: (NotForReview) Enable YUV video overlay on Skylake ChromeOS.

Created:
3 years, 10 months ago by dshwang
Modified:
3 years, 9 months ago
CC:
chromium-reviews, rjkroege, mlamouri+watch-content_chromium.org, feature-media-reviews_chromium.org, creis+watch_chromium.org, qsr+mojo_chromium.org, danakj+watch_chromium.org, viettrungluu+watch_chromium.org, posciak+watch_chromium.org, nasko+codewatch_chromium.org, jam, yzshen+watch_chromium.org, abarth-chromium, jbauman+watch_chromium.org, Aaron Boodman, darin-cc_chromium.org, piman+watch_chromium.org, ozone-reviews_chromium.org, kalyank, cc-bugs_chromium.org, mac-reviews_chromium.org, darin (slow to review)
Target Ref:
refs/heads/master
Project:
chromium
Visibility:
Public.

Description

(NotForReview) Enable YUV video overlay on Skylake ChromeOS. Add YUYV (i.e YUY2) for video decoder output and using those formats for overlay YUYV is only format supported by all linux stack such as kernel, mesa, and minigbm, so ChromeOS IA prefer to use YUYV for video decoding. This CL changes 1. make gpu decoder (only vaapi) decode on YUYV plane 2. make --enable-gpu-memory-buffer-video-frames choose YUYV if possible 3. make Ozone GBM prefer YUYV rather than UYUV About 1, check the change of media/gpu/vaapi_video_decode_accelerator.cc About 2, check the change of content/renderer/media/renderer_gpu_video_accelerator_factories.cc and gpu/command_buffer/service/feature_info.cc About 3, check the change of ui/ozone/platform/drm/gpu/drm_overlay_validator.cc This CL is based on Johnson Lin's implementaion https://codereview.chromium.org/2636433003/ Test results of power consumption: 8.8% power save. Check more detail in crbug.com/683347 BUG=683347 TEST=run relevant unittests run chrome on http://www.quirksmode.org/html5/tests/video.html with all possible configurations * decoding configuration * gpu decoding: N/A * pure software decoding: --disable-accelerated-video-decode * GMB video frame: --disable-accelerated-video-decode --enable-native-gpu-memory-buffers --enable-gpu-memory-buffer-video-frames * overlay configurations * atomic mode setting: --enable-hardware-overlays --enable-drm-atomic * legacy mode setting: --enable-hardware-overlays * no overlay: N/A CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;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

Patch Set 1 #

Patch Set 2 : rebase to ToT #

Patch Set 3 : rebase to ToT (Mar/27) #

Unified diffs Side-by-side diffs Delta from patch set Stats (+537 lines, -290 lines) Patch
M cc/ipc/cc_param_traits_macros.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/ipc/cc_param_traits_unittest.cc View 1 3 chunks +3 lines, -1 line 0 comments Download
M cc/ipc/quads.mojom View 1 2 chunks +2 lines, -0 lines 0 comments Download
M cc/ipc/quads_struct_traits.h View 1 2 chunks +7 lines, -0 lines 0 comments Download
M cc/ipc/quads_struct_traits.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M cc/ipc/struct_traits_unittest.cc View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M cc/layers/video_layer_impl.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/layers/video_layer_impl.cc View 4 chunks +58 lines, -2 lines 0 comments Download
M cc/output/overlay_candidate.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M cc/output/overlay_unittest.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M cc/quads/draw_quad_unittest.cc View 1 2 2 chunks +10 lines, -6 lines 0 comments Download
M cc/quads/stream_video_draw_quad.h View 1 2 3 chunks +4 lines, -0 lines 0 comments Download
M cc/quads/stream_video_draw_quad.cc View 4 chunks +5 lines, -0 lines 0 comments Download
M cc/resources/video_resource_updater.h View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M cc/resources/video_resource_updater.cc View 1 2 5 chunks +5 lines, -2 lines 0 comments Download
M cc/resources/video_resource_updater_unittest.cc View 1 2 4 chunks +53 lines, -6 lines 0 comments Download
M cc/test/render_pass_test_utils.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M components/exo/buffer.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M content/browser/compositor/gpu_process_transport_factory.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M content/browser/gpu/browser_gpu_memory_buffer_manager.h View 1 chunk +1 line, -1 line 0 comments Download
M content/browser/gpu/compositor_util.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M content/browser/gpu/gpu_internals_ui.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download
M content/browser/renderer_host/render_process_host_impl.cc View 1 2 2 chunks +3 lines, -1 line 0 comments Download
M content/renderer/media/renderer_gpu_video_accelerator_factories.cc View 2 chunks +15 lines, -1 line 0 comments Download
M content/renderer/render_thread_impl_browsertest.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M gpu/command_buffer/common/gpu_memory_buffer_support.cc View 4 chunks +9 lines, -0 lines 0 comments Download
M gpu/command_buffer/service/feature_info.cc View 1 2 3 chunks +17 lines, -5 lines 0 comments Download
M gpu/command_buffer/tests/gl_gpu_memory_buffer_unittest.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M gpu/ipc/client/gpu_memory_buffer_impl_shared_memory.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M gpu/ipc/common/BUILD.gn View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_memory_buffer_support.h View 2 chunks +32 lines, -0 lines 0 comments Download
M gpu/ipc/common/gpu_memory_buffer_support.cc View 1 2 4 chunks +106 lines, -0 lines 0 comments Download
A gpu/ipc/common/gpu_switches.h View 1 chunk +19 lines, -0 lines 0 comments Download
A + gpu/ipc/common/gpu_switches.cc View 1 chunk +1 line, -1 line 0 comments Download
M gpu/ipc/host/BUILD.gn View 2 chunks +0 lines, -6 lines 0 comments Download
D gpu/ipc/host/gpu_memory_buffer_support.h View 1 chunk +0 lines, -46 lines 0 comments Download
D gpu/ipc/host/gpu_memory_buffer_support.cc View 1 2 1 chunk +0 lines, -117 lines 0 comments Download
D gpu/ipc/host/gpu_switches.h View 1 chunk +0 lines, -17 lines 0 comments Download
D gpu/ipc/host/gpu_switches.cc View 1 chunk +0 lines, -16 lines 0 comments Download
M media/base/video_frame.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M media/gpu/vaapi_drm_picture.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M media/gpu/vaapi_video_decode_accelerator.cc View 1 2 chunks +4 lines, -3 lines 0 comments Download
M media/gpu/vaapi_wrapper.cc View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M media/renderers/gpu_video_accelerator_factories.h View 1 chunk +1 line, -0 lines 0 comments Download
M media/renderers/mock_gpu_video_accelerator_factories.cc View 1 chunk +2 lines, -1 line 0 comments Download
M media/renderers/skcanvas_video_renderer.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M media/video/gpu_memory_buffer_video_frame_pool.cc View 8 chunks +49 lines, -0 lines 0 comments Download
M media/video/gpu_memory_buffer_video_frame_pool_unittest.cc View 1 chunk +16 lines, -0 lines 0 comments Download
M services/ui/common/BUILD.gn View 1 chunk +0 lines, -1 line 0 comments Download
M services/ui/common/DEPS View 1 chunk +0 lines, -1 line 0 comments Download
M services/ui/common/server_gpu_memory_buffer_manager.h View 1 chunk +1 line, -1 line 0 comments Download
M ui/gfx/buffer_format_util.cc View 5 chunks +14 lines, -16 lines 0 comments Download
M ui/gfx/buffer_types.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M ui/gfx/linux/client_native_pixmap_factory_dmabuf.cc View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M ui/gfx/mac/io_surface.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M ui/gfx/mojo/buffer_types.mojom View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M ui/gfx/mojo/buffer_types_struct_traits.h View 1 2 2 chunks +4 lines, -0 lines 0 comments Download
M ui/gl/gl_image_io_surface.mm View 4 chunks +4 lines, -0 lines 0 comments Download
M ui/gl/gl_image_memory.cc View 7 chunks +7 lines, -0 lines 0 comments Download
M ui/gl/gl_image_native_pixmap.cc View 1 2 5 chunks +7 lines, -0 lines 0 comments Download
M ui/gl/test/gl_image_test_support.cc View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M ui/ozone/platform/drm/common/drm_util.cc View 1 2 3 chunks +6 lines, -0 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_overlay_validator.cc View 1 2 2 chunks +3 lines, -2 lines 0 comments Download
M ui/ozone/platform/drm/gpu/drm_overlay_validator_unittest.cc View 1 2 19 chunks +23 lines, -23 lines 0 comments Download

Messages

Total messages: 16 (16 generated)
dshwang
Description was changed from ========== (NotForReview) Enable YUV video overlay on Skylake ChromeOS. Add YUYV ...
3 years, 10 months ago (2017-02-09 04:48:43 UTC) #1
dshwang
Description was changed from ========== (NotForReview) Enable YUV video overlay on Skylake ChromeOS. Add YUYV ...
3 years, 10 months ago (2017-02-09 04:48:46 UTC) #2
inactive_dshwang_plz_cc_intel
The CQ bit was checked by dongseong.hwang@chromium.org to run a CQ dry run
3 years, 10 months ago (2017-02-09 04:48:57 UTC) #3
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2684993005/1
3 years, 10 months ago (2017-02-09 04:49:50 UTC) #4
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
3 years, 10 months ago (2017-02-09 06:28:52 UTC) #5
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
3 years, 10 months ago (2017-02-09 06:28:54 UTC) #6
dshwang
Description was changed from ========== (NotForReview) Enable YUV video overlay on Skylake ChromeOS. Add YUYV ...
3 years, 9 months ago (2017-03-07 23:08:59 UTC) #7
inactive_dshwang_plz_cc_intel
The CQ bit was checked by dongseong.hwang@chromium.org to run a CQ dry run
3 years, 9 months ago (2017-03-07 23:11:05 UTC) #8
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2684993005/20001
3 years, 9 months ago (2017-03-07 23:11:56 UTC) #9
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
3 years, 9 months ago (2017-03-07 23:26:33 UTC) #10
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_tsan_rel_ng/builds/28295) linux_optional_gpu_tests_rel on ...
3 years, 9 months ago (2017-03-07 23:26:34 UTC) #11
inactive_dshwang_plz_cc_intel
The CQ bit was checked by dongseong.hwang@chromium.org to run a CQ dry run
3 years, 9 months ago (2017-03-07 23:28:01 UTC) #12
dshwang
Patchset #2 (id:20001) has been deleted
3 years, 9 months ago (2017-03-07 23:28:06 UTC) #13
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2684993005/40001
3 years, 9 months ago (2017-03-07 23:29:08 UTC) #14
commit-bot: I haz the power
The CQ bit was unchecked by commit-bot@chromium.org
3 years, 9 months ago (2017-03-08 02:15:07 UTC) #15
commit-bot: I haz the power
3 years, 9 months ago (2017-03-08 02:15:08 UTC) #16
Dry run: This issue passed the CQ dry run.

Powered by Google App Engine
This is Rietveld 408576698