diff options
Diffstat (limited to 'chromium/build/patches')
-rw-r--r-- | chromium/build/patches/chromium_vaapi.patch | 667 |
1 files changed, 470 insertions, 197 deletions
diff --git a/chromium/build/patches/chromium_vaapi.patch b/chromium/build/patches/chromium_vaapi.patch index ae114c6d..05b2fe52 100644 --- a/chromium/build/patches/chromium_vaapi.patch +++ b/chromium/build/patches/chromium_vaapi.patch @@ -1,16 +1,21 @@ -Description: -Enables using VA-API hardware acceleration in Linux. The patch for bpf_gpu_policy_linux.cc initially came from https://codereview.chromium.org/15955009/diff/92001/content/common/sandbox_linux/bpf_gpu_policy_linux.cc - Taken from: -https://github.com/saiarcot895/chromium-ubuntu-build/blob/master/debian/patches/enable_vaapi_on_linux.diff -And rebased against chromium 52.0.2743.82 sources. +https://aur.archlinux.org/cgit/aur.git/tree/?h=chromium-vaapi -------- -diff -uarN chromium-52.0.2743.82.orig/chrome/browser/about_flags.cc chromium-52.0.2743.82/chrome/browser/about_flags.cc ---- chromium-52.0.2743.82.orig/chrome/browser/about_flags.cc 2016-07-20 21:03:19.000000000 +0200 -+++ chromium-52.0.2743.82/chrome/browser/about_flags.cc 2016-07-24 00:48:52.405998826 +0200 -@@ -866,7 +866,7 @@ +Originally from https://raw.githubusercontent.com/saiarcot895/chromium-ubuntu-build/master/debian/patches/enable_vaapi_on_linux.diff +Thanks to Saikrishna Arcot (saiarcot895) + +Refactored for Chromium 53 by Samantha McVey (samcv) samantham@posteo.net + +Description: Enables using VA-API hardware acceleration in Linux. The patch for +bpf_gpu_policy_linux.cc initially came from +https://codereview.chromium.org/15955009/diff/92001/content/common/sandbox_linux/bpf_gpu_policy_linux.cc. + +diff -aur chromium-53.0.2785.89.orig/chrome/browser/about_flags.cc chromium-53.0.2785.89/chrome/browser/about_flags.cc +--- chromium-53.0.2785.89.orig/chrome/browser/about_flags.cc 2016-08-31 15:03:27.000000000 -0700 ++++ chromium-53.0.2785.89/chrome/browser/about_flags.cc 2016-09-02 01:35:26.221664850 -0700 +@@ -931,7 +931,7 @@ "disable-accelerated-video-decode", IDS_FLAGS_ACCELERATED_VIDEO_DECODE_NAME, IDS_FLAGS_ACCELERATED_VIDEO_DECODE_DESCRIPTION, @@ -19,13 +24,13 @@ diff -uarN chromium-52.0.2743.82.orig/chrome/browser/about_flags.cc chromium-52. SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode), }, #if defined(USE_ASH) -diff -uarN chromium-52.0.2743.82.orig/content/common/BUILD.gn chromium-52.0.2743.82/content/common/BUILD.gn ---- chromium-52.0.2743.82.orig/content/common/BUILD.gn 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/common/BUILD.gn 2016-07-24 00:48:52.424001531 +0200 -@@ -11,6 +11,49 @@ +diff -aur chromium-53.0.2785.89.orig/content/common/BUILD.gn chromium-53.0.2785.89/content/common/BUILD.gn +--- chromium-53.0.2785.89.orig/content/common/BUILD.gn 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/common/BUILD.gn 2016-09-02 01:35:26.224998192 -0700 +@@ -12,6 +12,49 @@ import("//build/config/mac/mac_sdk.gni") } - + +if ((is_desktop_linux || is_chromeos) && current_cpu != "arm") { + action("libva_generate_stubs") { + extra_header = "../../media/gpu/va_stub_header.fragment" @@ -72,8 +77,8 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/BUILD.gn chromium-52.0.2743 source_set("common") { # Targets external to content should always link to the public API. # In addition, targets outside of the content component (shell and tests) -@@ -178,6 +221,15 @@ - +@@ -183,6 +226,15 @@ + if (use_seccomp_bpf) { defines += [ "USE_SECCOMP_BPF" ] + if (current_cpu != "arm" && is_desktop_linux) { @@ -88,9 +93,9 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/BUILD.gn chromium-52.0.2743 } else { if (is_linux) { sources -= [ -diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc chromium-52.0.2743.82/content/common/sandbox_linux/bpf_gpu_policy_linux.cc ---- chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2016-07-24 00:48:52.425001682 +0200 +diff -aur chromium-53.0.2785.89.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc chromium-53.0.2785.89/content/common/sandbox_linux/bpf_gpu_policy_linux.cc +--- chromium-53.0.2785.89.orig/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/common/sandbox_linux/bpf_gpu_policy_linux.cc 2016-09-02 01:35:26.224998192 -0700 @@ -23,6 +23,12 @@ #include "base/macros.h" #include "base/memory/ptr_util.h" @@ -107,7 +112,7 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic @@ -34,6 +40,14 @@ #include "sandbox/linux/syscall_broker/broker_process.h" #include "sandbox/linux/system_headers/linux_syscalls.h" - + +#if !defined(__arm__) +#include "third_party/libva/va/va.h" +#include "third_party/libva/va/va_x11.h" @@ -122,7 +127,7 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic @@ -42,6 +56,16 @@ using sandbox::syscall_broker::BrokerProcess; using sandbox::SyscallSets; - + +#if !defined(__arm__) +using content_common::kModuleVa; +using content_common::kModuleVa_x11; @@ -134,10 +139,10 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic +#endif + namespace content { - + namespace { @@ -96,7 +120,7 @@ - + bool IsAcceleratedVaapiVideoEncodeEnabled() { bool accelerated_encode_enabled = false; -#if defined(OS_CHROMEOS) @@ -148,7 +153,7 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic @@ -297,32 +321,72 @@ GpuBrokerProcessPolicy::Create, std::vector<BrokerFilePermission>()); // No extra files in whitelist. - + +#if !defined(__arm__) if (IsArchitectureX86_64() || IsArchitectureI386()) { // Accelerated video dlopen()'s some shared objects @@ -174,7 +179,7 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic + LOG(WARNING) << "Failed to initialize stubs"; + return true; } - + - dlopen(I965DrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); - if (I965HybridDrvVideoPath) - dlopen(I965HybridDrvVideoPath, RTLD_NOW|RTLD_GLOBAL|RTLD_NODELETE); @@ -232,25 +237,13 @@ diff -uarN chromium-52.0.2743.82.orig/content/common/sandbox_linux/bpf_gpu_polic #endif - } - } - + return true; } -diff -uarN chromium-52.0.2743.82.orig/content/common/va_wayland.sigs chromium-52.0.2743.82/content/common/va_wayland.sigs ---- chromium-52.0.2743.82.orig/content/common/va_wayland.sigs 1970-01-01 01:00:00.000000000 +0100 -+++ chromium-52.0.2743.82/content/common/va_wayland.sigs 2016-07-24 00:48:52.425001682 +0200 -@@ -0,0 +1,8 @@ -+// Copyright 2014 The Chromium Authors. All rights reserved. -+// Use of this source code is governed by a BSD-style license that can be -+// found in the LICENSE file. -+ -+//------------------------------------------------ -+// Functions from libva-wayland used in chromium code. -+//------------------------------------------------ -+VADisplay vaGetDisplayWl(struct wl_display *display); -diff -uarN chromium-52.0.2743.82.orig/content/content_common.gypi chromium-52.0.2743.82/content/content_common.gypi ---- chromium-52.0.2743.82.orig/content/content_common.gypi 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/content_common.gypi 2016-07-24 00:48:52.495012204 +0200 -@@ -650,6 +650,52 @@ +diff -aur chromium-53.0.2785.89.orig/content/content_common.gypi chromium-53.0.2785.89/content/content_common.gypi +--- chromium-53.0.2785.89.orig/content/content_common.gypi 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/content_common.gypi 2016-09-02 01:35:26.224998192 -0700 +@@ -642,6 +642,52 @@ ], }, { 'defines': ['USE_SECCOMP_BPF'], @@ -303,9 +296,9 @@ diff -uarN chromium-52.0.2743.82.orig/content/content_common.gypi chromium-52.0. }], ['use_ozone==1', { 'dependencies': [ -diff -uarN chromium-52.0.2743.82.orig/content/content_gpu.gypi chromium-52.0.2743.82/content/content_gpu.gypi ---- chromium-52.0.2743.82.orig/content/content_gpu.gypi 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/content_gpu.gypi 2016-07-24 00:48:52.425001682 +0200 +diff -aur chromium-53.0.2785.89.orig/content/content_gpu.gypi chromium-53.0.2785.89/content/content_gpu.gypi +--- chromium-53.0.2785.89.orig/content/content_gpu.gypi 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/content_gpu.gypi 2016-09-02 01:35:26.224998192 -0700 @@ -49,7 +49,7 @@ ], }, @@ -315,118 +308,142 @@ diff -uarN chromium-52.0.2743.82.orig/content/content_gpu.gypi chromium-52.0.274 'include_dirs': [ '<(DEPTH)/third_party/libva', ], -diff -uarN chromium-52.0.2743.82.orig/content/gpu/BUILD.gn chromium-52.0.2743.82/content/gpu/BUILD.gn ---- chromium-52.0.2743.82.orig/content/gpu/BUILD.gn 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/gpu/BUILD.gn 2016-07-24 00:48:52.425001682 +0200 +diff -aur chromium-53.0.2785.89.orig/content/gpu/BUILD.gn chromium-53.0.2785.89/content/gpu/BUILD.gn +--- chromium-53.0.2785.89.orig/content/gpu/BUILD.gn 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/gpu/BUILD.gn 2016-09-02 01:35:26.224998192 -0700 @@ -86,7 +86,7 @@ ] } - + - if (is_chromeos && current_cpu != "arm") { + if ((is_desktop_linux || is_chromeos) && current_cpu != "arm") { configs += [ "//third_party/libva:libva_config" ] } - -diff -uarN chromium-52.0.2743.82.orig/content/gpu/gpu_main.cc chromium-52.0.2743.82/content/gpu/gpu_main.cc ---- chromium-52.0.2743.82.orig/content/gpu/gpu_main.cc 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/gpu/gpu_main.cc 2016-07-24 00:48:52.425001682 +0200 + +diff -aur chromium-53.0.2785.89.orig/content/gpu/gpu_main.cc chromium-53.0.2785.89/content/gpu/gpu_main.cc +--- chromium-53.0.2785.89.orig/content/gpu/gpu_main.cc 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/gpu/gpu_main.cc 2016-09-02 01:35:26.224998192 -0700 @@ -75,7 +75,7 @@ #include "content/common/sandbox_mac.h" #endif - + -#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY) #include "media/gpu/vaapi_wrapper.h" #endif - -@@ -252,7 +252,7 @@ + +@@ -253,7 +253,7 @@ GetGpuInfoFromCommandLine(gpu_info, command_line); gpu_info.in_process_gpu = false; - + -#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) +#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY) media::VaapiWrapper::PreSandboxInitialization(); #endif - -diff -uarN chromium-52.0.2743.82.orig/content/public/common/content_switches.cc chromium-52.0.2743.82/content/public/common/content_switches.cc ---- chromium-52.0.2743.82.orig/content/public/common/content_switches.cc 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/public/common/content_switches.cc 2016-07-24 00:48:52.451005590 +0200 -@@ -970,7 +970,9 @@ + +diff -aur chromium-53.0.2785.89.orig/content/public/common/content_switches.cc chromium-53.0.2785.89/content/public/common/content_switches.cc +--- chromium-53.0.2785.89.orig/content/public/common/content_switches.cc 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/public/common/content_switches.cc 2016-09-02 01:35:26.224998192 -0700 +@@ -973,7 +973,9 @@ #if defined(OS_CHROMEOS) // Disables panel fitting (used for mirror mode). const char kDisablePanelFitting[] = "disable-panel-fitting"; +#endif - + +#if defined(OS_CHROMEOS) || defined(OS_LINUX) // Disables VA-API accelerated video encode. const char kDisableVaapiAcceleratedVideoEncode[] = "disable-vaapi-accelerated-video-encode"; -diff -uarN chromium-52.0.2743.82.orig/content/public/common/content_switches.h chromium-52.0.2743.82/content/public/common/content_switches.h ---- chromium-52.0.2743.82.orig/content/public/common/content_switches.h 2016-07-20 21:03:24.000000000 +0200 -+++ chromium-52.0.2743.82/content/public/common/content_switches.h 2016-07-24 00:48:52.463007394 +0200 -@@ -278,6 +278,8 @@ - +diff -aur chromium-53.0.2785.89.orig/content/public/common/content_switches.h chromium-53.0.2785.89/content/public/common/content_switches.h +--- chromium-53.0.2785.89.orig/content/public/common/content_switches.h 2016-08-31 15:03:31.000000000 -0700 ++++ chromium-53.0.2785.89/content/public/common/content_switches.h 2016-09-02 01:35:26.224998192 -0700 +@@ -284,6 +284,8 @@ + #if defined(OS_CHROMEOS) CONTENT_EXPORT extern const char kDisablePanelFitting[]; +#endif +#if defined(OS_CHROMEOS) || defined(OS_LINUX) CONTENT_EXPORT extern const char kDisableVaapiAcceleratedVideoEncode[]; #endif - -diff -uarN chromium-52.0.2743.82.orig/media/BUILD.gn chromium-52.0.2743.82/media/BUILD.gn ---- chromium-52.0.2743.82.orig/media/BUILD.gn 2016-07-20 21:03:25.000000000 +0200 -+++ chromium-52.0.2743.82/media/BUILD.gn 2016-07-24 00:48:52.474009047 +0200 -@@ -339,7 +339,7 @@ + +diff -aur chromium-53.0.2785.89.orig/gpu/command_buffer/service/gpu_preferences.h chromium-53.0.2785.89/gpu/command_buffer/service/gpu_preferences.h +--- chromium-53.0.2785.89.orig/gpu/command_buffer/service/gpu_preferences.h 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/gpu/command_buffer/service/gpu_preferences.h 2016-09-02 01:35:26.221664850 -0700 +@@ -37,7 +37,7 @@ + // Disables hardware acceleration of video decode, where available. + bool disable_accelerated_video_decode = false; + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + // Disables VA-API accelerated video encode. + bool disable_vaapi_accelerated_video_encode = false; + #endif +diff -aur chromium-53.0.2785.89.orig/gpu/config/software_rendering_list_json.cc chromium-53.0.2785.89/gpu/config/software_rendering_list_json.cc +--- chromium-53.0.2785.89.orig/gpu/config/software_rendering_list_json.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/gpu/config/software_rendering_list_json.cc 2016-09-02 01:35:26.224998192 -0700 +@@ -431,17 +431,6 @@ + ] + }, + { +- "id": 48, +- "description": "Accelerated video decode is unavailable on Linux", +- "cr_bugs": [137247], +- "os": { +- "type": "linux" +- }, +- "features": [ +- "accelerated_video_decode" +- ] +- }, +- { + "id": 50, + "description": "Disable VMware software renderer on older Mesa", + "cr_bugs": [145531, 332596, 571899], +diff -aur chromium-53.0.2785.89.orig/media/BUILD.gn chromium-53.0.2785.89/media/BUILD.gn +--- chromium-53.0.2785.89.orig/media/BUILD.gn 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/BUILD.gn 2016-09-02 01:35:26.224998192 -0700 +@@ -353,7 +353,7 @@ allow_circular_includes_from = [ "//media/base/android" ] } - + - if (current_cpu != "arm" && is_chromeos) { + if (current_cpu != "arm" && (is_chromeos || is_desktop_linux)) { sources += [ "filters/h264_bitstream_buffer.cc", "filters/h264_bitstream_buffer.h", -@@ -629,7 +629,7 @@ +@@ -650,7 +650,7 @@ } } - + - if (current_cpu != "arm" && is_chromeos) { + if (current_cpu != "arm" && (is_chromeos || is_desktop_linux)) { sources += [ "filters/h264_bitstream_buffer_unittest.cc" ] } - -diff -uarN chromium-52.0.2743.82.orig/media/gpu/BUILD.gn chromium-52.0.2743.82/media/gpu/BUILD.gn ---- chromium-52.0.2743.82.orig/media/gpu/BUILD.gn 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/BUILD.gn 2016-07-24 00:48:52.491011600 +0200 + +diff -aur chromium-53.0.2785.89.orig/media/gpu/BUILD.gn chromium-53.0.2785.89/media/gpu/BUILD.gn +--- chromium-53.0.2785.89.orig/media/gpu/BUILD.gn 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/BUILD.gn 2016-09-02 01:35:26.224998192 -0700 @@ -12,7 +12,7 @@ import("//build/config/mac/mac_sdk.gni") } - + -if (is_chromeos && current_cpu != "arm") { -+if ((is_desktop_linux || is_chromeos) && current_cpu != "arm") { ++if ((is_chromeos || is_linux) && current_cpu != "arm") { action("libva_generate_stubs") { extra_header = "va_stub_header.fragment" - -@@ -229,7 +229,7 @@ - } + +@@ -54,7 +54,7 @@ } - -- if (is_chromeos) { -+ if (is_linux) { - sources += [ - "accelerated_video_decoder.h", - "h264_decoder.cc", -@@ -273,7 +273,7 @@ - "GLESv2", - ] - } -- if (current_cpu == "arm") { -+ if (current_cpu == "arm" && is_chromeos) { - sources += [ - "tegra_v4l2_device.cc", - "tegra_v4l2_device.h", -diff -uarN chromium-52.0.2743.82.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.cc chromium-52.0.2743.82/media/gpu/gpu_video_decode_accelerator_factory_impl.cc ---- chromium-52.0.2743.82.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.cc 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/gpu_video_decode_accelerator_factory_impl.cc 2016-07-24 00:55:56.826782397 +0200 + } + +-if (is_chromeos && use_v4lplugin) { ++if ((is_chromeos || is_linux) && use_v4lplugin) { + action("libv4l2_generate_stubs") { + extra_header = "v4l2_stub_header.fragment" + +diff -aur chromium-53.0.2785.89.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.cc chromium-53.0.2785.89/media/gpu/gpu_video_decode_accelerator_factory_impl.cc +--- chromium-53.0.2785.89.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/gpu_video_decode_accelerator_factory_impl.cc 2016-09-02 01:35:26.224998192 -0700 @@ -14,7 +14,7 @@ #include "media/gpu/dxva_video_decode_accelerator_win.h" #elif defined(OS_MACOSX) @@ -442,124 +459,259 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/gpu_video_decode_accelerator_fac DXVAVideoDecodeAccelerator::GetSupportedProfiles(); -#elif defined(OS_CHROMEOS) +#elif defined(OS_CHROMEOS) || defined(OS_LINUX) - media::VideoDecodeAccelerator::SupportedProfiles vda_profiles; + VideoDecodeAccelerator::SupportedProfiles vda_profiles; #if defined(USE_V4L2_CODEC) vda_profiles = V4L2VideoDecodeAccelerator::GetSupportedProfiles(); -@@ -130,7 +130,7 @@ +@@ -127,11 +127,11 @@ + #if defined(OS_WIN) + &GpuVideoDecodeAcceleratorFactoryImpl::CreateDXVAVDA, + #endif +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) &GpuVideoDecodeAcceleratorFactoryImpl::CreateV4L2VDA, &GpuVideoDecodeAcceleratorFactoryImpl::CreateV4L2SVDA, #endif -#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) &GpuVideoDecodeAcceleratorFactoryImpl::CreateVaapiVDA, #endif #if defined(OS_MACOSX) -@@ -194,10 +194,11 @@ +@@ -169,7 +169,7 @@ } #endif - + +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + std::unique_ptr<VideoDecodeAccelerator> + GpuVideoDecodeAcceleratorFactoryImpl::CreateV4L2VDA( + const gpu::GpuDriverBugWorkarounds& workarounds, +@@ -199,11 +199,12 @@ + } + #endif + -#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY) - std::unique_ptr<media::VideoDecodeAccelerator> ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + std::unique_ptr<VideoDecodeAccelerator> GpuVideoDecodeAcceleratorFactoryImpl::CreateVaapiVDA( + const gpu::GpuDriverBugWorkarounds& workarounds, const gpu::GpuPreferences& gpu_preferences) const { -+ VLOG(1) << "Creating new VAAPI video decode accelerator."; - std::unique_ptr<media::VideoDecodeAccelerator> decoder; ++ VLOG(1) << "Creating new VAAPI video decode accelerator."; + std::unique_ptr<VideoDecodeAccelerator> decoder; decoder.reset(new VaapiVideoDecodeAccelerator(make_context_current_cb_, bind_image_cb_)); -diff -uarN chromium-52.0.2743.82.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.h chromium-52.0.2743.82/media/gpu/gpu_video_decode_accelerator_factory_impl.h ---- chromium-52.0.2743.82.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.h 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/gpu_video_decode_accelerator_factory_impl.h 2016-07-24 00:58:03.895878250 +0200 -@@ -99,7 +99,7 @@ - std::unique_ptr<media::VideoDecodeAccelerator> CreateV4L2SVDA( +diff -aur chromium-53.0.2785.89.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.h chromium-53.0.2785.89/media/gpu/gpu_video_decode_accelerator_factory_impl.h +--- chromium-53.0.2785.89.orig/media/gpu/gpu_video_decode_accelerator_factory_impl.h 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/gpu_video_decode_accelerator_factory_impl.h 2016-09-02 01:35:26.224998192 -0700 +@@ -93,7 +93,7 @@ + const gpu::GpuDriverBugWorkarounds& workarounds, + const gpu::GpuPreferences& gpu_preferences) const; + #endif +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + std::unique_ptr<VideoDecodeAccelerator> CreateV4L2VDA( + const gpu::GpuDriverBugWorkarounds& workarounds, + const gpu::GpuPreferences& gpu_preferences) const; +@@ -101,8 +101,8 @@ + const gpu::GpuDriverBugWorkarounds& workarounds, const gpu::GpuPreferences& gpu_preferences) const; #endif -#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) -+#if (defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY) - std::unique_ptr<media::VideoDecodeAccelerator> CreateVaapiVDA( +- std::unique_ptr<VideoDecodeAccelerator> CreateVaapiVDA( ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) ++ std::unique_ptr<VideoDecodeAccelerator> CreateVaapiVDA( + const gpu::GpuDriverBugWorkarounds& workarounds, const gpu::GpuPreferences& gpu_preferences) const; #endif -diff -uarN chromium-52.0.2743.82.orig/media/gpu/ipc/service/BUILD.gn chromium-52.0.2743.82/media/gpu/ipc/service/BUILD.gn ---- chromium-52.0.2743.82.orig/media/gpu/ipc/service/BUILD.gn 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/ipc/service/BUILD.gn 2016-07-24 00:48:52.492011752 +0200 -@@ -37,7 +37,7 @@ +diff -aur chromium-53.0.2785.89.orig/media/gpu/ipc/service/BUILD.gn chromium-53.0.2785.89/media/gpu/ipc/service/BUILD.gn +--- chromium-53.0.2785.89.orig/media/gpu/ipc/service/BUILD.gn 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/ipc/service/BUILD.gn 2016-09-02 01:35:26.224998192 -0700 +@@ -38,7 +38,7 @@ "//third_party/mesa:mesa_headers", ] - + - if (is_chromeos && current_cpu != "arm") { + if ((is_desktop_linux || is_chromeos) && current_cpu != "arm") { configs += [ "//third_party/libva:libva_config" ] } - -diff -uarN chromium-52.0.2743.82.orig/media/gpu/ipc/service/gpu_video_decode_accelerator.cc chromium-52.0.2743.82/media/gpu/ipc/service/gpu_video_decode_accelerator.cc ---- chromium-52.0.2743.82.orig/media/gpu/ipc/service/gpu_video_decode_accelerator.cc 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/ipc/service/gpu_video_decode_accelerator.cc 2016-07-24 00:48:52.492011752 +0200 + +diff -aur chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_jpeg_decode_accelerator.cc chromium-53.0.2785.89/media/gpu/ipc/service/gpu_jpeg_decode_accelerator.cc +--- chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_jpeg_decode_accelerator.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/ipc/service/gpu_jpeg_decode_accelerator.cc 2016-09-02 01:35:26.228331534 -0700 +@@ -25,7 +25,7 @@ + #include "media/gpu/ipc/common/media_messages.h" + #include "ui/gfx/geometry/size.h" + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + #if defined(ARCH_CPU_X86_FAMILY) + #include "media/gpu/vaapi_jpeg_decode_accelerator.h" + #endif +@@ -381,7 +381,7 @@ + std::unique_ptr<JpegDecodeAccelerator> GpuJpegDecodeAccelerator::CreateV4L2JDA( + const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) { + std::unique_ptr<JpegDecodeAccelerator> decoder; +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + scoped_refptr<V4L2Device> device = + V4L2Device::Create(V4L2Device::kJpegDecoder); + if (device) +@@ -394,7 +394,7 @@ + std::unique_ptr<JpegDecodeAccelerator> GpuJpegDecodeAccelerator::CreateVaapiJDA( + const scoped_refptr<base::SingleThreadTaskRunner>& io_task_runner) { + std::unique_ptr<JpegDecodeAccelerator> decoder; +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + decoder.reset(new VaapiJpegDecodeAccelerator(io_task_runner)); + #endif + return decoder; +diff -aur chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_decode_accelerator.cc chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_decode_accelerator.cc +--- chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_decode_accelerator.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_decode_accelerator.cc 2016-09-02 01:35:26.221664850 -0700 @@ -58,7 +58,7 @@ return true; } - + -#if (defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) ++#if ((defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) static bool BindImage(const base::WeakPtr<gpu::GpuCommandBufferStub>& stub, uint32_t client_texture_id, uint32_t texture_target, -@@ -170,7 +170,7 @@ +@@ -171,7 +171,7 @@ get_gl_context_cb_ = base::Bind(&GetGLContext, stub_->AsWeakPtr()); make_context_current_cb_ = base::Bind(&MakeDecoderContextCurrent, stub_->AsWeakPtr()); -#if (defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) -+#if ((defined(OS_LINUX) || defined(OS_CHROMEOS)) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) ++#if ((defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY)) || defined(OS_MACOSX) bind_image_cb_ = base::Bind(&BindImage, stub_->AsWeakPtr()); #endif get_gles2_decoder_cb_ = base::Bind(&GetGLES2Decoder, stub_->AsWeakPtr()); -diff -uarN chromium-52.0.2743.82.orig/media/gpu/va_stub_header.fragment chromium-52.0.2743.82/media/gpu/va_stub_header.fragment ---- chromium-52.0.2743.82.orig/media/gpu/va_stub_header.fragment 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/va_stub_header.fragment 2016-07-24 00:48:52.492011752 +0200 -@@ -5,8 +5,9 @@ - - #include "third_party/libva/va/drm/va_drm.h" - #include "third_party/libva/va/va.h" --#if defined(USE_X11) - #include "third_party/libva/va/va_x11.h" -+#if defined(USE_OZONE) -+#include "third_party/libva/va/wayland/va_wayland.h" +diff -aur chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_encode_accelerator.cc chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_encode_accelerator.cc +--- chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_encode_accelerator.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_encode_accelerator.cc 2016-09-02 01:35:26.221664850 -0700 +@@ -24,7 +24,7 @@ + #include "media/gpu/gpu_video_accelerator_util.h" + #include "media/gpu/ipc/common/media_messages.h" + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + #if defined(USE_V4L2_CODEC) + #include "media/gpu/v4l2_video_encode_accelerator.h" #endif - +@@ -194,10 +194,10 @@ + GpuVideoEncodeAccelerator::CreateVEAFps( + const gpu::GpuPreferences& gpu_preferences) { + std::vector<GpuVideoEncodeAccelerator::CreateVEAFp> create_vea_fps; +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + create_vea_fps.push_back(&GpuVideoEncodeAccelerator::CreateV4L2VEA); + #endif +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + if (!gpu_preferences.disable_vaapi_accelerated_video_encode) + create_vea_fps.push_back(&GpuVideoEncodeAccelerator::CreateVaapiVEA); + #endif +@@ -211,7 +211,7 @@ + return create_vea_fps; } -diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_video_decode_accelerator.cc chromium-52.0.2743.82/media/gpu/vaapi_video_decode_accelerator.cc ---- chromium-52.0.2743.82.orig/media/gpu/vaapi_video_decode_accelerator.cc 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/vaapi_video_decode_accelerator.cc 2016-07-24 01:01:15.048604076 +0200 -@@ -342,17 +342,17 @@ - + +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + // static + std::unique_ptr<VideoEncodeAccelerator> + GpuVideoEncodeAccelerator::CreateV4L2VEA() { +@@ -223,7 +223,7 @@ + } + #endif + +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + // static + std::unique_ptr<VideoEncodeAccelerator> + GpuVideoEncodeAccelerator::CreateVaapiVEA() { +diff -aur chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_encode_accelerator.h chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_encode_accelerator.h +--- chromium-53.0.2785.89.orig/media/gpu/ipc/service/gpu_video_encode_accelerator.h 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/ipc/service/gpu_video_encode_accelerator.h 2016-09-02 01:35:26.228331534 -0700 +@@ -80,10 +80,10 @@ + // platform. + static std::vector<CreateVEAFp> CreateVEAFps( + const gpu::GpuPreferences& gpu_preferences); +-#if defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + static std::unique_ptr<VideoEncodeAccelerator> CreateV4L2VEA(); + #endif +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + static std::unique_ptr<VideoEncodeAccelerator> CreateVaapiVEA(); + #endif + #if defined(OS_ANDROID) && defined(ENABLE_WEBRTC) +diff -aur chromium-53.0.2785.89.orig/media/gpu/jpeg_decode_accelerator_unittest.cc chromium-53.0.2785.89/media/gpu/jpeg_decode_accelerator_unittest.cc +--- chromium-53.0.2785.89.orig/media/gpu/jpeg_decode_accelerator_unittest.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/jpeg_decode_accelerator_unittest.cc 2016-09-02 01:35:26.221664850 -0700 +@@ -31,7 +31,7 @@ + #include "third_party/libyuv/include/libyuv.h" + #include "ui/gfx/codec/jpeg_codec.h" + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + #if defined(USE_V4L2_CODEC) + #include "media/gpu/v4l2_device.h" + #include "media/gpu/v4l2_jpeg_decode_accelerator.h" +@@ -133,10 +133,10 @@ + JpegClient::~JpegClient() {} + + void JpegClient::CreateJpegDecoder() { +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + decoder_.reset( + new VaapiJpegDecodeAccelerator(base::ThreadTaskRunnerHandle::Get())); +-#elif defined(OS_CHROMEOS) && defined(USE_V4L2_CODEC) ++#elif (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(USE_V4L2_CODEC) + scoped_refptr<V4L2Device> device = + V4L2Device::Create(V4L2Device::kJpegDecoder); + if (!device.get()) { +@@ -564,7 +564,7 @@ + continue; + LOG(FATAL) << "Unexpected switch: " << it->first << ":" << it->second; + } +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + media::VaapiWrapper::PreSandboxInitialization(); + #endif + +diff -aur chromium-53.0.2785.89.orig/media/gpu/vaapi_video_decode_accelerator.cc chromium-53.0.2785.89/media/gpu/vaapi_video_decode_accelerator.cc +--- chromium-53.0.2785.89.orig/media/gpu/vaapi_video_decode_accelerator.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/vaapi_video_decode_accelerator.cc 2016-09-02 01:35:26.224998192 -0700 +@@ -354,17 +354,17 @@ + base::AutoLock auto_lock(lock_); DCHECK_EQ(state_, kUninitialized); - DVLOG(2) << "Initializing VAVDA, profile: " << profile; + VLOG(1) << "Initializing VAVDA, profile: " << profile; - + #if defined(USE_X11) - if (gfx::GetGLImplementation() != gfx::kGLImplementationDesktopGL) { + if (gl::GetGLImplementation() != gl::kGLImplementationDesktopGL) { - DVLOG(1) << "HW video decode acceleration not available without " + VLOG(1) << "HW video decode acceleration not available without " "DesktopGL (GLX)."; return false; } #elif defined(USE_OZONE) - if (gfx::GetGLImplementation() != gfx::kGLImplementationEGLGLES2) { + if (gl::GetGLImplementation() != gl::kGLImplementationEGLGLES2) { - DVLOG(1) << "HW video decode acceleration not available without " + VLOG(1) << "HW video decode acceleration not available without " << "EGLGLES2."; return false; } -@@ -362,7 +362,7 @@ +@@ -374,7 +374,7 @@ VaapiWrapper::kDecode, profile, base::Bind(&ReportToUMA, VAAPI_ERROR)); - + if (!vaapi_wrapper_.get()) { - DVLOG(1) << "Failed initializing VAAPI for profile " << profile; + VLOG(1) << "Failed initializing VAAPI for profile " << profile; return false; } - -@@ -379,7 +379,7 @@ + +@@ -389,7 +389,7 @@ vp9_accelerator_.reset(new VaapiVP9Accelerator(this, vaapi_wrapper_.get())); decoder_.reset(new VP9Decoder(vp9_accelerator_.get())); } else { @@ -567,11 +719,11 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_video_decode_accelerator.c + VLOG(1) << "Unsupported profile " << profile; return false; } - -diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc chromium-52.0.2743.82/media/gpu/vaapi_wrapper.cc ---- chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/gpu/vaapi_wrapper.cc 2016-07-24 00:48:52.493011903 +0200 -@@ -189,7 +189,7 @@ + +diff -aur chromium-53.0.2785.89.orig/media/gpu/vaapi_wrapper.cc chromium-53.0.2785.89/media/gpu/vaapi_wrapper.cc +--- chromium-53.0.2785.89.orig/media/gpu/vaapi_wrapper.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/vaapi_wrapper.cc 2016-09-02 01:35:26.224998192 -0700 +@@ -194,7 +194,7 @@ VAProfile va_profile, const base::Closure& report_error_to_uma_cb) { if (!profile_infos_.Get().IsProfileSupported(mode, va_profile)) { @@ -579,8 +731,8 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc chromium-52.0.2 + VLOG(1) << "Unsupported va_profile: " << va_profile; return nullptr; } - -@@ -342,15 +342,17 @@ + +@@ -347,15 +347,17 @@ bool VaapiWrapper::VaInitialize(const base::Closure& report_error_to_uma_cb) { static bool vaapi_functions_initialized = PostSandboxInitialization(); if (!vaapi_functions_initialized) { @@ -603,8 +755,8 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc chromium-52.0.2 else DVLOG(1) << kErrorMsg; return false; -@@ -416,7 +418,7 @@ - +@@ -421,7 +423,7 @@ + if (std::find(supported_entrypoints.begin(), supported_entrypoints.end(), entrypoint) == supported_entrypoints.end()) { - DVLOG(1) << "Unsupported entrypoint"; @@ -612,7 +764,7 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc chromium-52.0.2 return false; } return true; -@@ -440,8 +442,8 @@ +@@ -445,8 +447,8 @@ if (attribs[i].type != required_attribs[i].type || (attribs[i].value & required_attribs[i].value) != required_attribs[i].value) { @@ -623,10 +775,125 @@ diff -uarN chromium-52.0.2743.82.orig/media/gpu/vaapi_wrapper.cc chromium-52.0.2 return false; } } -diff -uarN chromium-52.0.2743.82.orig/media/media.gyp chromium-52.0.2743.82/media/media.gyp ---- chromium-52.0.2743.82.orig/media/media.gyp 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/media.gyp 2016-07-24 00:48:52.494012054 +0200 -@@ -752,7 +752,7 @@ +diff -aur chromium-53.0.2785.89.orig/media/gpu/va_stub_header.fragment chromium-53.0.2785.89/media/gpu/va_stub_header.fragment +--- chromium-53.0.2785.89.orig/media/gpu/va_stub_header.fragment 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/va_stub_header.fragment 2016-09-02 01:35:26.224998192 -0700 +@@ -5,8 +5,9 @@ + + #include "third_party/libva/va/drm/va_drm.h" + #include "third_party/libva/va/va.h" +-#if defined(USE_X11) + #include "third_party/libva/va/va_x11.h" ++#if defined(USE_OZONE) ++#include "third_party/libva/va/wayland/va_wayland.h" + #endif + + } +diff -aur chromium-53.0.2785.89.orig/media/gpu/video_decode_accelerator_unittest.cc chromium-53.0.2785.89/media/gpu/video_decode_accelerator_unittest.cc +--- chromium-53.0.2785.89.orig/media/gpu/video_decode_accelerator_unittest.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/video_decode_accelerator_unittest.cc 2016-09-02 01:35:26.221664850 -0700 +@@ -65,7 +65,7 @@ + #if defined(OS_WIN) + #include "base/win/windows_version.h" + #include "media/gpu/dxva_video_decode_accelerator_win.h" +-#elif defined(OS_CHROMEOS) ++#elif defined(OS_CHROMEOS) || defined(OS_LINUX) + #if defined(USE_V4L2_CODEC) + #include "media/gpu/v4l2_device.h" + #include "media/gpu/v4l2_slice_video_decode_accelerator.h" +@@ -1778,7 +1778,7 @@ + ui::OzonePlatform::InitializeForUI(); + #endif + +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + media::VaapiWrapper::PreSandboxInitialization(); + #endif + +diff -aur chromium-53.0.2785.89.orig/media/gpu/video_encode_accelerator_unittest.cc chromium-53.0.2785.89/media/gpu/video_encode_accelerator_unittest.cc +--- chromium-53.0.2785.89.orig/media/gpu/video_encode_accelerator_unittest.cc 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/gpu/video_encode_accelerator_unittest.cc 2016-09-02 01:35:26.228331534 -0700 +@@ -49,7 +49,7 @@ + #include "media/video/video_encode_accelerator.h" + #include "testing/gtest/include/gtest/gtest.h" + +-#if defined(OS_CHROMEOS) ++#if defined(OS_CHROMEOS) || defined(OS_LINUX) + #if defined(ARCH_CPU_ARMEL) || (defined(USE_OZONE) && defined(USE_V4L2_CODEC)) + #include "media/gpu/v4l2_video_encode_accelerator.h" + #endif +@@ -1063,8 +1063,8 @@ + + std::unique_ptr<VideoEncodeAccelerator> VEAClient::CreateV4L2VEA() { + std::unique_ptr<VideoEncodeAccelerator> encoder; +-#if defined(OS_CHROMEOS) && (defined(ARCH_CPU_ARMEL) || \ +- (defined(USE_OZONE) && defined(USE_V4L2_CODEC))) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && (defined(ARCH_CPU_ARMEL) || \ ++ (defined(USE_OZONE) && defined(USE_V4L2_CODEC))) + scoped_refptr<V4L2Device> device = V4L2Device::Create(V4L2Device::kEncoder); + if (device) + encoder.reset(new V4L2VideoEncodeAccelerator(device)); +@@ -1074,7 +1074,7 @@ + + std::unique_ptr<VideoEncodeAccelerator> VEAClient::CreateVaapiVEA() { + std::unique_ptr<VideoEncodeAccelerator> encoder; +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + encoder.reset(new VaapiVideoEncodeAccelerator()); + #endif + return encoder; +@@ -1804,7 +1804,7 @@ + LOG(FATAL) << "--measure_latency requires --run_at_fps enabled to work."; + } + +-#if defined(OS_CHROMEOS) && defined(ARCH_CPU_X86_FAMILY) ++#if (defined(OS_CHROMEOS) || defined(OS_LINUX)) && defined(ARCH_CPU_X86_FAMILY) + media::VaapiWrapper::PreSandboxInitialization(); + #endif + +diff -aur chromium-53.0.2785.89.orig/media/media_gpu.gypi chromium-53.0.2785.89/media/media_gpu.gypi +--- chromium-53.0.2785.89.orig/media/media_gpu.gypi 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/media_gpu.gypi 2016-09-02 01:35:26.221664850 -0700 +@@ -125,7 +125,7 @@ + 'gpu/android_video_encode_accelerator.h', + ], + }], +- ['use_v4lplugin==1 and chromeos==1', { ++ ['use_v4lplugin==1 and (chromeos==1 or desktop_linux==1)', { + 'direct_dependent_settings': { + 'defines': [ + 'USE_LIBV4L2' +@@ -174,7 +174,7 @@ + }, + ], + }], +- ['chromeos==1', { ++ ['chromeos==1 or desktop_linux==1', { + 'sources': [ + 'gpu/accelerated_video_decoder.h', + 'gpu/h264_decoder.cc', +@@ -191,7 +191,7 @@ + 'gpu/vp9_picture.h', + ], + }], +- ['chromeos==1 and use_v4l2_codec==1', { ++ ['(chromeos==1 or desktop_linux==1) and use_v4l2_codec==1', { + 'direct_dependent_settings': { + 'defines': [ + 'USE_V4L2_CODEC' +@@ -230,7 +230,7 @@ + 'gpu/tegra_v4l2_device.h', + ], + }], +- ['target_arch != "arm" and chromeos == 1', { ++ ['target_arch != "arm" and (chromeos == 1 or desktop_linux==1)', { + 'dependencies': [ + '../media/media.gyp:media', + '../third_party/libyuv/libyuv.gyp:libyuv', +diff -aur chromium-53.0.2785.89.orig/media/media.gyp chromium-53.0.2785.89/media/media.gyp +--- chromium-53.0.2785.89.orig/media/media.gyp 2016-08-31 15:03:32.000000000 -0700 ++++ chromium-53.0.2785.89/media/media.gyp 2016-09-02 01:35:26.221664850 -0700 +@@ -749,7 +749,7 @@ ], }], # For VaapiVideoEncodeAccelerator. @@ -635,42 +902,48 @@ diff -uarN chromium-52.0.2743.82.orig/media/media.gyp chromium-52.0.2743.82/medi 'sources': [ 'filters/h264_bitstream_buffer.cc', 'filters/h264_bitstream_buffer.h', -@@ -1330,7 +1330,7 @@ - 'cdm/cdm_adapter_unittest.cc', - ], +@@ -1310,7 +1310,7 @@ + }] + ], }], - ['target_arch != "arm" and chromeos == 1 and use_x11 == 1', { + ['target_arch != "arm" and (chromeos == 1 or desktop_linux == 1) and use_x11 == 1', { 'sources': [ 'filters/h264_bitstream_buffer_unittest.cc', ], -@@ -2264,7 +2264,7 @@ - ], - }], - -- ['chromeos==1 and target_arch != "arm"', { -+ ['(desktop_linux==1 or chromeos==1) and target_arch != "arm"', { - 'targets': [ - { - 'target_name': 'vaapi_jpeg_decoder_unittest', -diff -uarN chromium-52.0.2743.82.orig/media/media_gpu.gypi chromium-52.0.2743.82/media/media_gpu.gypi ---- chromium-52.0.2743.82.orig/media/media_gpu.gypi 2016-07-20 21:03:26.000000000 +0200 -+++ chromium-52.0.2743.82/media/media_gpu.gypi 2016-07-24 00:48:52.494012054 +0200 -@@ -174,7 +174,7 @@ +@@ -2089,7 +2089,7 @@ }, ], }], - ['chromeos==1', { -+ ['chromeos==1 or desktop_linux==1', { - 'sources': [ - 'gpu/accelerated_video_decoder.h', - 'gpu/h264_decoder.cc', -@@ -230,7 +230,7 @@ - 'gpu/tegra_v4l2_device.h', ++ ['chromeos==1 or desktop_linux==1', { + 'targets': [ + { + 'target_name': 'jpeg_decode_accelerator_unittest', +@@ -2116,7 +2116,7 @@ + } + ] + }], +- ['chromeos==1 or OS=="mac"', { ++ ['chromeos==1 or desktop_linux==1 or OS=="mac"', { + 'targets': [ + { + 'target_name': 'video_encode_accelerator_unittest', +@@ -2162,7 +2162,7 @@ + } + ] + }], +- ['chromeos==1 or OS=="win" or OS=="android"', { ++ ['chromeos==1 or desktop_linux==1 or OS=="win" or OS=="android"', { + 'targets': [ + { + # GN: //media/gpu:video_decode_accelerator_unittest +@@ -2255,7 +2255,7 @@ ], }], -- ['target_arch != "arm" and chromeos == 1', { -+ ['target_arch != "arm" and (chromeos == 1 or desktop_linux == 1)', { - 'dependencies': [ - '../media/media.gyp:media', - '../third_party/libyuv/libyuv.gyp:libyuv', + +- ['chromeos==1 and target_arch != "arm"', { ++ ['(chromeos==1 or desktop_linux==1) and target_arch != "arm"', { + 'targets': [ + { + 'target_name': 'vaapi_jpeg_decoder_unittest', |