gint v_subs, h_subs;
gint matrix[12];
gint a, y, u, v;
+ gint r, g, b;
gint p[4];
p[0] =
v = srcV[0];
dest[p[0]] = a;
- dest[p[1]] = APPLY_MATRIX (matrix, 0, y, u, v);
- dest[p[2]] = APPLY_MATRIX (matrix, 1, y, u, v);
- dest[p[3]] = APPLY_MATRIX (matrix, 2, y, u, v);
+ r = APPLY_MATRIX (matrix, 0, y, u, v);
+ g = APPLY_MATRIX (matrix, 1, y, u, v);
+ b = APPLY_MATRIX (matrix, 2, y, u, v);
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
dest += 4;
srcY++;
const guint8 *srcV, *srcV_tmp;
gint i, j;
gint a, y, u, v;
+ gint r, g, b;
gint src_wrap, src_uv_wrap;
gint y_stride, uv_stride;
gint v_subs, h_subs;
u += 128;
v += 128;
- dest[0] = a;
- dest[1] = APPLY_MATRIX (matrix, 0, y, u, v);
- dest[2] = APPLY_MATRIX (matrix, 1, y, u, v);
- dest[3] = APPLY_MATRIX (matrix, 2, y, u, v);
+ dest[p[0]] = a;
+ r = APPLY_MATRIX (matrix, 0, y, u, v);
+ g = APPLY_MATRIX (matrix, 1, y, u, v);
+ b = APPLY_MATRIX (matrix, 2, y, u, v);
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
dest += 4;
srcY++;
b = APPLY_MATRIX (matrix, 2, src[o[0]], src[o[1]], src[o[3]]);
dest[p[0]] = s_alpha;
- dest[p[1]] = r;
- dest[p[2]] = g;
- dest[p[3]] = b;
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
r = APPLY_MATRIX (matrix, 0, src[o[2]], src[o[1]], src[o[3]]);
g = APPLY_MATRIX (matrix, 1, src[o[2]], src[o[1]], src[o[3]]);
b = APPLY_MATRIX (matrix, 2, src[o[2]], src[o[1]], src[o[3]]);
dest[4 + p[0]] = s_alpha;
- dest[4 + p[1]] = r;
- dest[4 + p[2]] = g;
- dest[4 + p[3]] = b;
+ dest[4 + p[1]] = CLAMP (r, 0, 255);
+ dest[4 + p[2]] = CLAMP (g, 0, 255);
+ dest[4 + p[3]] = CLAMP (b, 0, 255);
dest += 8;
src += 4;
b = APPLY_MATRIX (matrix, 2, src[o[0]], src[o[1]], src[o[3]]);
dest[p[0]] = s_alpha;
- dest[p[1]] = r;
- dest[p[2]] = g;
- dest[p[3]] = b;
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
dest += 4;
}
b = APPLY_MATRIX (matrix, 2, y, u, v);
dest[p[0]] = a;
- dest[p[1]] = r;
- dest[p[2]] = g;
- dest[p[3]] = b;
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
y = src[o[2]];
u = src[o[1]] - 128;
b = APPLY_MATRIX (matrix, 2, y, u, v);
dest[4 + p[0]] = a;
- dest[4 + p[1]] = r;
- dest[4 + p[2]] = g;
- dest[4 + p[3]] = b;
+ dest[4 + p[1]] = CLAMP (r, 0, 255);
+ dest[4 + p[2]] = CLAMP (g, 0, 255);
+ dest[4 + p[3]] = CLAMP (b, 0, 255);
dest += 8;
src += 4;
b = APPLY_MATRIX (matrix, 2, y, u, v);
dest[p[0]] = a;
- dest[p[1]] = r;
- dest[p[2]] = g;
- dest[p[3]] = b;
+ dest[p[1]] = CLAMP (r, 0, 255);
+ dest[p[2]] = CLAMP (g, 0, 255);
+ dest[p[3]] = CLAMP (b, 0, 255);
dest += 4;
}