/* * Copyright (c) 2018 The WebRTC project authors. All Rights Reserved. * * Use of this source code is governed by a BSD-style license * that can be found in the LICENSE file in the root of the source * tree. An additional intellectual property rights grant can be found * in the file PATENTS. All contributing project authors may * be found in the AUTHORS file in the root of the source tree. */ #include "api/video/color_space.h" #include #include "test/gtest.h" namespace webrtc { TEST(ColorSpace, TestSettingPrimariesFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_primaries_from_uint8( static_cast(ColorSpace::PrimaryID::kBT470BG))); EXPECT_EQ(ColorSpace::PrimaryID::kBT470BG, color_space.primaries()); EXPECT_FALSE(color_space.set_primaries_from_uint8(3)); EXPECT_FALSE(color_space.set_primaries_from_uint8(23)); EXPECT_FALSE(color_space.set_primaries_from_uint8(64)); } TEST(ColorSpace, TestSettingTransferFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_transfer_from_uint8( static_cast(ColorSpace::TransferID::kBT2020_10))); EXPECT_EQ(ColorSpace::TransferID::kBT2020_10, color_space.transfer()); EXPECT_FALSE(color_space.set_transfer_from_uint8(3)); EXPECT_FALSE(color_space.set_transfer_from_uint8(19)); EXPECT_FALSE(color_space.set_transfer_from_uint8(128)); } TEST(ColorSpace, TestSettingMatrixFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_matrix_from_uint8( static_cast(ColorSpace::MatrixID::kCDNCLS))); EXPECT_EQ(ColorSpace::MatrixID::kCDNCLS, color_space.matrix()); EXPECT_FALSE(color_space.set_matrix_from_uint8(3)); EXPECT_FALSE(color_space.set_matrix_from_uint8(15)); EXPECT_FALSE(color_space.set_matrix_from_uint8(255)); } TEST(ColorSpace, TestSettingRangeFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_range_from_uint8( static_cast(ColorSpace::RangeID::kFull))); EXPECT_EQ(ColorSpace::RangeID::kFull, color_space.range()); EXPECT_FALSE(color_space.set_range_from_uint8(4)); } TEST(ColorSpace, TestSettingChromaSitingHorizontalFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_chroma_siting_horizontal_from_uint8( static_cast(ColorSpace::ChromaSiting::kCollocated))); EXPECT_EQ(ColorSpace::ChromaSiting::kCollocated, color_space.chroma_siting_horizontal()); EXPECT_FALSE(color_space.set_chroma_siting_horizontal_from_uint8(3)); } TEST(ColorSpace, TestSettingChromaSitingVerticalFromUint8) { ColorSpace color_space; EXPECT_TRUE(color_space.set_chroma_siting_vertical_from_uint8( static_cast(ColorSpace::ChromaSiting::kHalf))); EXPECT_EQ(ColorSpace::ChromaSiting::kHalf, color_space.chroma_siting_vertical()); EXPECT_FALSE(color_space.set_chroma_siting_vertical_from_uint8(3)); } } // namespace webrtc