Index: content/common/gpu/media/gpu_video_encode_accelerator.cc |
diff --git a/content/common/gpu/media/gpu_video_encode_accelerator.cc b/content/common/gpu/media/gpu_video_encode_accelerator.cc |
index 20fe9c35f05c56c25b73f062253512600ba4704f..c5719368d324446e404ed01b08c33447d00da073 100644 |
--- a/content/common/gpu/media/gpu_video_encode_accelerator.cc |
+++ b/content/common/gpu/media/gpu_video_encode_accelerator.cc |
@@ -14,6 +14,7 @@ |
#include "build/build_config.h" |
#include "content/common/gpu/gpu_channel.h" |
#include "content/common/gpu/gpu_messages.h" |
+#include "content/common/gpu/media/gpu_video_accelerator_util.h" |
#include "content/public/common/content_switches.h" |
#include "ipc/ipc_message_macros.h" |
#include "media/base/limits.h" |
@@ -163,8 +164,9 @@ void GpuVideoEncodeAccelerator::OnWillDestroyStub() { |
} |
// static |
-std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> |
-GpuVideoEncodeAccelerator::GetSupportedProfiles() { |
+void GpuVideoEncodeAccelerator::GetSupportedProfiles( |
+ std::vector<gpu::VideoEncodeAcceleratorSupportedProfile>* |
+ supported_profiles) { |
std::vector<media::VideoEncodeAccelerator::SupportedProfile> profiles; |
std::vector<GpuVideoEncodeAccelerator::CreateVEAFp> |
create_vea_fps = CreateVEAFps(); |
@@ -176,27 +178,11 @@ GpuVideoEncodeAccelerator::GetSupportedProfiles() { |
continue; |
std::vector<media::VideoEncodeAccelerator::SupportedProfile> |
vea_profiles = encoder->GetSupportedProfiles(); |
- profiles.insert(profiles.end(), vea_profiles.begin(), vea_profiles.end()); |
+ GpuVideoAcceleratorUtil::UniqueInsertEncodeProfiles( |
+ &profiles, vea_profiles); |
} |
- return ConvertMediaToGpuProfiles(profiles); |
-} |
- |
-// static |
-std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> |
-GpuVideoEncodeAccelerator::ConvertMediaToGpuProfiles(const std::vector< |
- media::VideoEncodeAccelerator::SupportedProfile>& media_profiles) { |
- std::vector<gpu::VideoEncodeAcceleratorSupportedProfile> profiles; |
- for (size_t i = 0; i < media_profiles.size(); i++) { |
- gpu::VideoEncodeAcceleratorSupportedProfile profile; |
- profile.profile = |
- static_cast<gpu::VideoCodecProfile>(media_profiles[i].profile); |
- profile.max_resolution = media_profiles[i].max_resolution; |
- profile.max_framerate_numerator = media_profiles[i].max_framerate_numerator; |
- profile.max_framerate_denominator = |
- media_profiles[i].max_framerate_denominator; |
- profiles.push_back(profile); |
- } |
- return profiles; |
+ *supported_profiles = |
+ GpuVideoAcceleratorUtil::ConvertMediaToGpuEncodeProfiles(profiles); |
} |
// static |