📷 A modern, cross-platform, 2D Graphics library for .NET
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

129 lines
3.9 KiB

// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Metadata.Profiles.Icc;
namespace SixLabors.ImageSharp.Tests.TestDataIcc;
internal static class IccTestDataMultiProcessElements
{
/// <summary>
/// <para>Input Channel Count: 3</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly IccCurveSetProcessElement CurvePeValGrad = new([
IccTestDataCurves.OneDimensionalValFormula1,
IccTestDataCurves.OneDimensionalValFormula2,
IccTestDataCurves.OneDimensionalValFormula1
]);
/// <summary>
/// <para>Input Channel Count: 3</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly byte[] CurvePeGrad = ArrayHelper.Concat(
IccTestDataCurves.OneDimensionalFormula1,
IccTestDataCurves.OneDimensionalFormula2,
IccTestDataCurves.OneDimensionalFormula1);
public static readonly object[][] CurveSetTestData =
[
[CurvePeGrad, CurvePeValGrad, 3, 3]
];
/// <summary>
/// <para>Input Channel Count: 3</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly IccMatrixProcessElement MatrixPeValGrad = new(
IccTestDataMatrix.Single2DArrayValGrad,
IccTestDataMatrix.Single1DArrayValGrad);
/// <summary>
/// <para>Input Channel Count: 3</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly byte[] MatrixPeGrad = ArrayHelper.Concat(
IccTestDataMatrix.Single2DGrad,
IccTestDataMatrix.Single1DGrad);
public static readonly object[][] MatrixTestData =
[
[MatrixPeGrad, MatrixPeValGrad, 3, 3]
];
/// <summary>
/// <para>Input Channel Count: 2</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly IccClutProcessElement ClutpeValGrad = new(IccTestDataLut.ClutValf32);
/// <summary>
/// <para>Input Channel Count: 2</para>
/// <para>Output Channel Count: 3</para>
/// </summary>
public static readonly byte[] ClutpeGrad = IccTestDataLut.ClutF32;
public static readonly object[][] ClutTestData =
[
[ClutpeGrad, ClutpeValGrad, 2, 3]
];
public static readonly IccMultiProcessElement MpeValMatrix = MatrixPeValGrad;
public static readonly IccMultiProcessElement MpeValClut = ClutpeValGrad;
public static readonly IccMultiProcessElement MpeValCurve = CurvePeValGrad;
public static readonly IccMultiProcessElement MpeValbAcs = new IccBAcsProcessElement(3, 3);
public static readonly IccMultiProcessElement MpeValeAcs = new IccEAcsProcessElement(3, 3);
public static readonly byte[] MpeMatrix = ArrayHelper.Concat(
new byte[]
{
0x6D, 0x61, 0x74, 0x66,
0x00, 0x03,
0x00, 0x03,
},
MatrixPeGrad);
public static readonly byte[] MpeClut = ArrayHelper.Concat(
new byte[]
{
0x63, 0x6C, 0x75, 0x74,
0x00, 0x02,
0x00, 0x03,
},
ClutpeGrad);
public static readonly byte[] MpeCurve = ArrayHelper.Concat(
new byte[]
{
0x6D, 0x66, 0x6C, 0x74,
0x00, 0x03,
0x00, 0x03,
},
CurvePeGrad);
public static readonly byte[] MpeBAcs =
[
0x62, 0x41, 0x43, 0x53,
0x00, 0x03,
0x00, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
];
public static readonly byte[] MpeEAcs =
[
0x65, 0x41, 0x43, 0x53,
0x00, 0x03,
0x00, 0x03,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
];
public static readonly object[][] MultiProcessElementTestData =
[
[MpeMatrix, MpeValMatrix],
[MpeClut, MpeValClut],
[MpeCurve, MpeValCurve],
[MpeBAcs, MpeValbAcs],
[MpeEAcs, MpeValeAcs]
];
}