37static void set_concat(
float result[20],
const float outer[20],
const float inner[20]) {
48 for (
int j = 0; j < 20; j += 5) {
49 for (
int i = 0;
i < 4;
i++) {
50 target[index++] = outer[j + 0] * inner[
i + 0] +
51 outer[j + 1] * inner[
i + 5] +
52 outer[j + 2] * inner[
i + 10] +
53 outer[j + 3] * inner[
i + 15];
55 target[index++] = outer[j + 0] * inner[4] +
56 outer[j + 1] * inner[9] +
57 outer[j + 2] * inner[14] +
58 outer[j + 3] * inner[19] +
90 set_concat(fMat.data(), matA.fMat.data(), matB.fMat.data());
95static void setrow(
float row[],
float r,
float g,
float b) {
static void set_concat(float result[20], const float outer[20], const float inner[20])
static void setrow(float row[], float r, float g, float b)
void SkColorMatrix_RGB2YUV(SkYUVColorSpace cs, float m[20])
void SkColorMatrix_YUV2RGB(SkYUVColorSpace cs, float m[20])
static SkColorMatrix RGBtoYUV(SkYUVColorSpace)
static SkColorMatrix YUVtoRGB(SkYUVColorSpace)
void setConcat(const SkColorMatrix &a, const SkColorMatrix &b)
void postTranslate(float dr, float dg, float db, float da)
void setSaturation(float sat)
void setScale(float rScale, float gScale, float bScale, float aScale=1.0f)
static float sat(float r, float g, float b)