SView
# SView

sView is a free and open-source 3D media player software application. It is available for Linux, OS X, Microsoft Windows and Android. sView is a general-purpose media player focused on supporting various 3D displays.

## History

Development of sView began in 2007, first as a proof-of-concept stereoscopic image viewer implementing a software emulated Quadbuffered pageflip rendering method for active shutter-glasses devices (as an alternative to hardware pageflip having very limited support by consumer-level graphic cards at that time).

In '2008 sView has received graphical user interface based on WinAPI, support of Anaglyph, iZ3D, Dual Output, Mirror. This version has been suggested by iZ3D as a freeware image viewer to users of their stereoscopic monitors.

In '2009 sView has been rewritten from scratch to support video playback, OpenGL-based onscreen user interface, cross-platform support, equirectangular stereoscopic panoramas, and native Internet Browser plugin for displaying stereoscopic images embedded into web-pages.

In '2013 has been added a blind experimental support of Oculus Rift. First release for Android platform become available in '2014. In '2017 has been added OpenVR (HTC Vive) support.

## General Capabilities

sView relies on FFmpeg decoders, which allow opening a wide variety of media formats - from still images to videos and music. Audio playback relies on OpenAL Soft. sView displays image-based and text-based subtitles, provides audio/subtitle stream selection (audio steam auto-selection is based on user interface language), attachment of external audio/subtitle files, has audio/video delay setup, provides simple color adjustment filters and allows configuring hotkeys. sView has a minimal set of playlist capabilities, with list filled in from a folder content (there is no media library support). Image or video could be flexibly zoomed in/out, panned or rotated.

## Stereoscopic Capabilities

sView supports various input stereoscopic formats:

* side-by-side;
* over/under;
* interlaced;
* dual stream (or separate files);
* frame-sequential.

Stereoscopic format is automatically deduced from a file metadata (when provided), but could be manually set by user. sView allows adjusting stereoscopic pair in horizontal, vertical and angular dimensions for compensation of camera recording defects.

sView can be used for displaying panoramic still images and videos:

* Cylindrical;
* spherical 360 degrees (including stereoscopic pairs);
* VR180 (180 degrees spherical stereoscopic pairs);
* Cubemaps;
* Equiangular cubemaps;

The list of supported 3D displays includes:

* Anaglyph glasses;
* Interlaced displays;
* Shutter glasses
* iZ3D display;
* SteamVR-compatible headsets;
* Dual-projection and Mirror systems

3D display output has modular structure (initially plugin-based) allowing relatively easy to add support for new devices.

## User Interface

Application has two independent "faces" sharing a common feature set - as an image viewer and as a video player. The user interface is based on its own GUI library StGLWidgets, rendered on top of image/video using OpenGL. Application is adapted for classic desktop (mouse + keyboard input) and mobile (touchscreen input) devices.

