[FFmpeg-devel] MMX version for put_no_rnd_h264_chroma_mc8_c
Fri Dec 21 19:38:12 CET 2007
On Wed, Dec 05, 2007 at 03:41:02PM +0100, Christophe GISQUET wrote:
> Christophe GISQUET a ?crit :
> > Good evening,
> > Michael Niedermayer a ?crit :
> >>> Before:
> >>> VC-1: 2085 dezicycles in rnd, 1047692 runs, 884 skips
> >>> h264: 1093 dezicycles in rnd, 2096936 runs, 216 skips
> >>> Patch applied:
> >>> VC-1: 2106 dezicycles in rnd, 1047537 runs, 1039 skips
> >>> 2119 dezicycles in no_rnd, 1047384 runs, 1192 skips
> >>> h264: 1097 dezicycles in rnd, 2096867 runs, 285 skips
> >> i assume these measurements where over the function calls not were
> >> the *_TIMER were placed in the last patch?
> > For the version with my patch, I simply put them around call to
> > put_h264_chroma_mc8_mmx in put_h264_chroma_mc8_mmx_rnd and
> > put_h264_chroma_mc8_mmx_nornd
> > For the "before" timing, I created an intermediate function mimicking
> > the same thing. Save for difference in inlining treatment, this should
> > be equivalent and comparable to timing with patch applied.
> > The global measures are without the _TIMER and the intermediate
> > function, running with -benchmark.
> Ping ?
i thought ive ok-ed it ...
if it was unclear ...
patch looks ok
btw could you look at:
i think that was your code ...
note, gcc 2.95 counts +r/+g as 2 operands
static const could be accessed through MANGLE()
+r can be changed to "m" with some register on the clobber list and
explicit load into it
alternatively the code could be put under #if to avoid it from being compiled
with gcc 2.95
btw, "+g"(h) should be +r IMHO
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
it is not once nor twice but times without number that the same ideas make
their appearance in the world. -- Aristotle
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel