As I blogged earlier, there was an issue with motion vectors (MVs), an array was too small so a wrong MV could have been chosen in some cases. Since those MVs are costly bitrate-wise, it should have happened very seldom.
I spoke to sysKin and he verified that this issue should be fixed, he also recommended using CVS head/main instead of "old" 1.1.3 nowerdays. Anyhow, I updated Xvid-1.1.3 and Xvid-1.1.3-VAQ. You can find the builds over on my homepage.
On a sidenote, today we made already over half an hour of sport, each one, my GF and I. If this keeps going on, that WiiFit-game would be a very nice investment! ;-)
Sonntag, 27. April 2008
Yet another Xvid-build with a bugfix
Freitag, 25. April 2008
Another Xvid-Bugfix in testing
Plugh pointed out another minor bug in Xvid-1.1.3 affecting the choice of motion vectors (MVs). In some cases it is possible that Xvid choses a MV that is wrong. This should happen only in very high bitrate encodes, possibly only if quantizer 1 is allowed, as those MVs would be costing much bitrate according to syskin. A discussion of the problem was taking place at Doom9's forum.
I built a core dll and sent it to plugh so he can test if it works correctly. If it does I'll create a new installer and make it available on my website www.koepi.info.
By the way, it seems plenty of people still link to my old domain. I'd like to ask everyone out there to change the stolen domain koepi dot org in links to www.koepi.info. Otherwise you are supporting that domain thief (who copied all the old text content of the site and puts it on the stolen domain pretending to be me to increase his hits). He claims to sit in Istanbul/Turkey; maybe I can pull some strings there.
If anyone at google could simply replace the .org-domain with the .info in the databases it would be helping, too. I reported the old domain as spam, let's see if google will react!
Ok, off to work...
Cheers
Koepi
Samstag, 12. April 2008
Did it anyways
I added the one-line-patch of plugh to Xvid-1.1.3's encoder.c. That patch is already in CVS but wasn't back-ported to Xvid-1.1.3.
In encoder.c, change
frame->coding_type = B_VOP;
call_plugins(pEnc, pEnc->current, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);
into
frame->coding_type = B_VOP;
call_plugins(pEnc, frame, NULL, XVID_PLG_FRAME, NULL, NULL, NULL);
The old code seems to have handed over the wrong frame to the plugin-system if the frame was a b-frame. There are two new builds up on my my webpage, the usual Xvid-1.1.3 and the one with the VAQ-patch from Dark Shikari.
Now I have to leave for shopping with my GF for the party we're having today -- celebrating her b-day a little later :-)
Cheers
Koepi
Too little time
I was hoping that I'd find the time to make new Xvid-builds with a small bugfix: As plugh pointed out, plugins may not be called correctly when using b-frames. It shouldn't be a big problem though.
Well, but then I had some days off and went to my future wife's place as it was her birthday this week, only armed with my little EeePC. I do have a windows-installation on a SDHC-card but didn't install any compilers, they simply wouldn't fit on that tiny 4GB card. So there's currently no way to use the EeePC for windows-development.
Now I'm home again, but still am busy with other things. My GFs sister wants a laptop, too, after my b-day-gift for my GF was a cheap, but nice HP 6715s. So I'm currently busy setting up another laptop instead of taking the time to add plugh's proposed bugfix and upload new binaries.
Cheers
Koepi
Donnerstag, 3. April 2008
VAQ-Build with experimental SMP
Some users over at Doom9's requested a build with the VAQ-patch based on sysKins old SMP-experimental-code. So I also created a new binary based on that code. The code base is over two years old though. Anyhow, I hope the build works!
...have to leave to work now.
Cheers
Koepi
Mittwoch, 2. April 2008
Xvid-build with h264's Variable Adaptive Quantization
I found some time to download and apply Dark Shikari's patch which adds the Variable Adaptive Quantization (VAQ) from h264 to Xvid. You can download the build at my website. To make compilation work with Intel compilers I had to move some variable declarations around but I'm quite positive that I didn't break anything.
I didn't test if the code works at all, I just compiled the new build and created a new installer. The installer works at least... You enable the code by activating Adaptive Quantization in the Xvid user interface.
Adaptive quantization varies the quantization within a frame on macroblock level to save more space. In two pass scenarios this can improve the overall quality quite a bit as the saved bitrate can be distributed over the whole encoding in the second pass.