The Array element specifies an array of values for a LUT or matrix. When it is contained by a Matrix element, the format of its contents is different than when it is contained by LUT1D or LUT3D elements.
Version 1.3.
In a Matrix, the values specify the entries of the matrix which are serialized row by row from top to bottom and from left to right. The scaling of the array values depends on the input and output bit-depths. Color values are treated as column vectors for the purpose of multiplication.
The scaling of the array values depends on the input and output bit-depths. For example if the input depth is 10i and the output depth is 12i, then a matrix containing entries of 4095/1023 along the main diagonal and entries of 0 everywhere else is the identity transform.
3×3 Matrix Multiplication
3×4 Matrix Multiplication
4×4 Matrix Multiplication
4×5 Matrix Multiplication
Value | Meaning |
---|---|
"3 3 3" | A 3×3 matrix operating on RGB values. |
"3 4 3" | A 3×4 matrix operating on RGB values. Introduced in version 1.3. |
"4 4 4" | A 4×4 matrix operating on RGBA values. Introduced in version 1.3. |
"4 5 4" | A 4×5 matrix operating on RGBA values. Introduced in version 1.3. |
"4 4 3" | A 4×4 matrix operating on RGB values. If you use this option, the bottom row of the matrix should be [0 0 0 1]. This option is valid only if the version attribute of the ProcessList element is "1.2". For versions 1.3 and later, use "3 4 3" instead. |
<ProcessList id="af6a6c73-aae9-4be6-8051-a796bc480b1c" version="1.2"> <Matrix inBitDepth="32f" outBitDepth="32f"> <Array dim="3 3 3"> 0.7841929793 0.0904410034 0.1253670007 0.0445200019 1.0391299725 -0.0836500004 0.0358299986 -0.3302420080 1.2944129705 </Array> </Matrix> </ProcessList>
<ProcessList id="53d366de-e200-476f-b3fd-ed1ca7044197" version="1.3"> <Matrix inBitDepth="32f" outBitDepth="10i"> <Array dim="3 4 3"> 499.99996948 0.00000000 0.00000000 94.99999237 0.00000000 499.99996948 0.00000000 94.99999237 0.00000000 0.00000000 499.99996948 94.99999237 </Array> </Matrix> </ProcessList>