[vlc-devel] [PATCH v2 01/29] opengl: apply transform matrix on all planes

Romain Vimont rom1v at videolabs.io
Thu Feb 6 14:17:30 CET 2020


The transform matrix provided by Android was applied only on the first
plane.
---
 modules/video_output/opengl/vout_helper.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c
index 7697f364bb..55703850ce 100644
--- a/modules/video_output/opengl/vout_helper.c
+++ b/modules/video_output/opengl/vout_helper.c
@@ -327,11 +327,11 @@ static GLuint BuildVertexShader(const opengl_tex_converter_t *tc,
     const char *coord1_header = plane_count > 1 ?
         "varying vec2 TexCoord1;\nattribute vec4 MultiTexCoord1;\n" : "";
     const char *coord1_code = plane_count > 1 ?
-        " TexCoord1 = vec4(OrientationMatrix * MultiTexCoord1).st;\n" : "";
+        " TexCoord1 = vec4(TransformMatrix * OrientationMatrix * MultiTexCoord1).st;\n" : "";
     const char *coord2_header = plane_count > 2 ?
         "varying vec2 TexCoord2;\nattribute vec4 MultiTexCoord2;\n" : "";
     const char *coord2_code = plane_count > 2 ?
-        " TexCoord2 = vec4(OrientationMatrix * MultiTexCoord2).st;\n" : "";
+        " TexCoord2 = vec4(TransformMatrix * OrientationMatrix * MultiTexCoord2).st;\n" : "";
 
     char *code;
     if (asprintf(&code, template, tc->glsl_version, coord1_header, coord2_header,
-- 
2.25.0



More information about the vlc-devel mailing list