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

Michael Niedermayer michaelni
Fri Jan 16 23:00:50 CET 2009


On Fri, Jan 16, 2009 at 02:19:15PM -0500, Alex Converse wrote:
> On Thu, Jan 15, 2009 at 2:03 PM, Michael Niedermayer <michaelni at gmx.at> wrote:
> > On Thu, Jan 15, 2009 at 11:52:20AM -0500, Alex Converse wrote:
> > [...]
> >> +int ff_rdft_init(RDFTContext *s, int nbits, int inverse)
> >> +{
> >> +    int n = 1 << nbits;
> >> +    int i;
> >> +    const double theta = (1-2*inverse)*2*M_PI/n;
> >> +
> >> +    s->nbits = nbits;
> >> +    s->inverse = inverse;
> >> +
> >> +    if (ff_fft_init(&s->fft, nbits-1, !inverse) < 0)
> >> +        goto fail;
> >> +
> >> +    s->tcos = av_malloc((n>>2) * sizeof(FFTSample));
> >> +    if (!s->tcos)
> >> +        goto fail;
> >> +    s->tsin = av_malloc((n>>2) * sizeof(FFTSample));
> >> +    if (!s->tsin)
> >> +        goto fail;
> >> +    for (i = 0; i < (n>>2); i++) {
> >> +        s->tcos[i] = cos(i*theta);
> >> +        s->tsin[i] = sin(i*theta);
> >> +    }
> >
> > we have a large number of sin and cos tables already
> > see ff_sine_* / ff_cos_*, no need to duplicate them in each context
> >
> 
> I agree with that in principle, but in practice It doesn't seem
> practical at the moment.  

> They are defined in different files,

it should be very easy to split the tables out into their own file and
add dependancies to the Makefile


> available in different sizes. 

not sure if i understand you but i dont see the difference


> The sines seem to be at half at a half
> sample offset from what I need.

indeed, ive missed that


still even if they wouldnt be shareable though i still think cos is,
then at least the same system of global shared tables should be used instead
of duplicating them per context.

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

While the State exists there can be no freedom; when there is freedom there
will be no State. -- Vladimir Lenin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090116/a6bdd3b8/attachment.pgp>



More information about the ffmpeg-devel mailing list