diff --git a/src/ImageSharp/Metadata/Profiles/CICP/CicpProfile.cs b/src/ImageSharp/Metadata/Profiles/CICP/CicpProfile.cs
new file mode 100644
index 000000000..5d6e357c4
--- /dev/null
+++ b/src/ImageSharp/Metadata/Profiles/CICP/CicpProfile.cs
@@ -0,0 +1,72 @@
+// Copyright (c) Six Labors.
+// Licensed under the Six Labors Split License.
+
+namespace SixLabors.ImageSharp.Metadata.Profiles.CICP;
+
+///
+/// Represents a CICP profile as per ITU-T H.273 / ISO/IEC 23091-2_2019 providing access to color space information
+///
+public sealed class CicpProfile : IDeepCloneable
+{
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ public CicpProfile()
+ : this(2, 2, 2, null)
+ {
+ }
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The color primaries as number according to ITU-T H.273 / ISO/IEC 23091-2_2019.
+ /// The transfer characteristics as number according to ITU-T H.273 / ISO/IEC 23091-2_2019.
+ /// The matrix coefficients as number according to ITU-T H.273 / ISO/IEC 23091-2_2019.
+ /// The full range flag, or null if unknown.
+ public CicpProfile(byte colorPrimaries, byte transferCharacteristics, byte matrixCoefficients, bool? fullRange)
+ {
+ this.ColorPrimaries = Enum.IsDefined(typeof(CicpColorPrimaries), colorPrimaries) ? (CicpColorPrimaries)colorPrimaries : CicpColorPrimaries.Unspecified;
+ this.TransferCharacteristics = Enum.IsDefined(typeof(CicpTransferCharacteristics), transferCharacteristics) ? (CicpTransferCharacteristics)transferCharacteristics : CicpTransferCharacteristics.Unspecified;
+ this.MatrixCoefficients = Enum.IsDefined(typeof(CicpMatrixCoefficients), matrixCoefficients) ? (CicpMatrixCoefficients)matrixCoefficients : CicpMatrixCoefficients.Unspecified;
+ this.FullRange = fullRange ?? (this.MatrixCoefficients == CicpMatrixCoefficients.Identity);
+ }
+
+ ///
+ /// Initializes a new instance of the class
+ /// by making a copy from another CICP profile.
+ ///
+ /// The other CICP profile, where the clone should be made from.
+ /// is null.>
+ private CicpProfile(CicpProfile other)
+ {
+ Guard.NotNull(other, nameof(other));
+
+ this.ColorPrimaries = other.ColorPrimaries;
+ this.TransferCharacteristics = other.TransferCharacteristics;
+ this.MatrixCoefficients = other.MatrixCoefficients;
+ this.FullRange = other.FullRange;
+ }
+
+ ///
+ /// Gets or sets the color primaries
+ ///
+ public CicpColorPrimaries ColorPrimaries { get; set; }
+
+ ///
+ /// Gets or sets the transfer characteristics
+ ///
+ public CicpTransferCharacteristics TransferCharacteristics { get; set; }
+
+ ///
+ /// Gets or sets the matrix coefficients
+ ///
+ public CicpMatrixCoefficients MatrixCoefficients { get; set; }
+
+ ///
+ /// Gets or sets a value indicating whether the colors use the full numeric range
+ ///
+ public bool FullRange { get; set; }
+
+ ///
+ public CicpProfile DeepClone() => new(this);
+}
diff --git a/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpColorPrimaries.cs b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpColorPrimaries.cs
new file mode 100644
index 000000000..390c6a263
--- /dev/null
+++ b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpColorPrimaries.cs
@@ -0,0 +1,86 @@
+// Copyright (c) Six Labors.
+// Licensed under the Six Labors Split License.
+
+namespace SixLabors.ImageSharp.Metadata.Profiles.CICP;
+
+#pragma warning disable CA1707 // Underscores in enum members
+
+///
+/// Color primaries according to ITU-T H.273 / ISO/IEC 23091-2_2019 subclause 8.1
+///
+public enum CicpColorPrimaries : byte
+{
+ ///
+ /// Rec. ITU-R BT.709-6
+ /// IEC 61966-2-1 sRGB or sYCC
+ /// IEC 61966-2-4
+ /// SMPTE RP 177 (1993) Annex B
+ ///
+ ItuRBt709_6 = 1,
+
+ ///
+ /// Image characteristics are unknown or are determined by the application.
+ ///
+ Unspecified = 2,
+
+ ///
+ /// Rec. ITU-R BT.470-6 System M (historical)
+ ///
+ ItuRBt470_6M = 4,
+
+ ///
+ /// Rec. ITU-R BT.601-7 625
+ /// Rec. ITU-R BT.1700-0 625 PAL and 625 SECAM
+ ///
+ ItuRBt601_7_625 = 5,
+
+ ///
+ /// Rec. ITU-R BT.601-7 525
+ /// Rec. ITU-R BT.1700-0 NTSC
+ /// SMPTE ST 170 (2004)
+ /// (functionally the same as the value 7)
+ ///
+ ItuRBt601_7_525 = 6,
+
+ ///
+ /// SMPTE ST 240 (1999)
+ /// (functionally the same as the value 6)
+ ///
+ SmpteSt240 = 7,
+
+ ///
+ /// Generic film (colour filters using Illuminant C)
+ ///
+ GenericFilm = 8,
+
+ ///
+ /// Rec. ITU-R BT.2020-2
+ /// Rec. ITU-R BT.2100-2
+ ///
+ ItuRBt2020_2 = 9,
+
+ ///
+ /// SMPTE ST 428-1 (2019)
+ /// (CIE 1931 XYZ as in ISO 11664-1)
+ ///
+ SmpteSt428_1 = 10,
+
+ ///
+ /// SMPTE RP 431-2 (2011)
+ /// DCI P3
+ ///
+ SmpteRp431_2 = 11,
+
+ ///
+ /// SMPTE ST 432-1 (2010)
+ /// P3 D65 / Display P3
+ ///
+ SmpteEg432_1 = 12,
+
+ ///
+ /// EBU Tech.3213-E
+ ///
+ EbuTech3213E = 22,
+}
+
+#pragma warning restore CA1707 // Underscores in enum members
diff --git a/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpMatrixCoefficients.cs b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpMatrixCoefficients.cs
new file mode 100644
index 000000000..6b421ab9b
--- /dev/null
+++ b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpMatrixCoefficients.cs
@@ -0,0 +1,96 @@
+// Copyright (c) Six Labors.
+// Licensed under the Six Labors Split License.
+
+namespace SixLabors.ImageSharp.Metadata.Profiles.CICP;
+
+#pragma warning disable CA1707 // Underscores in enum members
+
+///
+/// Matrix coefficients according to ITU-T H.273 / ISO/IEC 23091-2_2019 subclause 8.3
+///
+public enum CicpMatrixCoefficients : byte
+{
+ ///
+ /// The identity matrix.
+ /// IEC 61966-2-1 sRGB
+ /// SMPTE ST 428-1 (2019)
+ ///
+ Identity = 0,
+
+ ///
+ /// Rec. ITU-R BT.709-6
+ /// IEC 61966-2-4 xvYCC709
+ /// SMPTE RP 177 (1993) Annex B
+ ///
+ ItuRBt709_6 = 1,
+
+ ///
+ /// Image characteristics are unknown or are determined by the application.
+ ///
+ Unspecified = 2,
+
+ ///
+ /// FCC Title 47 Code of Federal Regulations 73.682 (a) (20)
+ ///
+ Fcc47 = 4,
+
+ ///
+ /// Rec. ITU-R BT.601-7 625
+ /// Rec. ITU-R BT.1700-0 625 PAL and 625 SECAM
+ /// IEC 61966-2-1 sYCC
+ /// IEC 61966-2-4 xvYCC601
+ /// (functionally the same as the value 6)
+ ///
+ ItuRBt601_7_625 = 5,
+
+ ///
+ /// Rec. ITU-R BT.601-7 525
+ /// Rec. ITU-R BT.1700-0 NTSC
+ /// SMPTE ST 170 (2004)
+ /// (functionally the same as the value 5)
+ ///
+ ItuRBt601_7_525 = 6,
+
+ ///
+ /// SMPTE ST 240 (1999)
+ ///
+ SmpteSt240 = 7,
+
+ ///
+ /// YCgCo
+ ///
+ YCgCo = 8,
+
+ ///
+ /// Rec. ITU-R BT.2020-2 (non-constant luminance)
+ /// Rec. ITU-R BT.2100-2 Y′CbCr
+ ///
+ ItuRBt2020_2_Ncl = 9,
+
+ ///
+ /// Rec. ITU-R BT.2020-2 (constant luminance)
+ ///
+ ItuRBt2020_2_Cl = 10,
+
+ ///
+ /// SMPTE ST 2085 (2015)
+ ///
+ SmpteSt2085 = 11,
+
+ ///
+ /// Chromaticity-derived non-constant luminance system
+ ///
+ ChromaDerivedNcl = 12,
+
+ ///
+ /// Chromaticity-derived constant luminance system
+ ///
+ ChromaDerivedCl = 13,
+
+ ///
+ /// Rec. ITU-R BT.2100-2 ICtCp
+ ///
+ ICtCp = 14,
+}
+
+#pragma warning restore CA1707 // Underscores in enum members
diff --git a/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpTransferCharacteristics.cs b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpTransferCharacteristics.cs
new file mode 100644
index 000000000..f9bc8d90e
--- /dev/null
+++ b/src/ImageSharp/Metadata/Profiles/CICP/Enums/CicpTransferCharacteristics.cs
@@ -0,0 +1,109 @@
+// Copyright (c) Six Labors.
+// Licensed under the Six Labors Split License.
+
+namespace SixLabors.ImageSharp.Metadata.Profiles.CICP;
+
+#pragma warning disable CA1707 // Underscores in enum members
+
+///
+/// Transfer characteristics according to ITU-T H.273 / ISO/IEC 23091-2_2019 subclause 8.2
+/// ///
+public enum CicpTransferCharacteristics : byte
+{
+ ///
+ /// Rec. ITU-R BT.709-6
+ /// (functionally the same as the values 6, 14 and 15)
+ ///
+ ItuRBt709_6 = 1,
+
+ ///
+ /// Image characteristics are unknown or are determined by the application.
+ ///
+ Unspecified = 2,
+
+ ///
+ /// Assumed display gamma 2.2
+ /// Rec. ITU-R BT.1700-0 625 PAL and 625 SECAM
+ ///
+ Gamma2_2 = 4,
+
+ ///
+ /// Assumed display gamma 2.8
+ /// Rec. ITU-R BT.470-6 System B, G (historical)
+ ///
+ Gamma2_8 = 5,
+
+ ///
+ /// Rec. ITU-R BT.601-7 525 or 625
+ /// Rec. ITU-R BT.1700-0 NTSC
+ /// SMPTE ST 170 (2004)
+ /// (functionally the same as the values 1, 14 and 15)
+ ///
+ ItuRBt601_7 = 6,
+
+ ///
+ /// SMPTE ST 240 (1999)
+ ///
+ SmpteSt240 = 7,
+
+ ///
+ /// Linear transfer characteristics
+ ///
+ Linear = 8,
+
+ ///
+ /// Logarithmic transfer characteristic (100:1 range)
+ ///
+ Log100 = 9,
+
+ ///
+ /// Logarithmic transfer characteristic (100 * Sqrt( 10 ) : 1 range)
+ ///
+ Log100Sqrt = 10,
+
+ ///
+ /// IEC 61966-2-4
+ ///
+ Iec61966_2_4 = 11,
+
+ ///
+ /// Rec. ITU-R BT.1361-0 extended colour gamut system (historical)
+ ///
+ ItuRBt1361_0 = 12,
+
+ ///
+ /// IEC 61966-2-1 sRGB or sYCC / Display P3
+ ///
+ Iec61966_2_1 = 13,
+
+ ///
+ /// Rec. ITU-R BT.2020-2 (10-bit system)
+ /// (functionally the same as the values 1, 6 and 15)
+ ///
+ ItuRBt2020_2_10bit = 14,
+
+ ///
+ /// Rec. ITU-R BT.2020-2 (12-bit system)
+ /// (functionally the same as the values 1, 6 and 14)
+ /// ///
+ ItuRBt2020_2_12bit = 15,
+
+ ///
+ /// SMPTE ST 2084 (2014) for 10-, 12-, 14- and 16-bit systems
+ /// Rec. ITU-R BT.2100-2 perceptual quantization (PQ) system
+ ///
+ SmpteSt2084 = 16,
+
+ ///
+ /// SMPTE ST 428-1 (2019)
+ ///
+ SmpteSt428_1 = 17,
+
+ ///
+ /// ARIB STD-B67 (2015)
+ /// Rec. ITU-R BT.2100-2 hybrid log-gamma (HLG) system
+ ///
+ AribStdB67 = 18,
+}
+
+#pragma warning restore CA1707 // Underscores in enum members
diff --git a/src/ImageSharp/Metadata/Profiles/CICP/T-REC-H.273-202107-S!!PDF-E.pdf b/src/ImageSharp/Metadata/Profiles/CICP/T-REC-H.273-202107-S!!PDF-E.pdf
new file mode 100644
index 000000000..12086dd77
Binary files /dev/null and b/src/ImageSharp/Metadata/Profiles/CICP/T-REC-H.273-202107-S!!PDF-E.pdf differ