[Ffmpeg-cvslog] r6586 - in trunk/libavcodec: cabac.c cabac.h h264.c

Michael Niedermayer michaelni
Mon Oct 9 01:19:15 CEST 2006


Hi

On Mon, Oct 09, 2006 at 12:32:50AM +0300, Uoti Urpala wrote:
> On Sun, 2006-10-08 at 13:24 +0200, michael wrote:
> > +#ifdef ARCH_X86
> > +    //P3:627
> > +asm(
> > +        "addb $2, %b0       \n\t"
> > +        " js 1f             \n\t"
> > +        "movb %b0, %1       \n\t"
> > +        "1:                 \n\t"
> > +        : "+q"(s), "=m"(*state)
> > +);
> > +#else
> > +        *state= c->mps_state[s]; //P3:655
> > +/*        if(s<126) //P3:657
> > +            *state= s+2;*/
> > +        s+=2; //P3:631
> > +        if(s<128)
> > +            *state= s;
> > +#endif
> 
> On Athlon the C version "*state= c->mps_state[s];" (without the other
> redundant C there) is faster than the asm. The difference is small,
> around 0.3%, but the times do seem consistent.

with START/STOP_TIMER? without it such small differences are meaningless
IMO, they could be caused by arrays or functions ending up at slightly
more favorable addresses or such aka systematic error

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

In the past you could go to a library and read, borrow or copy any book
Today you'd get arrested for mere telling someone where the library is




More information about the ffmpeg-cvslog mailing list