[FFmpeg-devel] [PATCH] 1D DCT for dsputil

Michael Niedermayer michaelni
Fri Jan 8 16:12:34 CET 2010


On Fri, Jan 08, 2010 at 01:02:19AM -0500, Alex Converse wrote:
> On Tue, Dec 22, 2009 at 8:04 PM, Alex Converse <alex.converse at gmail.com> wrote:
> > On Tue, Dec 22, 2009 at 6:25 AM, ?<pross at xvid.org> wrote:
> >> On Mon, Dec 21, 2009 at 02:02:00PM -0500, Daniel Verkamp wrote:
> >>> Hi,
> >>>
> >>> In an effort to get at least some parts of the Bink patch committed, I
> >>> am splitting it into separable pieces.
> >>>
> >>> This is a one-dimensional floating-point DCT used by Bink audio. ?The
> >>> actual code was written by Peter Ross.
> >>>
> >>> The comments I myself have about this code:
> >>> - Should it be using math.h cos()/sin() or some lookup table approach?
> >>> - Can there be a test written? (I don't know enough about the math
> >>> involved to write a sane test...)
> >>
> >> Thanks for taking the time to split the patch.
> >>
> >> Note that the algorithm here is inefficient. It requires a 2*N FFT,
> >> whereas there are ways of achieving this with 1*N FFT. Michael posted
> >> some info on this many months ago.
> >>
> >
> > I had a 1-D 1*N DCT but it generated the transpose (i.e.
> > uninterleaved). I can dig it up when I come back from xmas holiday if
> > you are interested.
> >
> 
> As promised...

[...]
> +av_cold int ff_dct_init(DCTContext *s, int nbits, int inverse)
> +{
> +    int n = 1 << nbits;
> +
> +    s->nbits    = nbits;
> +    s->inverse  = inverse;
> +
> +    s->data = av_malloc(sizeof(FFTComplex) * 2 * n);
                                                ^^^^^

> +    if (!s->data)
> +        return -1;
> +
> +    if (ff_rdft_init(&s->rdft, nbits+1, inverse) < 0)
                                  ^^^^^^^

doesnt look like 1*N to me
am i missing something?

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

> ... defining _GNU_SOURCE...
For the love of all that is holy, and some that is not, don't do that.
-- Luca & Mans
-------------- 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/20100108/d3315f60/attachment.pgp>



More information about the ffmpeg-devel mailing list