| Index: media/gpu/dxva_video_decode_accelerator_win.cc
|
| diff --git a/media/gpu/dxva_video_decode_accelerator_win.cc b/media/gpu/dxva_video_decode_accelerator_win.cc
|
| index e154b7e2b75fc94759fbbfd61dbf84f87a50b942..e88880665c019c0fb2237531baadb630c7095de0 100644
|
| --- a/media/gpu/dxva_video_decode_accelerator_win.cc
|
| +++ b/media/gpu/dxva_video_decode_accelerator_win.cc
|
| @@ -503,7 +503,9 @@ DXVAVideoDecodeAccelerator::DXVAVideoDecodeAccelerator(
|
| dx11_video_format_converter_media_type_needs_init_(true),
|
| using_angle_device_(false),
|
| enable_accelerated_vpx_decode_(
|
| - gpu_preferences.enable_accelerated_vpx_decode),
|
| + workarounds.disable_accelerated_vpx_decode
|
| + ? gpu::GpuPreferences::VpxDecodeVendors::VPX_VENDOR_NONE
|
| + : gpu_preferences.enable_accelerated_vpx_decode),
|
| processing_config_changed_(false),
|
| weak_this_factory_(this) {
|
| weak_ptr_ = weak_this_factory_.GetWeakPtr();
|
| @@ -1184,7 +1186,8 @@ GLenum DXVAVideoDecodeAccelerator::GetSurfaceInternalFormat() const {
|
| // static
|
| VideoDecodeAccelerator::SupportedProfiles
|
| DXVAVideoDecodeAccelerator::GetSupportedProfiles(
|
| - const gpu::GpuPreferences& preferences) {
|
| + const gpu::GpuPreferences& preferences,
|
| + const gpu::GpuDriverBugWorkarounds& workarounds) {
|
| TRACE_EVENT0("gpu,startup",
|
| "DXVAVideoDecodeAccelerator::GetSupportedProfiles");
|
|
|
| @@ -1200,7 +1203,8 @@ DXVAVideoDecodeAccelerator::GetSupportedProfiles(
|
| }
|
| }
|
| for (const auto& supported_profile : kSupportedProfiles) {
|
| - if (!preferences.enable_accelerated_vpx_decode &&
|
| + if ((!preferences.enable_accelerated_vpx_decode ||
|
| + workarounds.disable_accelerated_vpx_decode) &&
|
| (supported_profile >= VP8PROFILE_MIN) &&
|
| (supported_profile <= VP9PROFILE_MAX)) {
|
| continue;
|
|
|