[FFmpeg-devel] [PATCH] move ff_emulated_edge_mc() to dsputil
Michael Niedermayer
michaelni
Wed Mar 5 12:35:13 CET 2008
On Wed, Mar 05, 2008 at 11:20:34AM +0100, Aurelien Jacobs wrote:
> On Wed, 05 Mar 2008 08:25:51 +0200
> Uoti Urpala <uoti.urpala at pp1.inet.fi> wrote:
>
> > On Wed, 2008-03-05 at 01:04 -0500, Rich Felker wrote:
> > > On Wed, Mar 05, 2008 at 07:32:07AM +0200, Uoti Urpala wrote:
> > > > On Tue, 2008-03-04 at 23:51 -0500, Rich Felker wrote:
> > > > > Splitting dsputil.c and motion_est.c would be a major improvement in
> > > > > compilability. These files are waaaaaay too big and gcc stupidity
> > > > > results in very slow and memory-intensive compiling, probably due to
> > > > > useless searches for global optimizations or something.
> > > >
> > > > In the case of motion_est.c I'd blame programmer stupidity more than
> > > > compiler stupidity. It has big av_always_inline functions and macros
> > > > using them which are then used lots of times. The code could be written
> > > > more efficiently. (That's the same issue I mentioned earlier when
> > > > discussing object sizes.)
> > >
> > > Patch welcome.</michaelni>
> >
> > http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2008-January/041456.html
> >
> > Btw changing "av_always_inline int cmp" to "av_noinline int cmp" and
> > comparing object sizes before and after should give you some idea of the
> > amount of repeating code in that file.
>
> This indeed makes a huge difference (gcc-4.1 x86).
>
> with av_always_inline:
> text data bss dec hex filename
> 484960 0 0 484960 76660 libavcodec/motion_est.o
>
> with av_noinline:
> text data bss dec hex filename
> 140566 0 0 140566 22516 libavcodec/motion_est.o
>
> Now, I don't know exactly what to benchmark to see if it makes
> a big difference speedwise.
ff_pre_estimate_p_frame_motion()
ff_estimate_b_frame_motion()
ff_estimate_p_frame_motion()
with various common cases (SSE / SAD comparission, hpel/qpel, mbd 0/1,
interlacing, 4mv, chroma ME)
Sadly theres a lot which could be interresting to benchmark but even just a
subset of this would be interresting.
[...]
--
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
It is not what we do, but why we do it that matters.
-------------- 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/20080305/056e2931/attachment.pgp>
More information about the ffmpeg-devel
mailing list