Google Summer of Code 2008
The goal of this project is to make VLC a one-stop solution for viewing panoramas 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.
The way I see it, based on rudimentary knowledge of the VLC internals, is that technically this project is about writing a codec to handle QTVR and an output module for viewing frames projected onto the inside of a rotatable OpenGL sphere.
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.
This plan is based on the dates in the GSoC 2008 timeline
- March 31 - week 1
- write e-mails to the hugin and vlc-devel mailing lists asking for suggestions/ideas
- think about how panorama viewing fits in with VLC. It should act as a codec for QTVR files, but it should also be able to use any 2d images/frames for panoramas (act as an output module?).
- study for exams and finish school assignments
- April 7 - week 2
- learn to write a codec/demuxer module to handle QTVRs
- decide (along with other developers) whether FreePV can be turned into a stand-alone, separately developed library that can be used by VLC to display panoramas
- April 14 - week 3
- learn to write output modules for VLC
- April 21 - week 4
- 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)
- April 28 - week 5
- 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
- May 5 - week 6
- May 12 - week 7
- May 19 - week 8
- May 26 - week 9 - Students begin coding for their GSoC projects;
- June 2 - week 10
- June 9 - week 11
- June 16 - week 12
- should be able to view image panoramas
- June 23 - week 13
- June 30 - week 14
- July 7 - week 15
- simple QTVRs should be viewable by now
- July 14 - week 16 - Mid-term evaluations deadline;
- July 21 - week 17
- July 28 - week 18
- should support a number of different projections and do everything that FreePV can with QTVR
- August 4 - week 19
- August 11 - week 20
- August 18
- type of panorama: equirectangular,cylindrical,littleplanet,cubic...
- default FOV aka zoom