| Index: content/common/gpu/media/vaapi_wrapper.cc
|
| diff --git a/content/common/gpu/media/vaapi_wrapper.cc b/content/common/gpu/media/vaapi_wrapper.cc
|
| index 92d978453aff5f54f7907b843955f1c3e1d85d27..f366bedb8c6280cca5fd42cfc9aef2763948c98f 100644
|
| --- a/content/common/gpu/media/vaapi_wrapper.cc
|
| +++ b/content/common/gpu/media/vaapi_wrapper.cc
|
| @@ -199,6 +199,35 @@ VaapiWrapper::GetSupportedEncodeProfiles() {
|
| return profiles;
|
| }
|
|
|
| +// static
|
| +std::vector<media::VideoDecodeAccelerator::SupportedProfile>
|
| +VaapiWrapper::GetSupportedDecodeProfiles() {
|
| + std::vector<media::VideoDecodeAccelerator::SupportedProfile> profiles;
|
| + const base::CommandLine* cmd_line = base::CommandLine::ForCurrentProcess();
|
| + if (cmd_line->HasSwitch(switches::kDisableAcceleratedVideoDecode))
|
| + return profiles;
|
| +
|
| + std::vector<ProfileInfo> decode_profile_infos =
|
| + profile_infos_.Get().GetSupportedProfileInfosForCodecMode(kDecode);
|
| +
|
| + for (size_t i = 0; i < arraysize(kProfileMap); ++i) {
|
| + VAProfile va_profile = ProfileToVAProfile(kProfileMap[i].profile, kDecode);
|
| + if (va_profile == VAProfileNone)
|
| + continue;
|
| + for (const auto& profile_info : decode_profile_infos) {
|
| + if (profile_info.va_profile == va_profile) {
|
| + media::VideoDecodeAccelerator::SupportedProfile profile;
|
| + profile.profile = kProfileMap[i].profile;
|
| + profile.max_resolution = profile_info.max_resolution;
|
| + profile.min_resolution.SetSize(16, 16);
|
| + profiles.push_back(profile);
|
| + break;
|
| + }
|
| + }
|
| + }
|
| + return profiles;
|
| +}
|
| +
|
| void VaapiWrapper::TryToSetVADisplayAttributeToLocalGPU() {
|
| base::AutoLock auto_lock(va_lock_);
|
| VADisplayAttribute item = {VADisplayAttribRenderMode,
|
|
|