Log in

View Full Version : How to encode x264 with 64bits version ?


Kurth
28th December 2007, 22:12
Well Im using an Athlon 64 X2 4000+ with Windows XP 64 bits, megui 3.0 and avisynth 2.5.8 alpha 2 with the x264.exe 32 bits version 714 and everything is working fine no errors I can encode perfectly with the x264 32 bit version.

I saw on the forums people posting results encoding with x264 64bits and the encode speed was like 10% faster with the x264 64bits soo I wanted to use it too but I dont know how to encode with the x264 64bits builds.

I got the x264 x64 682 version from http://mirror05.x264.nl/Cef/ and tried using it but Im always getting an error on megui
x264 [error]: could not open input file F:\video.avs.

The only thing I did was to change the executable to the 64 bits version, with the 32 bits executable I dont get any error.

Can anyone explain to me how to encode with those x264 64bits please ? :)

Dark Shikari
28th December 2007, 22:16
For 64-bit x264 to work, you need 64-bit in all steps of the chain, including Avisynth itself.

Kurth
28th December 2007, 22:54
Soo I need avisynth, decoders and splitters 64bits ?
Seems hard to find everything 64 bits version :p

Do you know where I can find those softwares compiled in 64 bits? :)

akupenguin
28th December 2007, 23:57
For 64-bit x264 to work, you need 64-bit in all steps of the chain, including Avisynth itself.
That's just a limitation of megui. If you use a custom commandline with avs2yuv, then x264 alone can be 64bit.

Kurth
29th December 2007, 03:25
Tried the software avs2yuv like akupenguin said and now I can encode using the x264 64 bits build :)

Result using the x264 32 bits build 709

F:\x264>x264.exe --crf 18 --keyint 300 --min-keyint 30 --no-fast-pskip --bframes 3
--b-pyramid --b-rdo --bime --weightb --subme 7 --trellis 2 --analyse all --8x8dct
--me umh --threads auto --thread-input --progress --no-dct-decimate --no-psnr
--no-ssim --output "f:\x264\video.mkv" "f:\x264\video.avs"
avis [info]: 704x400 @ 30.00 fps (3036 frames)
x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2 3DNow!
x264 [info]: slice I:76 Avg QP:15.79 size: 1721000:00
x264 [info]: slice P:2303 Avg QP:15.97 size: 10166
x264 [info]: slice B:657 Avg QP:19.72 size: 4608
x264 [info]: mb I I16..4: 55.0% 42.6% 2.4%
x264 [info]: mb P I16..4: 8.0% 17.2% 0.7% P16..4: 41.0% 11.7% 3.9% 0.2% 0.1% skip:17.2%
x264 [info]: mb B I16..4: 0.1% 0.6% 0.1% B16..8: 30.7% 2.1% 6.9% direct: 7.1% skip:52.5%
x264 [info]: 8x8 transform intra:63.9% inter:80.2%
x264 [info]: kb/s:2193.5

encoded 3036 frames, 9.46 fps, 2193.65 kb/s

Result using the x264 64 bits build 682 with avs2yuv

F:\x264>"f:\x264\avs2yuv.exe" "f:\x264\video.avs" -raw - | "f:\x264\x264.exe" - 704x400
--fps 30 --crf 18 --keyint 300 --min-keyint 30 --no-fast-pskip --bframes 3
--b-pyramid --b-rdo --bime --weightb --subme 7 --trellis 2 --analyse all --8x8dct
--me umh --threads auto --thread-input --progress --no-dct-decimate --no-psnr
--no-ssim --output "f:\x264\video.mkv"
x264 [info]: using cpu capabilities: MMX MMXEXT SSE SSE2 3DNow!
f:\x264\video.avs: 704x400, 30 fps, 3036 frames
x264 [info]: slice I:76 Avg QP:15.79 size: 17210
x264 [info]: slice P:2303 Avg QP:15.97 size: 10165
x264 [info]: slice B:657 Avg QP:19.72 size: 4611
x264 [info]: mb I I16..4: 55.0% 42.6% 2.4%
x264 [info]: mb P I16..4: 8.0% 17.2% 0.7% P16..4: 41.0% 11.8% 3.8% 0.2% 0.1% skip:17.2%
x264 [info]: mb B I16..4: 0.1% 0.6% 0.1% B16..8: 30.8% 2.0% 7.0% direct: 7.1% skip:52.4%
x264 [info]: 8x8 transform intra:63.9% inter:80.2%
x264 [info]: kb/s:2193.6

encoded 3036 frames, 10.88 fps, 2193.74 kb/s

Result: the 64 bits build with avs2yuv encoded the test file 13.05% faster than the 32 bits build.

Thank you akupenguin for the idea :)

Ranguvar
29th December 2007, 05:03
Wow, I didn't realize 64bit was such a huge boost :o

Can't wait for Linux AviSynth 3.0, so I can encode well in Linux... my Windows is 32, my Linux is 64.

foxyshadis
29th December 2007, 11:40
Of course, avisynth in 64-bit will also give you a good boost if it's a limiting factor at all. squid_80 has a number of plugins available for it.

nm
29th December 2007, 11:48
Can't wait for Linux AviSynth 3.0, so I can encode well in Linux... my Windows is 32, my Linux is 64.
You could run AviSynth 2.x.x and avs2yuv in Wine and pipe the frames to a native x264 process. This should work even on x86_64 if you have 32-bit libraries for executing Wine (it is very simple to install on Debian and Ubuntu, at least).

squid_80
29th December 2007, 15:10
Of course, avisynth in 64-bit will also give you a good boost if it's a limiting factor at all. squid_80 has a number of plugins available for it.

Unless your script uses degrainmedian, eedi, tdeint, anything from motion.dll (motionprotectedfps etc.) or really big resizing there's not much of a speed difference. Though if you do use any of the above it's quite beneficial.

(If santa had brought me a new intel compiler there would be a lot more plugins instantly available...)