OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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_accelerator_util.h" | 5 #include "content/common/gpu/media/gpu_video_accelerator_util.h" |
6 | 6 |
7 namespace content { | 7 namespace content { |
8 | 8 |
9 // Make sure the enum values of media::VideoCodecProfile and | 9 // Make sure the enum values of media::VideoCodecProfile and |
10 // gpu::VideoCodecProfile match. | 10 // gpu::VideoCodecProfile match. |
11 #define STATIC_ASSERT_ENUM_MATCH(name) \ | 11 #define STATIC_ASSERT_ENUM_MATCH(name) \ |
12 static_assert( \ | 12 static_assert( \ |
13 media::name == static_cast<media::VideoCodecProfile>(gpu::name), \ | 13 media::name == static_cast<media::VideoCodecProfile>(gpu::name), \ |
14 #name " value must match in media and gpu.") | 14 #name " value must match in media and gpu.") |
15 | 15 |
16 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_UNKNOWN); | 16 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_UNKNOWN); |
17 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_MIN); | 17 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_MIN); |
18 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_BASELINE); | 18 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_BASELINE); |
19 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_MAIN); | 19 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_MAIN); |
20 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_EXTENDED); | 20 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_EXTENDED); |
21 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH); | 21 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH); |
22 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH10PROFILE); | 22 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH10PROFILE); |
23 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH422PROFILE); | 23 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH422PROFILE); |
24 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH444PREDICTIVEPROFILE); | 24 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_HIGH444PREDICTIVEPROFILE); |
25 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_SCALABLEBASELINE); | 25 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_SCALABLEBASELINE); |
26 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_SCALABLEHIGH); | 26 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_SCALABLEHIGH); |
27 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_STEREOHIGH); | 27 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_STEREOHIGH); |
28 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_MULTIVIEWHIGH); | 28 STATIC_ASSERT_ENUM_MATCH(H264PROFILE_MULTIVIEWHIGH); |
29 STATIC_ASSERT_ENUM_MATCH(VP8PROFILE_ANY); | 29 STATIC_ASSERT_ENUM_MATCH(VP8PROFILE_ANY); |
30 STATIC_ASSERT_ENUM_MATCH(VP9PROFILE_ANY); | 30 STATIC_ASSERT_ENUM_MATCH(VP9PROFILE_PROFILE0); |
| 31 STATIC_ASSERT_ENUM_MATCH(VP9PROFILE_PROFILE1); |
| 32 STATIC_ASSERT_ENUM_MATCH(VP9PROFILE_PROFILE2); |
| 33 STATIC_ASSERT_ENUM_MATCH(VP9PROFILE_PROFILE3); |
31 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_MAX); | 34 STATIC_ASSERT_ENUM_MATCH(VIDEO_CODEC_PROFILE_MAX); |
32 | 35 |
33 // static | 36 // static |
34 media::VideoDecodeAccelerator::Capabilities | 37 media::VideoDecodeAccelerator::Capabilities |
35 GpuVideoAcceleratorUtil::ConvertGpuToMediaDecodeCapabilities( | 38 GpuVideoAcceleratorUtil::ConvertGpuToMediaDecodeCapabilities( |
36 const gpu::VideoDecodeAcceleratorCapabilities& gpu_capabilities) { | 39 const gpu::VideoDecodeAcceleratorCapabilities& gpu_capabilities) { |
37 media::VideoDecodeAccelerator::Capabilities capabilities; | 40 media::VideoDecodeAccelerator::Capabilities capabilities; |
38 capabilities.supported_profiles = | 41 capabilities.supported_profiles = |
39 ConvertGpuToMediaDecodeProfiles(gpu_capabilities.supported_profiles); | 42 ConvertGpuToMediaDecodeProfiles(gpu_capabilities.supported_profiles); |
40 capabilities.flags = gpu_capabilities.flags; | 43 capabilities.flags = gpu_capabilities.flags; |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
148 duplicate = true; | 151 duplicate = true; |
149 break; | 152 break; |
150 } | 153 } |
151 } | 154 } |
152 if (!duplicate) | 155 if (!duplicate) |
153 media_profiles->push_back(profile); | 156 media_profiles->push_back(profile); |
154 } | 157 } |
155 } | 158 } |
156 | 159 |
157 } // namespace content | 160 } // namespace content |
OLD | NEW |