QUOTE (torok @ Feb 18 2004, 12:40 AM)
I was just thinking about doing a throwaway program, but maybe I'll take a look at some Vorbis source. I'm just afraid the learning curve would be too steep unless I can get my hands on a lot of literature.
I am also afraid that doing a project for an audio encoder could be too big of a task for one summer, especially if you are starting from zero. Any modern audio compression format today is using psychoacoustical methods to determine what information in the original audio can be dropped.
Understanding the characteristics of the human ear, so you would be able to develop and improve such a 'psy-model' , would take the complete summer alone IMO.
On the other hand, your uni will certainly require that your project will match a certain level of complexity, to show that you are able to understand a technical task, and can develop means to complete it, and fully on your own.
Here a list of things i liked to have done for matroska and MPC :
1. Develop a commonly usable, comprehensive but not overly complicated
codec API for both audio, video and subtitles codecs. There had been some attempts made in this direction, like
UCI and now recently
Media-API. The FFMPEG, gstreamer and mplayer ( G2 ) projects could be a nice source of inspiration for that.
The API had to be
- developed
- documented
- example code/library ( x-platform ) been made for it
- example implementation into certain codecs ( XviD, Lame, FFAC )
This project could have a huge and positive impact on the complete opensource audio/video development scene, as codec developers could use a standardized API for their projects, making implementation of specific codec support into a variety of different projects much much easier.
2. Write a x-platform media player based on gstreamer, the opensource media framework from GNOME/Linux, including the work for porting it to Win32 and MaxOSX. A huge, but very interesting task, especially when thinking about finding the right common platform for the GUI ( wxwindows will work on win32 and Linux, but MacOSX ? ) to cover all these OSes.
Gstreamer is like the Linux equivalent for DirectShow. We started porting it to Windows already, so you wouldnt need to start from scratch. Its quite powerful and still compact enough to be shipped with an application like a media player or media editor, so this ground work could be the basis for a complete new era, rendering both Quicktime ( MacOSX ) and DirectShow ( Windows ) as OS specific solutions only pointless.
Any interesting task for you here ?