Difference between revisions of "SoC 2008/PanoramaViewing"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 2: Line 2:
 
== Panorama Viewing ==
 
== Panorama Viewing ==
 
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]
 
Also on this wiki: [[SoC_2008#QuickTimeVR_Playing]]
 +
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 ===
 
=== My Commitment ===
 
I'm committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.
 
I'm committed to work at least 40 hours per week for 3 months on this project except for the first week in April when I will be busy with final exams.
Line 7: Line 8:
 
=== Plan ===
 
=== Plan ===
 
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]
 
This plan is based on the dates in the [http://code.google.com/opensource/gsoc/2008/faqs.html#0.1_timeline GSoC 2008 timeline]
* '''March 31'''
+
* '''March 31''' - week 1
* figure out what needs to be done
+
* study for exams and finish school assignments
** how to modify VLC to detect QTVRs
+
** look into modifying VLC to detect QTVRs
** what needs to change in VLC to display QTVRs
+
** look into writing output modules for VLC
** figure out how to write codecs for VLC
+
* '''April 7''' - week 2
*** [[User:dionoea]] mentioned that image handling modifications are required
 
 
* 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 [http://freepv.sourceforge.net/ FreePV] code)
 
* 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 [http://freepv.sourceforge.net/ FreePV] code)
* see how much of the FreePV code can be used
+
* make a list of QTVR functionality present in FreePV - aim to replicate this list in VLC
* make a list of QTVR functionality in the order of importance to organize the implementation steps
+
* identify which parts of FreePV can be used as a VLC module
* think about turning FreePV into a library that can be used in VLC
 
 
* by now I should have a good idea of how things fit together
 
* by now I should have a good idea of how things fit together
* write a bare-minimum OpenGL QTVR viewer for VLC
+
* '''April 14''' week 3
* '''July 14'''
+
* '''April 21''' - week 4
* do some testing
+
* write a module that would render "frames" onto an OpenGL sphere
* get feedback
+
* add user interaction
* keep extending the basic functionality until time runs out
+
* '''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'''
 
* '''August 18'''
  
=== What to do about plain image (JPG, PNG) panoramas? ===
+
=== Module Options ===
* can't really detect that an image is a panorama without any hints
+
* type of panorama: equirectangular,cylindrical,littleplanet,cubic...
** command line: let the user specify what type of panorama the supplied image(s) is(are) using a --panorama={equirectangular,cylindrical,littleplanet,...} switch
+
* default FOV aka zoom
** GUI a special open dialog for loading panoramas - the user specifies what type of panorama is expected using a drop down box
 

Revision as of 03:50, 25 March 2008

Google Summer of Code 2008

Panorama Viewing

Also on this wiki: SoC_2008#QuickTimeVR_Playing 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 3 months 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