[FFmpeg-devel] [PATCH] RDFT for Bink audio

Benjamin Larsson banan
Thu Jan 15 17:23:54 CET 2009


Alex Converse wrote:
> [...]
>> Did you implement both modes in this patch ? To me it looks like we also
>> need a dct function also.
>>
>>     
>
> Separate transform will be in a separate patch.
>   

Great.

>   
>> +        ev.re =  k1*(data[i1  ]+data[i2  ]);
>> +        od.im =  k2*(data[i1  ]-data[i2  ]);
>> +        ev.im =  k1*(data[i1+1]-data[i2+1]);
>> +        od.re = -k2*(data[i1+1]+data[i2+1]);
>> +        /* Apply twiddle factors to the odd FFT and add to the even FFT */
>> +        data[i1  ] =  ev.re + od.re*tcos[i] - od.im*tsin[i];
>> +        data[i1+1] =  ev.im + od.im*tcos[i] + od.re*tsin[i];
>> +        data[i2  ] =  ev.re - od.re*tcos[i] + od.im*tsin[i];
>> +        data[i2+1] = -ev.im + od.im*tcos[i] + od.re*tsin[i];
>>
>>
>> That part of the code looked like some code we have in the qdm2.c
>> decoder ? Can you look and see if it matches? I have always wondered
>> what kind of transform it was.
>>
>>     
>
> It is clearly a IRDFT with something weird going on with the 0 and N/2
> points. Do you know anything about the genesis of that code that isn't
> in your pdf? The n2 term is clearly not passed to the FFT at all.
>   

Sorry no, this is what we have. It is possible it is not correct. I 
guess we could at least add a comment to the code now that we know what 
it is.

>   
>> Code wise other then some strange indentation in the struct it looked ok.
>>
>>     
>
> Some tabs crept in, try this.
>   

Looks ok to me.

MvH
Benjamin Larsson






More information about the ffmpeg-devel mailing list