[Ffmpeg-cvslog] r6586 - in trunk/libavcodec: cabac.c cabac.h h264.c
Mon Oct 9 01:19:15 CEST 2006
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