[vlc-devel] [PATCH 0/9 v5] Basic 3D support

Steve Lhomme robux4 at ycbcr.xyz
Sat Oct 27 08:46:26 CEST 2018


This set of patches adds basic support for 3D sources in all the vout modules.
It doesn't add stereoscopic display (that will come after). It just crops the
Side By Side or Top Bottom pictures accordingly or pick the correct eye from
frame sequential sources.

There are 4 display modes possible:
- Auto (left eye by default, in the future stereoscopic capable vouts will do
  stereo)
- Original displays the sources as it is displayed now, without cropping or
  decimation.
- Left Eye crop/decimate to only show the left eye using an internal extra
  layer of cropping passed to the vout via vd->source.
- Right Eye crop/decimate to only show the left eye using an internal extra
  layer of cropping passed to the vout via vd->source.
  
All the modules can support these modes. Future mode will be opt-in depending
on the display capabilities.

Mohammed (Shaan) Huzaifa Danish (5):
  video_output: add video-stereo-mode option to select the stereoscopic
    video output mode
  video_output: add an API to select the stereo mode dynamically
  video_output: tell the display the stereo-mode has changed
  libvlc: add get/set functions for libVLC stereo mode
  qt: add menu options for 3d output

Steve Lhomme (4):
  video_output: update the crop when the multiview mode changes
  video_output: crop the dimensions of SideBySide/TopBottom sources
  vout: allow basic VOUT_DISPLAY_CHANGE_STEREO_MODE changes when
    crop+sar is supported
  video_output: allow the vout to select which picture it wants to
    display

 include/vlc/libvlc_media_player.h      |  28 +++++
 include/vlc_vout.h                     |  11 ++
 include/vlc_vout_display.h             |   7 ++
 lib/libvlc.sym                         |   2 +
 lib/media_player.c                     |   1 +
 lib/video.c                            |  27 ++++
 modules/gui/qt/menus.cpp               |   4 +
 modules/hw/mmal/vout.c                 |  15 +++
 modules/hw/vdpau/display.c             |  17 +++
 modules/video_output/android/display.c |  16 +++
 modules/video_output/caopengllayer.m   |  17 +++
 modules/video_output/ios.m             |  17 +++
 modules/video_output/kva.c             |  17 +++
 modules/video_output/win32/common.c    |  16 +++
 modules/video_output/xcb/x11.c         |  17 +++
 modules/video_output/xcb/xvideo.c      |  17 +++
 src/libvlc-module.c                    |  15 +++
 src/video_output/control.h             |   1 +
 src/video_output/display.c             | 163 +++++++++++++++++++++++--
 src/video_output/video_output.c        |  78 ++++++++++--
 src/video_output/vout_internal.h       |   3 +
 src/video_output/vout_intf.c           |  34 ++++++
 src/video_output/vout_wrapper.h        |   4 +
 23 files changed, 509 insertions(+), 18 deletions(-)

-- 
2.17.0



More information about the vlc-devel mailing list