[FFmpeg-devel] [PATCH] Heavy optimization of IFF decoder

Michael Niedermayer michaelni
Wed Apr 28 12:14:51 CEST 2010


On Tue, Apr 27, 2010 at 11:04:34PM +0200, Sebastian Vater wrote:
> Sebastian Vater a ?crit :
> > Sebastian Vater a ?crit :
> >   
> >> Michael Niedermayer a ?crit :
> >>   
> >>     
> >>> speaking of registers
> >>> for(dst; dst<end; dst+=4)
> >>>
> >>> would reduce the number of variables by 1
> >>> also
> >>>  const uint32_t v = AV_RN32A(dst) | lut[get_bits(&gb, 4)];
> >>>  AV_WN32A(dst, v);
> >>> might be worth a try
> >>>
> >>> and make sure dst is 4 byte aligned
> >>>   
> >>>     
> >>>       
> >> Great! It works now like a charm now for me, too.
> >> I also got the 3% speedup ;)
> >>
> >> Patch attached!
> >>
> >> But could you try out and compare the new patch, if it doesn't cause any
> >> side effects?
> >> Load several 8bpp IFF files and see if something is truncated, etc.
> >>
> >> I'm far too tired right now, and just falling to bed!
> >> Good night and nice dreams!
> >>   
> >>     
> >
> > Just figured out that the (buf_size * 8) + bps - 1 expression can be
> > simplified to (buf_size * 8), at least it didn't change Heart.ILBM.
> >
> > New patch attached fixing this! But that's really the very last one for
> > today!
> >   
> 
> Argghh, did apply the wrong patch!
> 
> Also I noticed that it can just be reduced to (buf_size * 8) + bps
> not to (buf_size * 8), so just the - 1 is discarded.
> 
> I shouldn't sent patched when extremely tired, sorry for the inconvience!
> 
> -- 
> 
> Best regards,
>                    :-) Basty/CDGS (-
> 

>  iff.c |   40 +++++++++++++++++++++++++++++++++++-----
>  1 file changed, 35 insertions(+), 5 deletions(-)
> d9a944397db01b94beb978a757ea8c4e64b2419e  iff-opt-dp8-static.patch

looks ok if tested on little & big endian

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

It is dangerous to be right in matters on which the established authorities
are wrong. -- Voltaire
-------------- 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/20100428/93bf32e0/attachment.pgp>



More information about the ffmpeg-devel mailing list