[PATCH 00/15] VR/360° navigation
Steve Lhomme
robux4 at videolabs.io
Fri Nov 4 18:08:43 CET 2016
This is a new set of patches based on previous iterations of the same code.
I got rid of the vrnav control module to navigate in the VR world. It required
to be loaded all the time so that it works with VR source when they are
loaded. Now we handle the mouse events in display and do the viewpoint
navigation when the vout is using a non-flat projection. We avoid thread issues
as the mouse and the vout control events are all in the same thread.
It is now the responsibility of the vout to tell which projection it's
currently using. If it doesn't VOUT_PROJECTION_FLAT is assumed.
libvlc_video_get_viewpoint() now uses the first vout (#0) and returns 0 on
success.
Steve Lhomme (14):
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
opengl: no need to restrict the radian values
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 | 52 +++++++++++++
include/vlc_common.h | 1 +
include/vlc_vout.h | 14 ++++
include/vlc_vout_display.h | 18 +++++
include/vlc_vout_wrapper.h | 3 +
lib/libvlc.sym | 3 +
lib/media_player.c | 10 +++
lib/media_player_internal.h | 2 +
lib/video.c | 49 ++++++++++++
modules/video_output/gl.c | 20 +++++
modules/video_output/ios2.m | 21 ++++++
modules/video_output/macosx.m | 23 +++++-
modules/video_output/opengl.c | 85 +++++++++++++++++++--
modules/video_output/opengl.h | 5 ++
modules/video_output/win32/glwin32.c | 30 +++++++-
modules/video_output/xcb/glx.c | 21 ++++++
src/libvlc-module.c | 17 +++++
src/libvlccore.sym | 4 +
src/playlist/engine.c | 12 +++
src/playlist/playlist_internal.h | 3 +
src/video_output/control.h | 3 +
src/video_output/display.c | 139 ++++++++++++++++++++++++++++++++++-
src/video_output/event.h | 37 ----------
src/video_output/video_output.c | 41 +++++++++++
src/video_output/vout_internal.h | 6 ++
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, 718 insertions(+), 50 deletions(-)
--
2.10.1
More information about the vlc-devel
mailing list