[PATCH 00/15] VR/360° navigation

Steve Lhomme robux4 at videolabs.io
Mon Nov 7 10:51:49 CET 2016


New set of patches to add 360° navigation in the OpenGL renderer.

A new patch was added at the beggining to change all M_PI usage to single
precision floating point as we only deal with float internally.

The command-line "viewpoint" string has been split into "viewpoint-yaw",
"viewpoint-pitch" and "viewpoint-roll".

The `f_` prefix has been dropped from vlc_viewpoint_t fields.

Former patches 04 and 05 have been merged.

Used \retval in libvlc documentation.

Used a union for the VR navigation fields in vout_thread_sys_t.

Misc cleaning and documentation addition.

Steve Lhomme (14):
  opengl: use M_PI as a single precision float
  opengl: start the 360° display from the left part of the video
  core: add viewpoint to change the yaw/pitch/roll view during playback
  opengl: handle the viewpoint changes when rendering
  glwin32: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  vout iOS: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  vout_macosx: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  xcb: handle VOUT_DISPLAY_CHANGE_VIEWPOINT events
  test: use the jpeg file to test vout specific calls
  libvlc: add the API needed to set/get the viewpoint in 360° videos
  core: add an option to set the projection mode
  opengl: use the projection mode from the display configuration
  core: move some internal inline functions in display.c
  core: handle the mouse navigation in VR/360° videos in the core

Thomas Guillem (1):
  core: store the projection mode in use in video_display_t

 include/vlc/libvlc_media_player.h    |  54 ++++++++++++++
 include/vlc_common.h                 |   1 +
 include/vlc_vout.h                   |  16 ++++
 include/vlc_vout_display.h           |  20 +++++
 include/vlc_vout_wrapper.h           |   3 +
 lib/libvlc.sym                       |   3 +
 lib/media_player.c                   |   6 ++
 lib/media_player_internal.h          |   2 +
 lib/video.c                          |  48 ++++++++++++
 modules/video_output/gl.c            |  20 +++++
 modules/video_output/ios2.m          |  21 ++++++
 modules/video_output/macosx.m        |  23 +++++-
 modules/video_output/opengl.c        |  91 ++++++++++++++++++++---
 modules/video_output/opengl.h        |   5 ++
 modules/video_output/win32/glwin32.c |  30 +++++++-
 modules/video_output/xcb/glx.c       |  21 ++++++
 src/libvlc-module.c                  |  38 ++++++++++
 src/libvlccore.sym                   |   2 +
 src/playlist/engine.c                |   8 ++
 src/playlist/playlist_internal.h     |   3 +
 src/video_output/control.h           |   3 +
 src/video_output/display.c           | 140 ++++++++++++++++++++++++++++++++++-
 src/video_output/event.h             |  37 ---------
 src/video_output/video_output.c      |  41 ++++++++++
 src/video_output/vout_internal.h     |   8 ++
 src/video_output/vout_intf.c         |  50 +++++++++++++
 test/Makefile.am                     |   2 +-
 test/libvlc/media_player.c           |  94 +++++++++++++++++++++++
 test/libvlc/test.h                   |   3 +-
 29 files changed, 740 insertions(+), 53 deletions(-)

-- 
2.10.1



More information about the vlc-devel mailing list