[vlc-devel] [PATCH 00/16] VR/360 navigation, new set

Thomas Guillem thomas at gllm.fr
Wed Nov 9 18:32:54 CET 2016


Hello, we propose a new set of patches for VR/360 navigation.

The first commit changed quite a lot:

 - vout_SetViewpoint() is renamed to vout_UpdateViewpoint(). This new function
   allow now to increment a viewpoint to the one that is currently used by the
   vout.

 - We now use integers for the vlc_viewpoint_t struct, vr360 navigation values
   are not stored as int32_t. A value of 10000 represents one radian.

 - We don't use float anymore because of rounding issues when
   incrementing/decrementing several times the viewpoint.

Then, we reworked commits from 2 to 11. Mostly, cosmetic changes.

Finally (12 to 16), we added support for 360 navigation via the mouse in linux
and windows vout_display modules (We need to add support for it in macOS too).

Adrien Maglo (2):
  demux: mp4: support the 360 spherical video box
  codec: avcodec: keep the projection mode information from the demux

Steve Lhomme (9):
  core: add viewpoint to change the yaw/pitch/roll view during playback
  core: pass the viewpoint zoom/field of view with the yaw/pitch/roll
  opengl: handle the viewpoint changes when rendering
  opengl: add documentation related to matrices
  opengl: remove the unused ViewMatrix
  opengl: handle the roll/z-axis rotation
  opengl: pass the viewpoint zoom/field of view with the yaw/pitch/roll
  opengl: handle VOUT_DISPLAY_CHANGE_VIEWPOINT
  vout: win32: fallback to glwin32 for non rectangular projections

Thomas Guillem (5):
  vout: add vout_display_UpdateViewpoint
  vout: xcb: events: add include-guard
  vout: xcb: use vlc_xcb_handle_t
  vout: xcb: handle 360 user-interaction
  vout: win32: handle 360 user-interaction

 include/vlc_common.h                    |   1 +
 include/vlc_vout.h                      |  14 ++++
 include/vlc_vout_display.h              |  19 +++++-
 include/vlc_vout_wrapper.h              |   3 +
 modules/codec/avcodec/video.c           |   3 +-
 modules/demux/mp4/essetup.c             |  10 +++
 modules/demux/mp4/libmp4.c              |  34 ++++++++++
 modules/demux/mp4/libmp4.h              |  11 ++++
 modules/hw/vdpau/display.c              |  10 +--
 modules/video_output/gl.c               |   4 ++
 modules/video_output/ios2.m             |   4 ++
 modules/video_output/macosx.m           |   7 +-
 modules/video_output/opengl.c           |  99 ++++++++++++++++++++--------
 modules/video_output/opengl.h           |   3 +
 modules/video_output/win32/direct2d.c   |   5 ++
 modules/video_output/win32/direct3d11.c |   5 ++
 modules/video_output/win32/direct3d9.c  |   5 ++
 modules/video_output/win32/directdraw.c |   5 ++
 modules/video_output/win32/events.c     |  13 +++-
 modules/video_output/win32/glwin32.c    |  13 +++-
 modules/video_output/win32/wingdi.c     |   5 ++
 modules/video_output/xcb/events.c       | 110 ++++++++++++++++++++++----------
 modules/video_output/xcb/events.h       |  21 ++++--
 modules/video_output/xcb/glx.c          |  14 ++--
 modules/video_output/xcb/pictures.c     |   8 ++-
 modules/video_output/xcb/pictures.h     |   3 +-
 modules/video_output/xcb/x11.c          |  14 ++--
 modules/video_output/xcb/xvideo.c       |  14 ++--
 src/libvlc-module.c                     |  39 +++++++++++
 src/libvlccore.sym                      |   3 +
 src/playlist/engine.c                   |  15 +++++
 src/playlist/playlist_internal.h        |   3 +
 src/video_output/control.h              |   5 ++
 src/video_output/display.c              |  76 +++++++++++++++++++++-
 src/video_output/video_output.c         |  31 +++++++++
 src/video_output/vout_intf.c            |  16 +++++
 36 files changed, 545 insertions(+), 100 deletions(-)

-- 
2.9.3



More information about the vlc-devel mailing list