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

Unified Diff: gpu/ipc/common/gpu_info_struct_traits.cc

Issue 2147693002: Struct traits used by GpuInfo (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Moved Read() to .cc file Created 4 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: gpu/ipc/common/gpu_info_struct_traits.cc
diff --git a/gpu/ipc/common/gpu_info_struct_traits.cc b/gpu/ipc/common/gpu_info_struct_traits.cc
index 6bcea5ce9ea1324912c68afa199eb52964e06e1d..ca3153bd65b2888754382679cb425c4affb8a74c 100644
--- a/gpu/ipc/common/gpu_info_struct_traits.cc
+++ b/gpu/ipc/common/gpu_info_struct_traits.cc
@@ -57,4 +57,156 @@ bool EnumTraits<gpu::mojom::CollectInfoResult, gpu::CollectInfoResult>::
return false;
}
+// static
+gpu::mojom::VideoCodecProfile
+EnumTraits<gpu::mojom::VideoCodecProfile, gpu::VideoCodecProfile>::ToMojom(
+ gpu::VideoCodecProfile video_codec_profile) {
+ switch (video_codec_profile) {
+ case gpu::VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN:
dcheng 2016/07/28 02:09:39 Oh I guess it's for consistency with the existing
Alex Z. 2016/07/28 19:40:44 I'll do the cleanup in a separate CL. For now let'
+ return gpu::mojom::VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
+ case gpu::VideoCodecProfile::H264PROFILE_BASELINE:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_BASELINE;
+ case gpu::VideoCodecProfile::H264PROFILE_MAIN:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_MAIN;
+ case gpu::VideoCodecProfile::H264PROFILE_EXTENDED:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_EXTENDED;
+ case gpu::VideoCodecProfile::H264PROFILE_HIGH:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH;
+ case gpu::VideoCodecProfile::H264PROFILE_HIGH10PROFILE:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH10PROFILE;
+ case gpu::VideoCodecProfile::H264PROFILE_HIGH422PROFILE:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH422PROFILE;
+ case gpu::VideoCodecProfile::H264PROFILE_HIGH444PREDICTIVEPROFILE:
+ return gpu::mojom::VideoCodecProfile::
+ H264PROFILE_HIGH444PREDICTIVEPROFILE;
+ case gpu::VideoCodecProfile::H264PROFILE_SCALABLEBASELINE:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_SCALABLEBASELINE;
+ case gpu::VideoCodecProfile::H264PROFILE_SCALABLEHIGH:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_SCALABLEHIGH;
+ case gpu::VideoCodecProfile::H264PROFILE_STEREOHIGH:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_STEREOHIGH;
+ case gpu::VideoCodecProfile::H264PROFILE_MULTIVIEWHIGH:
+ return gpu::mojom::VideoCodecProfile::H264PROFILE_MULTIVIEWHIGH;
+ case gpu::VideoCodecProfile::VP8PROFILE_ANY:
+ return gpu::mojom::VideoCodecProfile::VP8PROFILE_ANY;
+ case gpu::VideoCodecProfile::VP9PROFILE_PROFILE0:
+ return gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE0;
+ case gpu::VideoCodecProfile::VP9PROFILE_PROFILE1:
+ return gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE1;
+ case gpu::VideoCodecProfile::VP9PROFILE_PROFILE2:
+ return gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE2;
+ case gpu::VideoCodecProfile::VP9PROFILE_PROFILE3:
+ return gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE3;
+ case gpu::VideoCodecProfile::HEVCPROFILE_MAIN:
+ return gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN;
+ case gpu::VideoCodecProfile::HEVCPROFILE_MAIN10:
+ return gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN10;
+ case gpu::VideoCodecProfile::HEVCPROFILE_MAIN_STILL_PICTURE:
+ return gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN_STILL_PICTURE;
+ }
+ NOTREACHED() << "Invalid VideoCodecProfile:" << video_codec_profile;
+ return gpu::mojom::VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
+}
+
+// static
+bool EnumTraits<gpu::mojom::VideoCodecProfile, gpu::VideoCodecProfile>::
+ FromMojom(gpu::mojom::VideoCodecProfile input,
+ gpu::VideoCodecProfile* out) {
+ switch (input) {
+ case gpu::mojom::VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN:
+ *out = gpu::VideoCodecProfile::VIDEO_CODEC_PROFILE_UNKNOWN;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_BASELINE:
+ *out = gpu::VideoCodecProfile::H264PROFILE_BASELINE;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_MAIN:
+ *out = gpu::VideoCodecProfile::H264PROFILE_MAIN;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_EXTENDED:
+ *out = gpu::VideoCodecProfile::H264PROFILE_EXTENDED;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH:
+ *out = gpu::VideoCodecProfile::H264PROFILE_HIGH;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH10PROFILE:
+ *out = gpu::VideoCodecProfile::H264PROFILE_HIGH10PROFILE;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH422PROFILE:
+ *out = gpu::VideoCodecProfile::H264PROFILE_HIGH422PROFILE;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_HIGH444PREDICTIVEPROFILE:
+ *out = gpu::VideoCodecProfile::H264PROFILE_HIGH444PREDICTIVEPROFILE;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_SCALABLEBASELINE:
+ *out = gpu::VideoCodecProfile::H264PROFILE_SCALABLEBASELINE;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_SCALABLEHIGH:
+ *out = gpu::VideoCodecProfile::H264PROFILE_SCALABLEHIGH;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_STEREOHIGH:
+ *out = gpu::VideoCodecProfile::H264PROFILE_STEREOHIGH;
+ return true;
+ case gpu::mojom::VideoCodecProfile::H264PROFILE_MULTIVIEWHIGH:
+ *out = gpu::VideoCodecProfile::H264PROFILE_MULTIVIEWHIGH;
+ return true;
+ case gpu::mojom::VideoCodecProfile::VP8PROFILE_ANY:
+ *out = gpu::VideoCodecProfile::VP8PROFILE_ANY;
+ return true;
+ case gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE0:
+ *out = gpu::VideoCodecProfile::VP9PROFILE_PROFILE0;
+ return true;
+ case gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE1:
+ *out = gpu::VideoCodecProfile::VP9PROFILE_PROFILE1;
+ return true;
+ case gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE2:
+ *out = gpu::VideoCodecProfile::VP9PROFILE_PROFILE2;
+ return true;
+ case gpu::mojom::VideoCodecProfile::VP9PROFILE_PROFILE3:
+ *out = gpu::VideoCodecProfile::VP9PROFILE_PROFILE3;
+ return true;
+ case gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN:
+ *out = gpu::VideoCodecProfile::HEVCPROFILE_MAIN;
+ return true;
+ case gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN10:
+ *out = gpu::VideoCodecProfile::HEVCPROFILE_MAIN10;
+ return true;
+ case gpu::mojom::VideoCodecProfile::HEVCPROFILE_MAIN_STILL_PICTURE:
+ *out = gpu::VideoCodecProfile::HEVCPROFILE_MAIN_STILL_PICTURE;
+ return true;
+ }
+ NOTREACHED() << "Invalid VideoCodecProfile: " << input;
+ return false;
+}
+
+// static
+bool StructTraits<gpu::mojom::VideoDecodeAcceleratorSupportedProfile,
+ gpu::VideoDecodeAcceleratorSupportedProfile>::
+ Read(gpu::mojom::VideoDecodeAcceleratorSupportedProfileDataView data,
+ gpu::VideoDecodeAcceleratorSupportedProfile* out) {
+ out->encrypted_only = data.encrypted_only();
+ return data.ReadProfile(&out->profile) &&
+ data.ReadMaxResolution(&out->max_resolution) &&
+ data.ReadMinResolution(&out->min_resolution);
dcheng 2016/07/28 02:09:39 Will anything interesting happen if min resolution
Alex Z. 2016/07/28 19:40:43 There isn't any validation in the existing ParamTr
dcheng 2016/07/29 04:05:39 Right: what I'm trying to understand, though, is i
Alex Z. 2016/08/03 12:58:09 The corresponding structs are used by gpu::GPUInfo
+}
+
+// static
+bool StructTraits<gpu::mojom::VideoDecodeAcceleratorCapabilities,
+ gpu::VideoDecodeAcceleratorCapabilities>::
+ Read(gpu::mojom::VideoDecodeAcceleratorCapabilitiesDataView data,
+ gpu::VideoDecodeAcceleratorCapabilities* out) {
+ out->flags = data.flags();
+ return true;
+}
+
+// static
+bool StructTraits<gpu::mojom::VideoEncodeAcceleratorSupportedProfile,
+ gpu::VideoEncodeAcceleratorSupportedProfile>::
+ Read(gpu::mojom::VideoEncodeAcceleratorSupportedProfileDataView data,
+ gpu::VideoEncodeAcceleratorSupportedProfile* out) {
+ out->max_framerate_numerator = data.max_framerate_numerator();
+ out->max_framerate_denominator = data.max_framerate_denominator();
dcheng 2016/07/28 02:09:38 Are there any interesting checks to perform here?
Alex Z. 2016/07/28 19:40:43 Same as above.
+ return data.ReadProfile(&out->profile) &&
+ data.ReadMaxResolution(&out->max_resolution);
+}
+
} // namespace mojo

Powered by Google App Engine
This is Rietveld 408576698