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}
diff --git a/api/video/color_space.cc b/api/video/color_space.cc
index ad138ab..c6d9259 100644
--- a/api/video/color_space.cc
+++ b/api/video/color_space.cc
@@ -99,11 +99,10 @@
 
 bool ColorSpace::set_primaries_from_uint8(uint8_t enum_value) {
   constexpr PrimaryID kPrimaryIds[] = {
-      PrimaryID::kInvalid,    PrimaryID::kBT709,      PrimaryID::kUNSPECIFIED,
-      PrimaryID::kBT470M,     PrimaryID::kBT470BG,    PrimaryID::kSMPTE170M,
-      PrimaryID::kSMPTE240M,  PrimaryID::kFILM,       PrimaryID::kBT2020,
-      PrimaryID::kSMPTEST428, PrimaryID::kSMPTEST431, PrimaryID::kSMPTEST432,
-      PrimaryID::kJEDECP22};
+      PrimaryID::kBT709,      PrimaryID::kUNSPECIFIED, PrimaryID::kBT470M,
+      PrimaryID::kBT470BG,    PrimaryID::kSMPTE170M,   PrimaryID::kSMPTE240M,
+      PrimaryID::kFILM,       PrimaryID::kBT2020,      PrimaryID::kSMPTEST428,
+      PrimaryID::kSMPTEST431, PrimaryID::kSMPTEST432,  PrimaryID::kJEDECP22};
   constexpr uint64_t enum_bitmask = CreateEnumBitmask(kPrimaryIds);
 
   return SetFromUint8(enum_value, enum_bitmask, &primaries_);
@@ -111,15 +110,15 @@
 
 bool ColorSpace::set_transfer_from_uint8(uint8_t enum_value) {
   constexpr TransferID kTransferIds[] = {
-      TransferID::kInvalid,      TransferID::kBT709,
-      TransferID::kUNSPECIFIED,  TransferID::kGAMMA22,
-      TransferID::kGAMMA28,      TransferID::kSMPTE170M,
-      TransferID::kSMPTE240M,    TransferID::kLINEAR,
-      TransferID::kLOG,          TransferID::kLOG_SQRT,
-      TransferID::kIEC61966_2_4, TransferID::kBT1361_ECG,
-      TransferID::kIEC61966_2_1, TransferID::kBT2020_10,
-      TransferID::kBT2020_12,    TransferID::kSMPTEST2084,
-      TransferID::kSMPTEST428,   TransferID::kARIB_STD_B67};
+      TransferID::kBT709,       TransferID::kUNSPECIFIED,
+      TransferID::kGAMMA22,     TransferID::kGAMMA28,
+      TransferID::kSMPTE170M,   TransferID::kSMPTE240M,
+      TransferID::kLINEAR,      TransferID::kLOG,
+      TransferID::kLOG_SQRT,    TransferID::kIEC61966_2_4,
+      TransferID::kBT1361_ECG,  TransferID::kIEC61966_2_1,
+      TransferID::kBT2020_10,   TransferID::kBT2020_12,
+      TransferID::kSMPTEST2084, TransferID::kSMPTEST428,
+      TransferID::kARIB_STD_B67};
   constexpr uint64_t enum_bitmask = CreateEnumBitmask(kTransferIds);
 
   return SetFromUint8(enum_value, enum_bitmask, &transfer_);
@@ -127,11 +126,11 @@
 
 bool ColorSpace::set_matrix_from_uint8(uint8_t enum_value) {
   constexpr MatrixID kMatrixIds[] = {
-      MatrixID::kRGB,       MatrixID::kBT709,        MatrixID::kUNSPECIFIED,
-      MatrixID::kFCC,       MatrixID::kBT470BG,      MatrixID::kSMPTE170M,
-      MatrixID::kSMPTE240M, MatrixID::kYCOCG,        MatrixID::kBT2020_NCL,
-      MatrixID::kBT2020_CL, MatrixID::kSMPTE2085,    MatrixID::kCDNCLS,
-      MatrixID::kCDCLS,     MatrixID::kBT2100_ICTCP, MatrixID::kInvalid};
+      MatrixID::kRGB,       MatrixID::kBT709,       MatrixID::kUNSPECIFIED,
+      MatrixID::kFCC,       MatrixID::kBT470BG,     MatrixID::kSMPTE170M,
+      MatrixID::kSMPTE240M, MatrixID::kYCOCG,       MatrixID::kBT2020_NCL,
+      MatrixID::kBT2020_CL, MatrixID::kSMPTE2085,   MatrixID::kCDNCLS,
+      MatrixID::kCDCLS,     MatrixID::kBT2100_ICTCP};
   constexpr uint64_t enum_bitmask = CreateEnumBitmask(kMatrixIds);
 
   return SetFromUint8(enum_value, enum_bitmask, &matrix_);
