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

Side by Side Diff: media/formats/webm/webm_colour_parser.cc

Issue 2803563007: Refactoring of media::HDRMetadata struct (Closed)
Patch Set: Created 3 years, 8 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 unified diff | Download patch
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698