[XviD-devel] Main Profile

Radek Czyz syskin at ihug.com.au
Tue Jul 6 14:55:25 CEST 2004


Christoph Lampert wrote:
> Hi guys,
> 
> the release of 1.0 seems to have exhausted everyone... it's really quiet 
> in here. Anyway, let's try to discuss some goals for the future:

OK, this might be a good place for me to tell you my plans. I have some 
free time now, since I finished my exams a week ago.

(1)
Firstly, I have new motion estimation for b-frames. The changes can be 
summarized as:

- parallization of the four search modes. This allows to drop modes 
which seem to give worse SAD "so far" and only focus on these which look 
promising.
[ It's been a surprise that interpolate mode is quite evil with that 
respect: until you make full refinement of both vectors (slow!), you 
don't really know if interpolate mode will be used or not.
Direct mode is the best for that - if it's bad with 0,0 vector, it won't 
be used at all. ]

- don't do direct mode search in qpel precision (of course!). I was 
hoping this boosts the speed very well but no, not really. Still, it's 
an improvement.

- proper mode decision, independant of the search. R-D based one is the 
next natural step.

I still need to tune the whole thing, as currently it's only a bit 
faster than original.

(2)
After I finished my Computer Systems course at uni, I wanted the fun to 
continue so I started assembler hacking ;> (not because it's needed, but 
because it's fun). My target was sad16v_xmm since it's used a lot and 
doesn't have _3dne equivalent (and in fact doesn't seem to be optimized 
at all).
I *think* my implementation is much faster now, or at least amd 
codeanalyst says so.
I can't do proper speed tests using xvid_bench on win32 :/

(3)
Oh right, and I changed xvid_bench to actually test sad16v, and to run 
much more realistic SAD test (stride==16? ref always aligned? come on...)

(4)
My ultimate goal for now is the "HVS plugins" idea which I told you 
about, a long time ago. This will especially help on anime but not only 
there. Once we have plugin structure working, we can invent new plugins 
freely and independantly (which might even bring some outside experts here).

(5)
There are many VfW/directshow things to do. I don't really feel like 
doing them but if noone else will... These include:
- some logging capabilities in VfW encoder. It's been done (look at 
doom9 forum), maybe we can just copy that. Koepi has had some fun coding 
too.
- VBV control in VfW. Do we want VBV to be disable-able, or do we force 
VBV in everything but "Unrestricted" profile?
- Aspect ratio reader in dshow decoder. This means we should be able to 
read VOL header alone (perhaps we can), soon after decoder is 
initialized, and extract aspect ratio from that.
Currently XviD does not support AR from 3ivx's mp4 splitter.


OK, enough from me :)

Regards,
Radek

PS. Oh and of course, Christoph's ideas are very good too. I like them.


More information about the XviD-devel mailing list