OLD | NEW |
---|---|
(Empty) | |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | |
6 #define MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | |
7 | |
8 #include "media/base/hdr_metadata.h" | |
9 #include "media/mojo/interfaces/media_types.mojom.h" | |
10 | |
11 namespace mojo { | |
12 | |
13 template <> | |
14 struct StructTraits<media::mojom::MasteringMetadataDataView, | |
15 media::MasteringMetadata> { | |
16 static float primary_r_chromaticity_x(const media::MasteringMetadata& input) { | |
17 return input.primary_r_chromaticity_x; | |
18 } | |
19 static float primary_r_chromaticity_y(const media::MasteringMetadata& input) { | |
20 return input.primary_r_chromaticity_y; | |
21 } | |
xhwang
2017/04/07 16:24:47
+hubbe:
Does it make sense to put x and y in a da
hubbe
2017/04/07 17:24:22
Yes, yes it does.
| |
22 static float primary_g_chromaticity_x(const media::MasteringMetadata& input) { | |
23 return input.primary_g_chromaticity_x; | |
24 } | |
25 static float primary_g_chromaticity_y(const media::MasteringMetadata& input) { | |
26 return input.primary_g_chromaticity_y; | |
27 } | |
28 static float primary_b_chromaticity_x(const media::MasteringMetadata& input) { | |
29 return input.primary_b_chromaticity_x; | |
30 } | |
31 static float primary_b_chromaticity_y(const media::MasteringMetadata& input) { | |
32 return input.primary_b_chromaticity_y; | |
33 } | |
34 static float white_point_chromaticity_x(const media::MasteringMetadata& inp) { | |
35 return inp.white_point_chromaticity_x; | |
36 } | |
37 static float white_point_chromaticity_y(const media::MasteringMetadata& inp) { | |
38 return inp.white_point_chromaticity_y; | |
39 } | |
40 static float luminance_max(const media::MasteringMetadata& input) { | |
41 return input.luminance_max; | |
42 } | |
43 static float luminance_min(const media::MasteringMetadata& input) { | |
44 return input.luminance_min; | |
45 } | |
46 | |
47 static bool Read(media::mojom::MasteringMetadataDataView data, | |
48 media::MasteringMetadata* output) { | |
49 output->primary_r_chromaticity_x = data.primary_r_chromaticity_x(); | |
50 output->primary_r_chromaticity_y = data.primary_r_chromaticity_y(); | |
51 output->primary_g_chromaticity_x = data.primary_g_chromaticity_x(); | |
52 output->primary_g_chromaticity_y = data.primary_g_chromaticity_y(); | |
53 output->primary_b_chromaticity_x = data.primary_b_chromaticity_x(); | |
54 output->primary_b_chromaticity_y = data.primary_b_chromaticity_y(); | |
55 output->white_point_chromaticity_x = data.white_point_chromaticity_x(); | |
56 output->white_point_chromaticity_y = data.white_point_chromaticity_y(); | |
57 output->luminance_max = data.luminance_max(); | |
58 output->luminance_min = data.luminance_min(); | |
59 return true; | |
60 } | |
61 }; | |
62 | |
63 template <> | |
64 struct StructTraits<media::mojom::HDRMetadataDataView, media::HDRMetadata> { | |
65 static unsigned max_cll(const media::HDRMetadata& input) { | |
66 return input.max_cll; | |
67 } | |
68 static unsigned max_fall(const media::HDRMetadata& input) { | |
69 return input.max_fall; | |
70 } | |
71 static media::MasteringMetadata mastering_metadata( | |
72 const media::HDRMetadata& input) { | |
73 return input.mastering_metadata; | |
74 } | |
75 | |
76 static bool Read(media::mojom::HDRMetadataDataView data, | |
77 media::HDRMetadata* output) { | |
78 output->max_cll = data.max_cll(); | |
79 output->max_fall = data.max_fall(); | |
80 return true; | |
81 } | |
82 }; | |
83 | |
84 } // namespace mojo | |
85 | |
86 #endif // MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | |
OLD | NEW |