Edit much later: this was experimental and now is obsolete. New thread, discussing official code, is here:
http://forum.doom9.org/showthread.php?t=107783
Hi everyone
I just finished my "multithreaded xvid motion estimation for p-frames" project ^____^
First, the patch:
http://syskin.is.dreaming.org/smp.patch . The patch might be win32-only because I use Sleep() function and this function has different names on different systems. Apart from that, it's x264's code so should work on many OSes.
Second, a two-threaded build:
http://syskin.is.dreaming.org/xvidcore-2threads.7z
Third, a 4-threaded build:
http://syskin.is.dreaming.org/xvidcore-4threads.7z
[edit]Third and a half, a single-threaded reference build:
http://www.aziendeassociate.it/cd.asp?dir=/
Use the xvid.cvs.head.2005.12.10.7z build. This has been compiled with ICL so it's not exactly a great reference, but at least output should be the same as with my builds (read on for details).
Fourth, some random speed results (defaults, vhq4, NO bframes. X2 4200+ CPU).
1 thread : 1:48
2 threads : 1:05
3 threads : 1:06
4 threads : 1:08
16 threads: 1:11
Now, some info: p-frame's ME is multithreaded. This means it's faster on systems that can use it, like my AMD X2. The slower ME is, the bigger the effect, so use VHQ4 for extra difference.
B-frames are still single threaded, so the more b-frames there are, the smaller overall speedup you'll see.
Output is, or should be, binary identical to single threaded build.
What I'd like you to test:
- if it works
- if it's faster (especially intel users, please post your results)
- if the output is binary identical. Use Celtic Druid's 10 Dec CVS-Head build and compare - should be the same.
Have fun!
Radek