SoC 2008/PanoramaViewing
Contents
Google Summer of Code 2008
Panorama Viewing
Abstract
The goal of this project is to make VLC a one-stop solution for viewing panoramic images (and possibly videos) of various formats. Currently, FreePV is the best/only cross-platform, non-proprietary solution for viewing QuickTimeVR and plain image panoramas. However it suffers from a few drawbacks, which include difficult installation, browser plug-in conflicts and low popularity. The intent is to integrate the FreePV rendering code with VLC. This should not only automatically alleviate installation difficulty and plug-in conflicts, but also bring panorama viewing to a much larger audience. This project will initially focus on basic support for QTVR files and equirectangular images.
Detailed Description
Technically this project is about writing an output module for viewing frames projected onto the inside of an OpenGL with the added possibility of user manipulation of the viewpoint.
My Commitment
I'm committed to work at least 40 hours per week for the duration of the GSoC on this project except for the first week in April when I will be busy with final exams.
Plan
This plan is based on the dates in the GSoC 2008 timeline
- March 31 - week 1
- study for exams and finish school assignments
- look into modifying VLC to detect QTVRs
- look into writing output modules for VLC
- April 7 - week 2
- get an understanding of the QTVR format (possible start: http://developer.apple.com/documentation/QuickTime/InsideQT_QTVR/6Chap/chapter_6_section_1.html and the FreePV code)
- make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC
- identify which parts of FreePV can be used as a VLC module
- by now I should have a good idea of how things fit together
- April 14 week 3
- April 21 - week 4
- write a module that would render "frames" onto an OpenGL sphere
- add user interaction
- April 28 - week 5
- implement proper equirectangular projection
- May 5 - week 6
- May 12 - week 7
- May 19 - week 8
- May 26 - week 9
- start support for simple QTVRs
- June 2 - week 10
- June 9 - week 11
- June 16 - week 12
- June 23 - week 13
- June 30 - week 14
- July 7 - week 15
- July 14 - week 16 - Mid-term evaluations deadline;
- July 21 - week 17
- July 28 - week 18
- August 4 - week 19
- August 11 - week 20
- August 18
Module Options
- type of panorama: equirectangular,cylindrical,littleplanet,cubic...
- default FOV aka zoom