diff --git a/api/video/color_space.h b/api/video/color_space.h
index 79a15f5..ff022fe 100644
--- a/api/video/color_space.h
+++ b/api/video/color_space.h
@@ -35,7 +35,6 @@
  public:
   enum class PrimaryID : uint8_t {
     // The indices are equal to the values specified in T-REC H.273 Table 2.
-    kInvalid = 0,
     kBT709 = 1,
     kUNSPECIFIED = 2,
     kBT470M = 4,
@@ -54,7 +53,6 @@
 
   enum class TransferID : uint8_t {
     // The indices are equal to the values specified in T-REC H.273 Table 3.
-    kInvalid = 0,
     kBT709 = 1,
     kUNSPECIFIED = 2,
     kGAMMA22 = 4,
@@ -92,7 +90,6 @@
     kCDNCLS = 12,
     kCDCLS = 13,
     kBT2100_ICTCP = 14,
-    kInvalid = 63,
     // When adding/removing entries here, please make sure to do the
     // corresponding change to kMatrixIds.
   };
@@ -145,9 +142,9 @@
   void set_hdr_metadata(const HdrMetadata* hdr_metadata);
 
  private:
-  PrimaryID primaries_ = PrimaryID::kInvalid;
-  TransferID transfer_ = TransferID::kInvalid;
-  MatrixID matrix_ = MatrixID::kInvalid;
+  PrimaryID primaries_ = PrimaryID::kUNSPECIFIED;
+  TransferID transfer_ = TransferID::kUNSPECIFIED;
+  MatrixID matrix_ = MatrixID::kUNSPECIFIED;
   RangeID range_ = RangeID::kInvalid;
   absl::optional<HdrMetadata> hdr_metadata_;
 };
diff --git a/modules/video_coding/codecs/h264/h264_color_space.cc b/modules/video_coding/codecs/h264/h264_color_space.cc
index b48ccfb..b764d4e 100644
--- a/modules/video_coding/codecs/h264/h264_color_space.cc
+++ b/modules/video_coding/codecs/h264/h264_color_space.cc
@@ -13,7 +13,7 @@
 namespace webrtc {
 
 ColorSpace ExtractH264ColorSpace(AVCodecContext* codec) {
-  ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kInvalid;
+  ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kUNSPECIFIED;
   switch (codec->color_primaries) {
     case AVCOL_PRI_BT709:
       primaries = ColorSpace::PrimaryID::kBT709;
@@ -55,7 +55,7 @@
       break;
   }
 
-  ColorSpace::TransferID transfer = ColorSpace::TransferID::kInvalid;
+  ColorSpace::TransferID transfer = ColorSpace::TransferID::kUNSPECIFIED;
   switch (codec->color_trc) {
     case AVCOL_TRC_BT709:
       transfer = ColorSpace::TransferID::kBT709;
@@ -112,7 +112,7 @@
       break;
   }
 
-  ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kInvalid;
+  ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kUNSPECIFIED;
   switch (codec->colorspace) {
     case AVCOL_SPC_RGB:
       matrix = ColorSpace::MatrixID::kRGB;
diff --git a/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc b/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
index ea92bd9..09c8c22 100644
--- a/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
+++ b/modules/video_coding/codecs/h264/test/h264_impl_unittest.cc
@@ -72,9 +72,9 @@
   EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36);
 
   const ColorSpace color_space = *decoded_frame->color_space();
-  EXPECT_EQ(ColorSpace::PrimaryID::kInvalid, color_space.primaries());
-  EXPECT_EQ(ColorSpace::TransferID::kInvalid, color_space.transfer());
-  EXPECT_EQ(ColorSpace::MatrixID::kInvalid, color_space.matrix());
+  EXPECT_EQ(ColorSpace::PrimaryID::kUNSPECIFIED, color_space.primaries());
+  EXPECT_EQ(ColorSpace::TransferID::kUNSPECIFIED, color_space.transfer());
+  EXPECT_EQ(ColorSpace::MatrixID::kUNSPECIFIED, color_space.matrix());
   EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range());
 }
 
diff --git a/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc b/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc
index 85fa278..f5a0fd1 100644
--- a/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc
+++ b/modules/video_coding/codecs/vp9/test/vp9_impl_unittest.cc
@@ -156,9 +156,9 @@
   EXPECT_GT(I420PSNR(input_frame, decoded_frame.get()), 36);
 
   const ColorSpace color_space = *decoded_frame->color_space();
-  EXPECT_EQ(ColorSpace::PrimaryID::kInvalid, color_space.primaries());
-  EXPECT_EQ(ColorSpace::TransferID::kInvalid, color_space.transfer());
-  EXPECT_EQ(ColorSpace::MatrixID::kInvalid, color_space.matrix());
+  EXPECT_EQ(ColorSpace::PrimaryID::kUNSPECIFIED, color_space.primaries());
+  EXPECT_EQ(ColorSpace::TransferID::kUNSPECIFIED, color_space.transfer());
+  EXPECT_EQ(ColorSpace::MatrixID::kUNSPECIFIED, color_space.matrix());
   EXPECT_EQ(ColorSpace::RangeID::kLimited, color_space.range());
 }
 
diff --git a/modules/video_coding/codecs/vp9/vp9_impl.cc b/modules/video_coding/codecs/vp9/vp9_impl.cc
index 765bcf9..faeeebb 100644
--- a/modules/video_coding/codecs/vp9/vp9_impl.cc
+++ b/modules/video_coding/codecs/vp9/vp9_impl.cc
@@ -67,9 +67,9 @@
 ColorSpace ExtractVP9ColorSpace(vpx_color_space_t space_t,
                                 vpx_color_range_t range_t,
                                 unsigned int bit_depth) {
-  ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kInvalid;
-  ColorSpace::TransferID transfer = ColorSpace::TransferID::kInvalid;
-  ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kInvalid;
+  ColorSpace::PrimaryID primaries = ColorSpace::PrimaryID::kUNSPECIFIED;
+  ColorSpace::TransferID transfer = ColorSpace::TransferID::kUNSPECIFIED;
+  ColorSpace::MatrixID matrix = ColorSpace::MatrixID::kUNSPECIFIED;
   switch (space_t) {
     case VPX_CS_BT_601:
     case VPX_CS_SMPTE_170: