summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/opengl/utils.c4
-rw-r--r--video/out/opengl/utils.h7
2 files changed, 7 insertions, 4 deletions
diff --git a/video/out/opengl/utils.c b/video/out/opengl/utils.c
index 98ba098328..f88cd4374a 100644
--- a/video/out/opengl/utils.c
+++ b/video/out/opengl/utils.c
@@ -482,8 +482,8 @@ void gl_transform_trans(struct gl_transform t, struct gl_transform *x)
{
float x00 = x->m[0][0], x01 = x->m[0][1], x10 = x->m[1][0], x11 = x->m[1][1];
x->m[0][0] = t.m[0][0] * x00 + t.m[0][1] * x10;
- x->m[1][0] = t.m[0][0] * x01 + t.m[0][1] * x11;
- x->m[0][1] = t.m[1][0] * x00 + t.m[1][1] * x10;
+ x->m[1][0] = t.m[1][0] * x00 + t.m[1][1] * x10;
+ x->m[0][1] = t.m[0][0] * x01 + t.m[0][1] * x11;
x->m[1][1] = t.m[1][0] * x01 + t.m[1][1] * x11;
gl_transform_vec(t, &x->t[0], &x->t[1]);
}
diff --git a/video/out/opengl/utils.h b/video/out/opengl/utils.h
index a4a6cac302..170e24d71a 100644
--- a/video/out/opengl/utils.h
+++ b/video/out/opengl/utils.h
@@ -87,6 +87,9 @@ void fbotex_set_filter(struct fbotex *fbo, GLenum gl_filter);
// A 3x2 matrix, with the translation part separate.
struct gl_transform {
+ // row-major, e.g. in mathematical notation:
+ // | m[0][0] m[0][1] |
+ // | m[1][0] m[1][1] |
float m[2][2];
float t[2];
};
@@ -104,8 +107,8 @@ void gl_transform_ortho(struct gl_transform *t, float x0, float x1,
static inline void gl_transform_vec(struct gl_transform t, float *x, float *y)
{
float vx = *x, vy = *y;
- *x = vx * t.m[0][0] + vy * t.m[1][0] + t.t[0];
- *y = vx * t.m[0][1] + vy * t.m[1][1] + t.t[1];
+ *x = vx * t.m[0][0] + vy * t.m[0][1] + t.t[0];
+ *y = vx * t.m[1][0] + vy * t.m[1][1] + t.t[1];
}
struct mp_rect_f {