[XviD-devel] Re: mrSAD
peter ross
xvid-devel@xvid.org
Mon, 08 Jul 2002 21:07:07 +1000
>From: Christoph Lampert <chl@math.uni-bonn.de>
>Reply-To: xvid-devel@xvid.org
>To: xvid-devel@xvid.org
>Subject: Re: [XviD-devel] Re: mrSAD
>Date: Mon, 8 Jul 2002 09:58:16 +0200 (CEST)
>
>On Mon, 8 Jul 2002, peter ross wrote:
> > ive reordered the c loops to extract more performance (+~25%). the mmx
> > version is ~3.5 times faster :-)
>
>Hi Pete or somebody else knowledged,
>
>for B-frame ME (which is my next task), a MMXed version of
>
>sad16bi() from sad.c would be nice. The C-code sad16bi_c is already there.
i will "look" into it.
>Also, for syskin's ME and my rewriting of SEARCH8() which is much too
>slow:
>Would it be possible to have a vector valued SAD16, also return the
>four SAD8-values.
>
>functionality should be
>
>int sad16v_c(ptr,ptr, int* sad8)
>{
> sad8[0] = SAD8(topleftblock);
> sad8[1] = SAD8(toprightblock):
> sad8[2] = SAD8(bottomleftblock);
> sad8[3] = SAD8(bottomrightblock);
>
> return (sad8[0]+sad8[1]+sad8[2]+sad8[3]);
>}
>
>However, I guess it would be better to extract the SAD8's during
>intermediate steps of SAD16 than calling SAD8 four times.
>
so you want a "sad16v_mmx"? sure, that's fairly easy however it probably
wont be much faster than the plain c version.
>Christoph
>
>P.S. Pete: what do I have to do to activate usage of DIRECT MODE?
>Simply set the flag in MACROBLOCK structure during ME? Or is there
>more work needed?
MBCoding() does not have support for direct mode, however implementing this
is a few lines (if mb->mode==MODE_DIRECT, write out ONE vector). you will
still have to write your own directmode prediction function.
-- pete
_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail.
http://www.hotmail.com