| OLD | NEW |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | 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 | 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 #ifndef MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | 5 #ifndef MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ |
| 6 #define MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | 6 #define MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ |
| 7 | 7 |
| 8 #include "media/base/hdr_metadata.h" | 8 #include "media/base/hdr_metadata.h" |
| 9 #include "media/mojo/interfaces/media_types.mojom.h" | 9 #include "media/mojo/interfaces/media_types.mojom.h" |
| 10 | 10 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 29 return input.luminance_max; | 29 return input.luminance_max; |
| 30 } | 30 } |
| 31 static float luminance_min(const media::MasteringMetadata& input) { | 31 static float luminance_min(const media::MasteringMetadata& input) { |
| 32 return input.luminance_min; | 32 return input.luminance_min; |
| 33 } | 33 } |
| 34 | 34 |
| 35 static bool Read(media::mojom::MasteringMetadataDataView data, | 35 static bool Read(media::mojom::MasteringMetadataDataView data, |
| 36 media::MasteringMetadata* output) { | 36 media::MasteringMetadata* output) { |
| 37 output->luminance_max = data.luminance_max(); | 37 output->luminance_max = data.luminance_max(); |
| 38 output->luminance_min = data.luminance_min(); | 38 output->luminance_min = data.luminance_min(); |
| 39 if (!data.ReadPrimaryR(&output->primary_r)) |
| 40 return false; |
| 41 if (!data.ReadPrimaryG(&output->primary_g)) |
| 42 return false; |
| 43 if (!data.ReadPrimaryB(&output->primary_b)) |
| 44 return false; |
| 45 if (!data.ReadWhitePoint(&output->white_point)) |
| 46 return false; |
| 39 return true; | 47 return true; |
| 40 } | 48 } |
| 41 }; | 49 }; |
| 42 | 50 |
| 43 template <> | 51 template <> |
| 44 struct StructTraits<media::mojom::HDRMetadataDataView, media::HDRMetadata> { | 52 struct StructTraits<media::mojom::HDRMetadataDataView, media::HDRMetadata> { |
| 45 static unsigned max_content_light_level(const media::HDRMetadata& input) { | 53 static unsigned max_content_light_level(const media::HDRMetadata& input) { |
| 46 return input.max_content_light_level; | 54 return input.max_content_light_level; |
| 47 } | 55 } |
| 48 static unsigned max_frame_average_light_level( | 56 static unsigned max_frame_average_light_level( |
| 49 const media::HDRMetadata& input) { | 57 const media::HDRMetadata& input) { |
| 50 return input.max_frame_average_light_level; | 58 return input.max_frame_average_light_level; |
| 51 } | 59 } |
| 52 static media::MasteringMetadata mastering_metadata( | 60 static media::MasteringMetadata mastering_metadata( |
| 53 const media::HDRMetadata& input) { | 61 const media::HDRMetadata& input) { |
| 54 return input.mastering_metadata; | 62 return input.mastering_metadata; |
| 55 } | 63 } |
| 56 | 64 |
| 57 static bool Read(media::mojom::HDRMetadataDataView data, | 65 static bool Read(media::mojom::HDRMetadataDataView data, |
| 58 media::HDRMetadata* output) { | 66 media::HDRMetadata* output) { |
| 59 output->max_content_light_level = data.max_content_light_level(); | 67 output->max_content_light_level = data.max_content_light_level(); |
| 60 output->max_frame_average_light_level = | 68 output->max_frame_average_light_level = |
| 61 data.max_frame_average_light_level(); | 69 data.max_frame_average_light_level(); |
| 70 if (!data.ReadMasteringMetadata(&output->mastering_metadata)) |
| 71 return false; |
| 62 return true; | 72 return true; |
| 63 } | 73 } |
| 64 }; | 74 }; |
| 65 | 75 |
| 66 } // namespace mojo | 76 } // namespace mojo |
| 67 | 77 |
| 68 #endif // MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ | 78 #endif // MEDIA_MOJO_INTERFACES_HDR_METADATA_STRUCT_TRAITS_H_ |
| OLD | NEW |