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
Samstag, 12. April 2008
Did it anyways
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.