[XviD-devel] Decoder performance

Edouard Gomez ed.gomez at free.fr
Sat Aug 9 21:23:07 CEST 2003


Christoph Lampert (chl at math.uni-bonn.de) wrote:
> Hm, can't you handle this differently? From all I know, integer division 
> isn't pipelined on any CPU architecture. For dividing by constants,
> compilers replace this by shift+some rounding trick, but when dividing
> by some variable, at least gcc doesn't manage to:

The point  of the patches  (whichever one) was  just to do  more compact
code, more  predicatble removing these  annoying if(dec->quarterpel) all
other the MB functions code.  Using  shifts or just divide did both help
in avoiding  the problems  related to the  "ifs". None is  really faster
than the other. 

I  think the  reduced VOP  stuff  is also  slowing things  down (not  so
numerous as if(dec->quaterpel) but ...)

Btw, i implemented  your shifting algo. I see no  difference in my tests
(nor speed  nor quality)  (though i  did not see  neither with  my first
buggy patch).

The changes i've done are now commented, so LUTs may be more
understandable for dbquant and mbtype.

See attachment.

-- 
Edouard Gomez


More information about the XviD-devel mailing list