[vlc-devel] [PATCH 0/3] opengl: Abstract picture storage from renderer (part 6: orientation)

Romain Vimont rom1v at videolabs.io
Mon Jun 15 19:24:23 CEST 2020


The goal of this patchset is to fix the orientation matrices (done by the first
2 patches).

But fixing them broke the renderer vertical flip, which was applied on the
input coordinates, resulting in a wrong transformation order (fixed by patch 3).

Concretely, on orientation ORIENT_ROTATED_90, before this patchset, the applied
transformation was:

    rotate_270 * vflip * input_coords

After this patchset, the transformation is:

    vflip * rotate_90 * input_coords

The two errors cancelled each other, so in practice it still worked.

However, to apply the whole transformation from the sampler (so that the
filters are independent of the input orientation), they must be fixed.

MR: https://code.videolan.org/rom1v/vlc/-/merge_requests/11

Romain Vimont (3):
  opengl: fix orientation matrices
  opengl: refactor orientation matrices
  opengl: apply OpenGL vflip from interop

 modules/video_output/opengl/interop_android.c |  31 ----
 modules/video_output/opengl/interop_cvpx.c    |   6 +
 modules/video_output/opengl/interop_dxva2.c   |   3 +
 modules/video_output/opengl/interop_sw.c      |   3 +
 modules/video_output/opengl/interop_vaapi.c   |   3 +
 modules/video_output/opengl/interop_vdpau.c   |   3 +
 modules/video_output/opengl/renderer.c        |  51 +++---
 modules/video_output/opengl/sampler.c         | 170 +++++++++++++-----
 8 files changed, 174 insertions(+), 96 deletions(-)

-- 
2.27.0



More information about the vlc-devel mailing list