Difference between revisions of "SoC 2008/PanoramaViewing"

From VideoLAN Wiki
Jump to navigation Jump to search
Line 2: Line 2:
 
== Panorama Viewing ==
 
== Panorama Viewing ==
 
=== Abstract ===
 
=== 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.
+
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.
 
This project will initially focus on basic support for QTVR files and equirectangular images.
  
 
=== Detailed Description ===
 
=== 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.
+
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.
 
==== My Commitment ====
 
==== 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.
 
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.
Line 13: Line 13:
 
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''' - week 1
 
* '''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?).
 
* 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
 
* study for exams and finish school assignments
 
* '''April 7''' - week 2
 
* '''April 7''' - week 2
* look into modifying VLC to detect QTVRs
+
* 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
 
* '''April 14''' - week 3
* look into writing output modules for VLC
+
* learn to write output modules for VLC
 
* '''April 21''' - week 4
 
* '''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 [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)
Line 32: Line 34:
 
* '''June 9''' - week 11
 
* '''June 9''' - week 11
 
* '''June 16''' - week 12
 
* '''June 16''' - week 12
* simple QTVRs should be viewable by now
+
* should be able to view image panoramas
 
* '''June 23''' - week 13
 
* '''June 23''' - week 13
 
* '''June 30''' - week 14
 
* '''June 30''' - week 14
 
* '''July 7''' - week 15
 
* '''July 7''' - week 15
* should be able to view image panoramas
+
* simple QTVRs should be viewable by now
 
* '''July 14''' - week 16 - Mid-term evaluations deadline;
 
* '''July 14''' - week 16 - Mid-term evaluations deadline;
 
* '''July 21''' - week 17
 
* '''July 21''' - week 17

Revision as of 17:01, 26 March 2008

Google Summer of Code 2008

Panorama Viewing

Abstract

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.

Detailed Description

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.

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
  • 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

Module Options

  • type of panorama: equirectangular,cylindrical,littleplanet,cubic...
  • default FOV aka zoom