[FFmpeg-devel] 4xm idct computation

Michael Niedermayer michaelni at gmx.at
Wed Dec 28 06:08:01 CET 2011


On Wed, Dec 28, 2011 at 05:25:27AM +0100, yann.lepetitcorps at free.fr wrote:
> Selon yann.lepetitcorps at free.fr:
> 
> > Selon yann.lepetitcorps at free.fr:
> >
> > > Hi,
> > >
> > > I have take a look into the libavcodec/4xm.c
> > > => can the IDCT to be remplaced by something more simpler like Haar
> > wavelets
> > > ?
> > > (for to can be accellerated by MMX instructions for example)
> > >
> > >
> > > @+
> > > Yannoo
> > > _______________________________________________
> > > ffmpeg-devel mailing list
> > > ffmpeg-devel at ffmpeg.org
> > > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> > >
> >
> > More precisely, I search an encoder/decoder that work like the DCT/iDCT but
> > with
> > the De Haar, Debauchies and/or others lifting schemes transforms instead the
> > [Fast] Fourrier Transform
> >
> > @+
> > Yannoo
> >
> > _______________________________________________
> > ffmpeg-devel mailing list
> > ffmpeg-devel at ffmpeg.org
> > http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
> >
> 
> I have found this line in libavcodec/4xm.c
> 
>   DCTELEM *temp= block[(x>>2) + 2*(y>>2)] + 2*(x&3) + 2*8*(y&3); //FIXME
> optimize
> 
> => this can perhaps to be optimised by the use of two block_tab[x][y] arrays  ?
>     (cf. DCTELEM *temp = block[ block_tab1[x][y] ] + bloc_tab2[x&3][y&3]; )

id say unrolling the loop + MMX
but iam not sure 4xm is worth the effort, its not such a widespread
codec i think. But if you have fun optimizing that loop then by all
means do it!

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

No snowflake in an avalanche ever feels responsible. -- Voltaire
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20111228/efd43527/attachment.asc>


More information about the ffmpeg-devel mailing list