utilities.cc (1987B)
1 /* 2 * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 #include "common_video/test/utilities.h" 11 12 #include <cstddef> 13 14 #include "api/rtp_packet_infos.h" 15 #include "api/video/color_space.h" 16 #include "api/video/hdr_metadata.h" 17 18 namespace webrtc { 19 20 HdrMetadata CreateTestHdrMetadata() { 21 // Random but reasonable (in the sense of a valid range) HDR metadata. 22 HdrMetadata hdr_metadata; 23 hdr_metadata.mastering_metadata.luminance_max = 2000.0; 24 hdr_metadata.mastering_metadata.luminance_min = 2.0001; 25 hdr_metadata.mastering_metadata.primary_r.x = 0.3003; 26 hdr_metadata.mastering_metadata.primary_r.y = 0.4004; 27 hdr_metadata.mastering_metadata.primary_g.x = 0.3201; 28 hdr_metadata.mastering_metadata.primary_g.y = 0.4604; 29 hdr_metadata.mastering_metadata.primary_b.x = 0.3409; 30 hdr_metadata.mastering_metadata.primary_b.y = 0.4907; 31 hdr_metadata.mastering_metadata.white_point.x = 0.4103; 32 hdr_metadata.mastering_metadata.white_point.y = 0.4806; 33 hdr_metadata.max_content_light_level = 2345; 34 hdr_metadata.max_frame_average_light_level = 1789; 35 return hdr_metadata; 36 } 37 38 ColorSpace CreateTestColorSpace(bool with_hdr_metadata) { 39 HdrMetadata hdr_metadata = CreateTestHdrMetadata(); 40 return ColorSpace( 41 ColorSpace::PrimaryID::kBT709, ColorSpace::TransferID::kGAMMA22, 42 ColorSpace::MatrixID::kSMPTE2085, ColorSpace::RangeID::kFull, 43 ColorSpace::ChromaSiting::kCollocated, 44 ColorSpace::ChromaSiting::kCollocated, 45 with_hdr_metadata ? &hdr_metadata : nullptr); 46 } 47 48 RtpPacketInfos CreatePacketInfos(size_t count) { 49 return RtpPacketInfos(RtpPacketInfos::vector_type(count)); 50 } 51 52 } // namespace webrtc