I spent an hour reading this board before deciding to registering an account and posting this question. I am undergrad computer science student working on a project that will convert a MP3 to the OGG format using CUDA C. CUDA C is one of the languages that allows one to run programs on the NVidia GPU.

The project that was assigned to me was given a MP3 file, convert it to the OGG format. I never had to write an audio program before but my understanding since both the MP3 and OGG formats are lossy that it is not recommended to convert directly from MP3 to OGG. Anyways, the question I have is how should I start doing this assignment? I spent sometime looking online for algorithms to rewrite to run on the GPU but I couldn't come across any - I just found existing DLL files to use.

I vaguely remember DirectCompute when it was announced awhile back. I keep my options open so I will look at this again. I remember reading about OpenCL, but unforunately I need to use CUDA C for the first iteration of my program. However, I will keep my code flexible to allow "quick" support for OpenCL.

Based on what people have said in this thread and additional reading that I have done since, this is a rough-draft of what I will be doing in this order.

- Convert a WAV to OGG using the Vorbis codec where most of the work will be done on the GPU.- Convert a AVI to OGG using the Theora codec where most of the work will be done on the GPU.

Based on my experience and what I learn implementing these two items, I will then decide what to do next.