OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "media/formats/webm/webm_colour_parser.h" | 5 #include "media/formats/webm/webm_colour_parser.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "media/formats/webm/webm_constants.h" | 8 #include "media/formats/webm/webm_constants.h" |
9 | 9 |
10 namespace media { | 10 namespace media { |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 | 256 |
257 WebMColorMetadata::WebMColorMetadata() {} | 257 WebMColorMetadata::WebMColorMetadata() {} |
258 WebMColorMetadata::WebMColorMetadata(const WebMColorMetadata& rhs) = default; | 258 WebMColorMetadata::WebMColorMetadata(const WebMColorMetadata& rhs) = default; |
259 | 259 |
260 WebMMasteringMetadataParser::WebMMasteringMetadataParser() {} | 260 WebMMasteringMetadataParser::WebMMasteringMetadataParser() {} |
261 WebMMasteringMetadataParser::~WebMMasteringMetadataParser() {} | 261 WebMMasteringMetadataParser::~WebMMasteringMetadataParser() {} |
262 | 262 |
263 bool WebMMasteringMetadataParser::OnFloat(int id, double val) { | 263 bool WebMMasteringMetadataParser::OnFloat(int id, double val) { |
264 switch (id) { | 264 switch (id) { |
265 case kWebMIdPrimaryRChromaticityX: | 265 case kWebMIdPrimaryRChromaticityX: |
266 mastering_metadata_.primary_r_chromaticity_x = val; | 266 mastering_metadata_.primary_r_chromaticity.set_x(val); |
267 break; | 267 break; |
268 case kWebMIdPrimaryRChromaticityY: | 268 case kWebMIdPrimaryRChromaticityY: |
269 mastering_metadata_.primary_r_chromaticity_y = val; | 269 mastering_metadata_.primary_r_chromaticity.set_y(val); |
270 break; | 270 break; |
271 case kWebMIdPrimaryGChromaticityX: | 271 case kWebMIdPrimaryGChromaticityX: |
272 mastering_metadata_.primary_g_chromaticity_x = val; | 272 mastering_metadata_.primary_g_chromaticity.set_x(val); |
273 break; | 273 break; |
274 case kWebMIdPrimaryGChromaticityY: | 274 case kWebMIdPrimaryGChromaticityY: |
275 mastering_metadata_.primary_g_chromaticity_y = val; | 275 mastering_metadata_.primary_g_chromaticity.set_y(val); |
276 break; | 276 break; |
277 case kWebMIdPrimaryBChromaticityX: | 277 case kWebMIdPrimaryBChromaticityX: |
278 mastering_metadata_.primary_b_chromaticity_x = val; | 278 mastering_metadata_.primary_b_chromaticity.set_x(val); |
279 break; | 279 break; |
280 case kWebMIdPrimaryBChromaticityY: | 280 case kWebMIdPrimaryBChromaticityY: |
281 mastering_metadata_.primary_b_chromaticity_y = val; | 281 mastering_metadata_.primary_b_chromaticity.set_y(val); |
282 break; | 282 break; |
283 case kWebMIdWhitePointChromaticityX: | 283 case kWebMIdWhitePointChromaticityX: |
284 mastering_metadata_.white_point_chromaticity_x = val; | 284 mastering_metadata_.white_point_chromaticity.set_x(val); |
285 break; | 285 break; |
286 case kWebMIdWhitePointChromaticityY: | 286 case kWebMIdWhitePointChromaticityY: |
287 mastering_metadata_.white_point_chromaticity_y = val; | 287 mastering_metadata_.white_point_chromaticity.set_y(val); |
288 break; | 288 break; |
289 case kWebMIdLuminanceMax: | 289 case kWebMIdLuminanceMax: |
290 mastering_metadata_.luminance_max = val; | 290 mastering_metadata_.luminance_max = val; |
291 break; | 291 break; |
292 case kWebMIdLuminanceMin: | 292 case kWebMIdLuminanceMin: |
293 mastering_metadata_.luminance_min = val; | 293 mastering_metadata_.luminance_min = val; |
294 break; | 294 break; |
295 default: | 295 default: |
296 DVLOG(1) << "Unexpected id in MasteringMetadata: 0x" << std::hex << id; | 296 DVLOG(1) << "Unexpected id in MasteringMetadata: 0x" << std::hex << id; |
297 return false; | 297 return false; |
(...skipping 12 matching lines...) Expand all Loading... |
310 bits_per_channel_ = -1; | 310 bits_per_channel_ = -1; |
311 chroma_subsampling_horz_ = -1; | 311 chroma_subsampling_horz_ = -1; |
312 chroma_subsampling_vert_ = -1; | 312 chroma_subsampling_vert_ = -1; |
313 cb_subsampling_horz_ = -1; | 313 cb_subsampling_horz_ = -1; |
314 cb_subsampling_vert_ = -1; | 314 cb_subsampling_vert_ = -1; |
315 chroma_siting_horz_ = -1; | 315 chroma_siting_horz_ = -1; |
316 chroma_siting_vert_ = -1; | 316 chroma_siting_vert_ = -1; |
317 range_ = -1; | 317 range_ = -1; |
318 transfer_characteristics_ = -1; | 318 transfer_characteristics_ = -1; |
319 primaries_ = -1; | 319 primaries_ = -1; |
320 max_cll_ = -1; | 320 max_content_light_level_ = -1; |
321 max_fall_ = -1; | 321 max_frame_average_light_level_ = -1; |
322 } | 322 } |
323 | 323 |
324 WebMParserClient* WebMColourParser::OnListStart(int id) { | 324 WebMParserClient* WebMColourParser::OnListStart(int id) { |
325 if (id == kWebMIdMasteringMetadata) { | 325 if (id == kWebMIdMasteringMetadata) { |
326 mastering_metadata_parsed_ = false; | 326 mastering_metadata_parsed_ = false; |
327 return &mastering_metadata_parser_; | 327 return &mastering_metadata_parser_; |
328 } | 328 } |
329 | 329 |
330 return this; | 330 return this; |
331 } | 331 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 case kWebMIdRange: | 367 case kWebMIdRange: |
368 dst = &range_; | 368 dst = &range_; |
369 break; | 369 break; |
370 case kWebMIdTransferCharacteristics: | 370 case kWebMIdTransferCharacteristics: |
371 dst = &transfer_characteristics_; | 371 dst = &transfer_characteristics_; |
372 break; | 372 break; |
373 case kWebMIdPrimaries: | 373 case kWebMIdPrimaries: |
374 dst = &primaries_; | 374 dst = &primaries_; |
375 break; | 375 break; |
376 case kWebMIdMaxCLL: | 376 case kWebMIdMaxCLL: |
377 dst = &max_cll_; | 377 dst = &max_content_light_level_; |
378 break; | 378 break; |
379 case kWebMIdMaxFALL: | 379 case kWebMIdMaxFALL: |
380 dst = &max_fall_; | 380 dst = &max_frame_average_light_level_; |
381 break; | 381 break; |
382 default: | 382 default: |
383 return true; | 383 return true; |
384 } | 384 } |
385 | 385 |
386 DCHECK(dst); | 386 DCHECK(dst); |
387 if (*dst != -1) { | 387 if (*dst != -1) { |
388 LOG(ERROR) << "Multiple values for id " << std::hex << id << " specified (" | 388 LOG(ERROR) << "Multiple values for id " << std::hex << id << " specified (" |
389 << *dst << " and " << val << ")"; | 389 << *dst << " and " << val << ")"; |
390 return false; | 390 return false; |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
424 case Range::kFull: | 424 case Range::kFull: |
425 range_id = gfx::ColorSpace::RangeID::FULL; | 425 range_id = gfx::ColorSpace::RangeID::FULL; |
426 break; | 426 break; |
427 case Range::kDerived: | 427 case Range::kDerived: |
428 range_id = gfx::ColorSpace::RangeID::DERIVED; | 428 range_id = gfx::ColorSpace::RangeID::DERIVED; |
429 break; | 429 break; |
430 } | 430 } |
431 color_metadata.color_space = VideoColorSpace( | 431 color_metadata.color_space = VideoColorSpace( |
432 primaries_, transfer_characteristics_, matrix_coefficients_, range_id); | 432 primaries_, transfer_characteristics_, matrix_coefficients_, range_id); |
433 | 433 |
434 if (max_cll_ != -1) | 434 if (max_content_light_level_ != -1) |
435 color_metadata.hdr_metadata.max_cll = max_cll_; | 435 color_metadata.hdr_metadata.max_content_light_level = |
| 436 max_content_light_level_; |
436 | 437 |
437 if (max_fall_ != -1) | 438 if (max_frame_average_light_level_ != -1) |
438 color_metadata.hdr_metadata.max_fall = max_fall_; | 439 color_metadata.hdr_metadata.max_frame_average_light_level = |
| 440 max_frame_average_light_level_; |
439 | 441 |
440 if (mastering_metadata_parsed_) | 442 if (mastering_metadata_parsed_) |
441 color_metadata.hdr_metadata.mastering_metadata = | 443 color_metadata.hdr_metadata.mastering_metadata = |
442 mastering_metadata_parser_.GetMasteringMetadata(); | 444 mastering_metadata_parser_.GetMasteringMetadata(); |
443 | 445 |
444 return color_metadata; | 446 return color_metadata; |
445 } | 447 } |
446 | 448 |
447 } // namespace media | 449 } // namespace media |
OLD | NEW |