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

Side by Side Diff: content/common/gpu/media/gpu_video_decode_accelerator.cc

Issue 1809943002: Select BackingStrategy based on GpuPreferences (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/common/gpu/media/gpu_video_decode_accelerator.h" 5 #include "content/common/gpu/media/gpu_video_decode_accelerator.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/location.h" 10 #include "base/location.h"
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 #endif 176 #endif
177 #if defined(ARCH_CPU_X86_FAMILY) 177 #if defined(ARCH_CPU_X86_FAMILY)
178 vda_profiles = VaapiVideoDecodeAccelerator::GetSupportedProfiles(); 178 vda_profiles = VaapiVideoDecodeAccelerator::GetSupportedProfiles();
179 GpuVideoAcceleratorUtil::InsertUniqueDecodeProfiles( 179 GpuVideoAcceleratorUtil::InsertUniqueDecodeProfiles(
180 vda_profiles, &capabilities.supported_profiles); 180 vda_profiles, &capabilities.supported_profiles);
181 #endif 181 #endif
182 #elif defined(OS_MACOSX) 182 #elif defined(OS_MACOSX)
183 capabilities.supported_profiles = 183 capabilities.supported_profiles =
184 VTVideoDecodeAccelerator::GetSupportedProfiles(); 184 VTVideoDecodeAccelerator::GetSupportedProfiles();
185 #elif defined(OS_ANDROID) 185 #elif defined(OS_ANDROID)
186 capabilities = AndroidVideoDecodeAccelerator::GetCapabilities(); 186 capabilities =
187 AndroidVideoDecodeAccelerator::GetCapabilities(gpu_preferences);
187 #endif 188 #endif
188 return GpuVideoAcceleratorUtil::ConvertMediaToGpuDecodeCapabilities( 189 return GpuVideoAcceleratorUtil::ConvertMediaToGpuDecodeCapabilities(
189 capabilities); 190 capabilities);
190 } 191 }
191 192
192 bool GpuVideoDecodeAccelerator::OnMessageReceived(const IPC::Message& msg) { 193 bool GpuVideoDecodeAccelerator::OnMessageReceived(const IPC::Message& msg) {
193 if (!video_decode_accelerator_) 194 if (!video_decode_accelerator_)
194 return false; 195 return false;
195 196
196 bool handled = true; 197 bool handled = true;
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
487 media::MediaOzonePlatform* platform = 488 media::MediaOzonePlatform* platform =
488 media::MediaOzonePlatform::GetInstance(); 489 media::MediaOzonePlatform::GetInstance();
489 return make_scoped_ptr<media::VideoDecodeAccelerator>( 490 return make_scoped_ptr<media::VideoDecodeAccelerator>(
490 platform->CreateVideoDecodeAccelerator(make_context_current_)); 491 platform->CreateVideoDecodeAccelerator(make_context_current_));
491 } 492 }
492 #endif 493 #endif
493 494
494 #if defined(OS_ANDROID) 495 #if defined(OS_ANDROID)
495 scoped_ptr<media::VideoDecodeAccelerator> 496 scoped_ptr<media::VideoDecodeAccelerator>
496 GpuVideoDecodeAccelerator::CreateAndroidVDA() { 497 GpuVideoDecodeAccelerator::CreateAndroidVDA() {
498 const gpu::GpuPreferences& gpu_preferences =
DaleCurtis 2016/03/21 16:15:55 Does this need to be passed in here or is this som
william.xie 2016/03/22 01:09:24 Done.
499 stub_->channel()->gpu_channel_manager()->gpu_preferences();
497 return make_scoped_ptr<media::VideoDecodeAccelerator>( 500 return make_scoped_ptr<media::VideoDecodeAccelerator>(
498 new AndroidVideoDecodeAccelerator(stub_->decoder()->AsWeakPtr(), 501 new AndroidVideoDecodeAccelerator(stub_->decoder()->AsWeakPtr(),
502 gpu_preferences,
499 make_context_current_)); 503 make_context_current_));
500 } 504 }
501 #endif 505 #endif
502 506
503 void GpuVideoDecodeAccelerator::OnSetCdm(int cdm_id) { 507 void GpuVideoDecodeAccelerator::OnSetCdm(int cdm_id) {
504 DCHECK(video_decode_accelerator_); 508 DCHECK(video_decode_accelerator_);
505 video_decode_accelerator_->SetCdm(cdm_id); 509 video_decode_accelerator_->SetCdm(cdm_id);
506 } 510 }
507 511
508 void GpuVideoDecodeAccelerator::CallOrPostNotifyError( 512 void GpuVideoDecodeAccelerator::CallOrPostNotifyError(
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 scoped_refptr<gpu::gles2::TextureRef> texture_ref = it->second; 639 scoped_refptr<gpu::gles2::TextureRef> texture_ref = it->second;
636 GLenum target = texture_ref->texture()->target(); 640 GLenum target = texture_ref->texture()->target();
637 gpu::gles2::TextureManager* texture_manager = 641 gpu::gles2::TextureManager* texture_manager =
638 stub_->decoder()->GetContextGroup()->texture_manager(); 642 stub_->decoder()->GetContextGroup()->texture_manager();
639 DCHECK(!texture_ref->texture()->IsLevelCleared(target, 0)); 643 DCHECK(!texture_ref->texture()->IsLevelCleared(target, 0));
640 texture_manager->SetLevelCleared(texture_ref.get(), target, 0, true); 644 texture_manager->SetLevelCleared(texture_ref.get(), target, 0, true);
641 uncleared_textures_.erase(it); 645 uncleared_textures_.erase(it);
642 } 646 }
643 647
644 } // namespace content 648 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698