[XviD-devel] GMC update
Marco Al
xvid-devel@xvid.org
Thu, 2 Jan 2003 11:31:59 +0100
Christoph Lampert wrote:
> I wanted to first create a version which is as straight as possible so
> other people might read it, understand the "idea" and convert to ASM.
> We can do speedup later...
I think gmc_c is about as straight as it is going to be, in fact in converting
it to asm the algorithm will get a lot less straight. Those border checks have
to be moved outside of the inner loop for a start, so you will need 2 GMC
routines (one for when all reference pixels are inside the borders, one for when
they are not).
I think the best approach would be to unroll the outerloop to get parallelism
for MMX, having the innerloop work on 2 scanlines at a time.
> Yes, I have a copy of the season somewhere but thanks for mentioning it.
> It looks helpful (at least for the german speaking part of the world ;-)
You have the final version? Could you pass it on? :) (It was on the web a short
time, but the server it was on disappeared.)
> His method might help to SIMD the whole stuff, even though GMC is pixel-
> and not block-based.
Hmmm? It is MB selective, but inside the MB it is still pixel based ... just as
FFMPEG's code is and just as XviD's code will have to be.
Marco