|
|
(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
|
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
|
Total messages: 16 (16 generated)
|