[vlc-devel] [PATCH 0/9] [WIP] 3D stereoscopy support

Felix Abecassis felix.abecassis at gmail.com
Fri Aug 8 20:13:25 CEST 2014


This is WIP. I'm welcoming comments on this patch set.

This patch set aims to implement a framework for 3D stereoscopy
support in VLC. The 3D stereo mode is added to video_format_t and can
be modified by a decoder, a packetizer or a filter. Detection of the
3D stereo mode has been implemented in the h264 packetizer, the MKV
demuxer and the avcodec module.

The Direct3D module has been modified in order to supported 3D stereo
rendering with the NVIDIA 3D Vision API.

To be done:
1) Anaglyph support by reusing the current filter
2) OpenGL quadbuffering (I lack the necessary HW).
3) Being able to force the 3D stereo mode of a video since most samples are not tagged correctly.

Felix Abecassis (9):
  include: add definitions for video 3D stereoscopy
  core: add 3D stereo information to video_format_t
  swscale: bail out if 3D stereo conversion is requested
  video_filter: add a video filter converting between different 3D
    stereo formats
  avcodec: retrieve decoded 3D stereo format if available
  decoder: forward 3D stereo type from packetizer to decoder
  h264: parse 3D stereo information from frame_packing_arrangement SEI
    message
  mkv: parse the StereoMode element on video tracks
  direct3D: implement support of NVIDIA 3D Vision

 include/vlc_es.h                             |   3 +
 include/vlc_stereo3d.h                       |  62 +++++
 modules/codec/avcodec/video.c                |  26 ++
 modules/demux/mkv/matroska_segment_parse.cpp |  38 ++-
 modules/packetizer/h264.c                    |  33 +++
 modules/video_chroma/swscale.c               |   3 +
 modules/video_filter/Modules.am              |   2 +
 modules/video_filter/stereo3d_convert.c      | 360 +++++++++++++++++++++++++++
 modules/video_output/Modules.am              |   3 +-
 modules/video_output/msw/common.h            |  27 ++
 modules/video_output/msw/direct3d.c          |  70 ++++--
 modules/video_output/msw/nvapi.h             |  65 +++++
 modules/video_output/msw/nvidia_3dvision.c   | 295 ++++++++++++++++++++++
 modules/video_output/msw/nvidia_3dvision.h   |  46 ++++
 src/input/decoder.c                          |   5 +-
 src/misc/es_format.c                         |   3 +
 16 files changed, 1019 insertions(+), 22 deletions(-)
 create mode 100644 include/vlc_stereo3d.h
 create mode 100644 modules/video_filter/stereo3d_convert.c
 create mode 100644 modules/video_output/msw/nvapi.h
 create mode 100644 modules/video_output/msw/nvidia_3dvision.c
 create mode 100644 modules/video_output/msw/nvidia_3dvision.h

-- 
1.9.1




More information about the vlc-devel mailing list