Summer of Code 2008/Ogg Theora Codec
From The Neuros Technology Wiki
Contents |
[edit] Port Ogg Theora Codec
Mentor: Jason Kridner
Developer: Marcelo Guedes Silva
GIT: git://github.com/marceloguedes/theora-davinci.git [nothing here yet]
[edit] Abstract
Theora is an open, lossy video compression technology being developed as part of the Ogg project. Based upon On2 Technologies' VP3 codec, Theora is targeted at competing with MPEG-4 and similar low-bitrate video compression schemes.
The Texas Instruments DaVinci Technology combines TI's DSP chips, software, tools and support for developing a broad spectrum of optimized digital video end equipment.
At this moment, there isn't support for Ogg Theora in Texas Instruments DaVinci DSP. A complete open-source scheme of video compression is a great tool to further developers on DaVinci Technology. They will be free to create patent free solutions for multimedia devices. Completing this Ogg Theora port is the objective for this application.
The Theora port will be implemented in Code Composer Studio. I will use open-source code in C, like VLC and FFMpeg, to get a base for my implementation in DaVinci. An extensive study about the Theora specification document and DaVinci architecture will be done too. The study about architecture will be very important to avoid problems with memory exceptions and to improve speed of algorithm. This knowledge can improve the use of cache memory, e. g.
A validation phase will be necessary. I will insert as many Theora streams as possible in the system. Furthermore, this process will be necessary to guarantee that the system will work properly with corrupted streams and in exception cases.
[edit] Road Map
[Apr 22 - Apr 27] Get materials, documents, open contacts with communities, subscribe in related forums, download and get a first look inside xiph.org lib sources, look for people to help. Find a place to host the project in GIT format. [OK]
[Apr 28 - May 18] Learn everything is possible about: Theora and DaVinci DM6446.
[May 19 - May 25] Organize all unofficial material and make some helpful documents together with Tutor.
[May 26 - Jun 8] Official documents. I will elaborate a software engineering document to work and make some graphs explaining theirs relationships. I will look for reuse of functions presents in original libs. I will try to organize a hierarchical structure, with simple functions on the top. It will ease the reuse of the code inside further projects. Everything will be published here.
[Jun 9 - Jul 5] The Port will begin! Reuse of functions. (Phase I)
[Jul 7 - Aug 9] Finish the work. Some pieces inside original libtheora project will be certainly hard to port or will need a different way to work in DSP. All problems and special cases will be solve here to codec work fine. (Phase II)
[Aug 10 - Aug 24] Organize all documentation.
[Aug 25 - Aug 31] A complete Theora Decoder to DaVinci 6446 will be working! Make a review over all. Organize documents and code, if necessary. Write the last reports.
[edit] To Do
- Reading documents (a lot!)
- Learning to use xDM and xDAIS
- Separating the core code (.c and .h files) from libtheora, libogg, libvorbis
- Making a document about performance
- Practicing the use of the DVSDK
[edit] Useful Links
[edit] Documents
Measuring Video Quality With the TMS320DM6446 DVSDK

