[FFmpeg-devel] GSoC 2008

Måns Rullgård mans
Wed Mar 19 22:57:01 CET 2008

Ramiro Polla <ramiro at lisha.ufsc.br> writes:

> Hello,
> Mike Melanson wrote:
>> Ramiro Polla wrote:
>>> Hello,
>>> Mike Melanson wrote:
>>>> We're running out of qualification tasks. I need to go create some more!
>>> How about this one: Finish G.722.1 and siren decoding.
>> Not bad...
>>> This patch works for siren, but I haven't tested with the G.722.1. It
>>> should work the same though.
>>> Basically it'd involve (in separate patches):
>>> - Split G.722.1 tables from cookdata.h into g7221data.h;
>>> - Rename divergent tables as g7221_... and cook_...;
>>> - Split G.722.1 functions from cook.c to g7221.c;
>>> - Cleanly make cook call G.722.1's decoder instead of mono_decode;
>>> - Clean all the #if 0 and // hacks;
>>> - Fix the *22.0f hack;
>> Can you explain this step better?
> Something like adding qscale to CookContext, set it to 1.0 on Cook and 
> 22.0 on G.722.1. Then change the line
> f1 = quant_centroid_tab[index][subband_coef_index[i]];
> to
> f1 = quant_centroid_tab[index][subband_coef_index[i]]*q->qscale;
>>> - Implement a faster 320-point iMDCT.
>> Seems a bit out of scope without more guidance. Otherwise, log it.
> FFmpeg's imdct only works with 2^n input. In this hacked-up patch, I 
> used imdct_ref from some other part of FFmpeg. It's painfully slow.

I notice that mpegaudiodec.c has a custom imdct as well.

>>> I've sent a sample to /MPlayer/incoming/siren/msnsiren.wav
>> I suppose a more pertinent question is: Why aren't *you* doing this for
>> a qual task? :) (You are aiming for SoC, right?)
> Hey, I got Mimic in =)
> The problem is that I halted in the imdct part =(. My math is not that 
> good, and after some time fighting with math books I saw that I'd study 
> this thoroughly next semester at University. So I decided to first learn 
> to have some idea of what I was supposed to achieve, then implement it.

If your university is anything like the one I attended, you'll stand a
much better chance of gaining any useful knowledge from that course if
you first familiarise yourself with how these transforms are used in
real life, never mind the precise details of why they work.

M?ns Rullg?rd
mans at mansr.com

More information about the ffmpeg-devel mailing list