[XviD-devel] Quality optimization

suxen_drol xvid-devel@xvid.org
Sat, 25 Jan 2003 14:59:54 +1100


On Sat, 25 Jan 2003 00:38:19 +1030 Radek Czyz <radoslaw@syskin.cjb.net> wrote:

> Hi again,
> 
> I'm sorry for making all the fuss about CodeAnalyst, but this is the
> first time I'm using such a tool and I have noone else to ask ;)
> I was able to run optimized code with it.
> 
> >> if (x) { // 50% incorrect prediction
> >>   x = ABS(x) // ~40% incorrect prediction
> >> ...
> >> ... and the same for y.
> 
> > Where the heck in the code is this line???
> 
> Well, it looks like this:
> 
>         if (x) {
>                 x = ABS(x);
>                 x += (1 << (iFcode - 1)) - 1;
>                 x >>= (iFcode - 1);
>                 if (x > 32) x = 32;
>                 xb = mvtab[x] + iFcode;
>         } else xb = 1;
> 
> If I'm correctly reading the output of CodeAnalyst (not that easy,
> because the function is inlined) the prediction is perfect with
> optimized code.
> 
> > I never had problem with CodeAnalyst to run complete XviD (was an older
> > version, but nevertheless...) Maybe you can switch off some options?
> 
> Could you give me an easy solution to have access to nasm files? I
> really don't know how. No asm files are shown in the program, and when
> I do normal profiling most of cpu time is spent in function "unknown"
> which I guess are asm functions....
> I guess Program Database from VS6 doesn't mention asm files.

nasm has no debug info support, and therefore name function do not
appear within code analyst. this is the *only* disadvantage nasm has
over inlined assembly. 

interesting: http://www.tortall.net/projects/yasm/


-- pete; life is like a box of ammo