Remove color space enum value kInvalid

kInvalid does not have a corresponding entry in the standard is therefore removed.
kUNSPECIFIED should be used instead.

Bug: webrtc:8651
Change-Id: Iee8cd85830aedaa4a9102251121b9975d40fa5e2
Reviewed-on: https://webrtc-review.googlesource.com/c/112421
Reviewed-by: Erik Språng <sprang@webrtc.org>
Reviewed-by: Niels Moller <nisse@webrtc.org>
Commit-Queue: Johannes Kron <kron@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25871}
This commit is contained in:
Johannes Kron
2018-11-30 10:51:20 +01:00
committed by Commit Bot
parent 93dac8ec36
commit 3b923d95d5
6 changed files with 33 additions and 37 deletions

View File

@ -99,11 +99,10 @@ const HdrMetadata* ColorSpace::hdr_metadata() const {
bool ColorSpace::set_primaries_from_uint8(uint8_t enum_value) { bool ColorSpace::set_primaries_from_uint8(uint8_t enum_value) {
constexpr PrimaryID kPrimaryIds[] = { constexpr PrimaryID kPrimaryIds[] = {
PrimaryID::kInvalid, PrimaryID::kBT709, PrimaryID::kUNSPECIFIED, PrimaryID::kBT709, PrimaryID::kUNSPECIFIED, PrimaryID::kBT470M,
PrimaryID::kBT470M, PrimaryID::kBT470BG, PrimaryID::kSMPTE170M, PrimaryID::kBT470BG, PrimaryID::kSMPTE170M, PrimaryID::kSMPTE240M,
PrimaryID::kSMPTE240M, PrimaryID::kFILM, PrimaryID::kBT2020, PrimaryID::kFILM, PrimaryID::kBT2020, PrimaryID::kSMPTEST428,
PrimaryID::kSMPTEST428, PrimaryID::kSMPTEST431, PrimaryID::kSMPTEST432, PrimaryID::kSMPTEST431, PrimaryID::kSMPTEST432, PrimaryID::kJEDECP22};
PrimaryID::kJEDECP22};
constexpr uint64_t enum_bitmask = CreateEnumBitmask(kPrimaryIds); constexpr uint64_t enum_bitmask = CreateEnumBitmask(kPrimaryIds);
return SetFromUint8(enum_value, enum_bitmask, &primaries_); return SetFromUint8(enum_value, enum_bitmask, &primaries_);
@ -111,15 +110,15 @@ bool ColorSpace::set_primaries_from_uint8(uint8_t enum_value) {
bool ColorSpace::set_transfer_from_uint8(uint8_t enum_value) { bool ColorSpace::set_transfer_from_uint8(uint8_t enum_value) {
constexpr TransferID kTransferIds[] = { constexpr TransferID kTransferIds[] = {
TransferID::kInvalid, TransferID::kBT709, TransferID::kBT709, TransferID::kUNSPECIFIED,
TransferID::kUNSPECIFIED, TransferID::kGAMMA22, TransferID::kGAMMA22, TransferID::kGAMMA28,
TransferID::kGAMMA28, TransferID::kSMPTE170M, TransferID::kSMPTE170M, TransferID::kSMPTE240M,
TransferID::kSMPTE240M, TransferID::kLINEAR, TransferID::kLINEAR, TransferID::kLOG,
TransferID::kLOG, TransferID::kLOG_SQRT, TransferID::kLOG_SQRT, TransferID::kIEC61966_2_4,
TransferID::kIEC61966_2_4, TransferID::kBT1361_ECG, TransferID::kBT1361_ECG, TransferID::kIEC61966_2_1,
TransferID::kIEC61966_2_1, TransferID::kBT2020_10, TransferID::kBT2020_10, TransferID::kBT2020_12,
TransferID::kBT2020_12, TransferID::kSMPTEST2084, TransferID::kSMPTEST2084, TransferID::kSMPTEST428,
TransferID::kSMPTEST428, TransferID::kARIB_STD_B67}; TransferID::kARIB_STD_B67};
constexpr uint64_t enum_bitmask = CreateEnumBitmask(kTransferIds); constexpr uint64_t enum_bitmask = CreateEnumBitmask(kTransferIds);
return SetFromUint8(enum_value, enum_bitmask, &transfer_); return SetFromUint8(enum_value, enum_bitmask, &transfer_);
@ -127,11 +126,11 @@ bool ColorSpace::set_transfer_from_uint8(uint8_t enum_value) {
bool ColorSpace::set_matrix_from_uint8(uint8_t enum_value) { bool ColorSpace::set_matrix_from_uint8(uint8_t enum_value) {
constexpr MatrixID kMatrixIds[] = { constexpr MatrixID kMatrixIds[] = {
MatrixID::kRGB, MatrixID::kBT709, MatrixID::kUNSPECIFIED, MatrixID::kRGB, MatrixID::kBT709, MatrixID::kUNSPECIFIED,
MatrixID::kFCC, MatrixID::kBT470BG, MatrixID::kSMPTE170M, MatrixID::kFCC, MatrixID::kBT470BG, MatrixID::kSMPTE170M,
MatrixID::kSMPTE240M, MatrixID::kYCOCG, MatrixID::kBT2020_NCL, MatrixID::kSMPTE240M, MatrixID::kYCOCG, MatrixID::kBT2020_NCL,
MatrixID::kBT2020_CL, MatrixID::kSMPTE2085, MatrixID::kCDNCLS, MatrixID::kBT2020_CL, MatrixID::kSMPTE2085, MatrixID::kCDNCLS,
MatrixID::kCDCLS, MatrixID::kBT2100_ICTCP, MatrixID::kInvalid}; MatrixID::kCDCLS, MatrixID::kBT2100_ICTCP};
constexpr uint64_t enum_bitmask = CreateEnumBitmask(kMatrixIds); constexpr uint64_t enum_bitmask = CreateEnumBitmask(kMatrixIds);
return SetFromUint8(enum_value, enum_bitmask, &matrix_); return SetFromUint8(enum_value, enum_bitmask, &matrix_);

View File

@ -35,7 +35,6 @@ class ColorSpace {
public: public:
enum class PrimaryID : uint8_t { enum class PrimaryID : uint8_t {
// The indices are equal to the values specified in T-REC H.273 Table 2. // The indices are equal to the values specified in T-REC H.273 Table 2.
kInvalid = 0,
kBT709 = 1, kBT709 = 1,
kUNSPECIFIED = 2, kUNSPECIFIED = 2,
kBT470M = 4, kBT470M = 4,
@ -54,7 +53,6 @@ class ColorSpace {
enum class TransferID : uint8_t { enum class TransferID : uint8_t {
// The indices are equal to the values specified in T-REC H.273 Table 3. // The indices are equal to the values specified in T-REC H.273 Table 3.
kInvalid = 0,
kBT709 = 1, kBT709 = 1,
kUNSPECIFIED = 2, kUNSPECIFIED = 2,
kGAMMA22 = 4, kGAMMA22 = 4,
@ -92,7 +90,6 @@ class ColorSpace {
kCDNCLS = 12, kCDNCLS = 12,
kCDCLS = 13, kCDCLS = 13,
kBT2100_ICTCP = 14, kBT2100_ICTCP = 14,
kInvalid = 63,
// When adding/removing entries here, please make sure to do the // When adding/removing entries here, please make sure to do the
// corresponding change to kMatrixIds. // corresponding change to kMatrixIds.
}; };
@ -145,9 +142,9 @@ class ColorSpace {
void set_hdr_metadata(const HdrMetadata* hdr_metadata); void set_hdr_metadata(const HdrMetadata* hdr_metadata);
private: private:
PrimaryID primaries_ = PrimaryID::kInvalid; PrimaryID primaries_ = PrimaryID::kUNSPECIFIED;
TransferID transfer_ = TransferID::kInvalid; TransferID transfer_ = TransferID::kUNSPECIFIED;
MatrixID matrix_ = MatrixID::kInvalid; MatrixID matrix_ = MatrixID::kUNSPECIFIED;
RangeID range_ = RangeID::kInvalid; RangeID range_ = RangeID::kInvalid;
absl::optional<HdrMetadata> hdr_metadata_; absl::optional<HdrMetadata> hdr_metadata_;
}; };

View File

@ -13,7 +13,7 @@
namespace webrtc { namespace webrtc {
ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) { ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) {
ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kInvalid; ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kUNSPECIFIED;
switch (codec->color_primaries) { switch (codec->color_primaries) {
case AVCOL_PRI_BT709: case AVCOL_PRI_BT709:
primaries = ColorSpace::PrimaryID::kBT709; primaries = ColorSpace::PrimaryID::kBT709;
@ -55,7 +55,7 @@ ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) {
break; break;
} }
ColorSpace::TransferID transfer = ColorSpace::TransferID::kInvalid; ColorSpace::TransferID transfer = ColorSpace::TransferID::kUNSPECIFIED;
switch (codec->color_trc) { switch (codec->color_trc) {
case AVCOL_TRC_BT709: case AVCOL_TRC_BT709:
transfer = ColorSpace::TransferID::kBT709; transfer = ColorSpace::TransferID::kBT709;
@ -112,7 +112,7 @@ ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) {
break; break;
} }
ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kInvalid; ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kUNSPECIFIED;
switch (codec->colorspace) { switch (codec->colorspace) {
case AVCOL_SPC_RGB: case AVCOL_SPC_RGB:
matrix = ColorSpace::MatrixID::kRGB; matrix = ColorSpace::MatrixID::kRGB;

View File

@ -72,9 +72,9 @@ TEST_F(TestH264Impl, MAYBE_EncodeDecode) {
EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36); EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36);
const ColorSpace color_space = *decoded_frame->color_space(); const ColorSpace color_space = *decoded_frame->color_space();
EXPECT_EQ(ColorSpace::PrimaryID::kInvalid, color_space.primaries()); EXPECT_EQ(ColorSpace::PrimaryID::kUNSPECIFIED, color_space.primaries());
EXPECT_EQ(ColorSpace::TransferID::kInvalid, color_space.transfer()); EXPECT_EQ(ColorSpace::TransferID::kUNSPECIFIED, color_space.transfer());
EXPECT_EQ(ColorSpace::MatrixID::kInvalid, color_space.matrix()); EXPECT_EQ(ColorSpace::MatrixID::kUNSPECIFIED, color_space.matrix());
EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range()); EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range());
} }

View File

@ -156,9 +156,9 @@ TEST_F(TestVp9Impl, EncodeDecode) {
EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36); EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36);
const ColorSpace color_space = *decoded_frame->color_space(); const ColorSpace color_space = *decoded_frame->color_space();
EXPECT_EQ(ColorSpace::PrimaryID::kInvalid, color_space.primaries()); EXPECT_EQ(ColorSpace::PrimaryID::kUNSPECIFIED, color_space.primaries());
EXPECT_EQ(ColorSpace::TransferID::kInvalid, color_space.transfer()); EXPECT_EQ(ColorSpace::TransferID::kUNSPECIFIED, color_space.transfer());
EXPECT_EQ(ColorSpace::MatrixID::kInvalid, color_space.matrix()); EXPECT_EQ(ColorSpace::MatrixID::kUNSPECIFIED, color_space.matrix());
EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range()); EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range());
} }

View File

@ -67,9 +67,9 @@ int GetCpuSpeed(int width, int height) {
ColorSpace ExtractVP9ColorSpace(vpx_color_space_t space_t, ColorSpace ExtractVP9ColorSpace(vpx_color_space_t space_t,
vpx_color_range_t range_t, vpx_color_range_t range_t,
unsigned int bit_depth) { unsigned int bit_depth) {
ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kInvalid; ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kUNSPECIFIED;
ColorSpace::TransferID transfer = ColorSpace::TransferID::kInvalid; ColorSpace::TransferID transfer = ColorSpace::TransferID::kUNSPECIFIED;
ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kInvalid; ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kUNSPECIFIED;
switch (space_t) { switch (space_t) {
case VPX_CS_BT_601: case VPX_CS_BT_601:
case VPX_CS_SMPTE_170: case VPX_CS_SMPTE_170: