Log in

View Full Version : 64-bit x264 equally stable?


asarian
6th April 2016, 06:51
On Windows, I've been piping to a 32-bit x264 for years now. I was wondering, is there really any reason to not use the 64-bit version of x264 any more (when all I do is pipe to it, either via avs2yuv or VSPipe)?! I read, somewhere on this forum, that the 64-bit version was less optimized or something (it's certainly bigger, but that probably means nothing).

Thanks.

jpsdr
6th April 2016, 08:58
For me, it's the opposite. With my settings, 64 bits version is around 40% faster. Personnaly, i've always used 64 bits version without issues. But for this, you'll have to be sure that all the codecs, avisynth/Vapoursynth/etc..., pluggins, etc... you use are 64 bits.

asarian
6th April 2016, 09:17
For me, it's the opposite. With my settings, 64 bits version is around 40% faster. Personnaly, i've always used 64 bits version without issues. But for this, you'll have to be sure that all the codecs, avisynth/Vapoursynth/etc..., pluggins, etc... you use are 64 bits.


Well, like I said, I pipe to x264 (via either avs2yuv or VSPipe), so it doesn't matter if AviSynth/VapourSynth will be 32-bit. That's the whole beauty of piping to x264. :)

But good to know you're getting a 40% speed increase. That is major. Thanks.

stax76
6th April 2016, 15:17
@asarian

1-2 years ago it was pretty much an adventure giving up x86 compatibility in StaxRip, in recent months things have become very very smooth so don't worry, almost all tools are there and work great, below you can see all packages included in StaxRip x64.


app/plugin (script engine) = version (platform); last change date

adjust vs = 2015-03-22; 2016-03-01
AviSynth+ = r1828 x64; 2016-03-29
AVSMeter = 2.1.6 x64; 2015-12-05
aWarpSharp2 avs = 2012-03-28 x64; 2014-09-21
BDSup2Sub++ = 1.0.2 x86; 2013-04-17
BeSweet = 1.5b31 x86; 2005-09-08
checkmate avs = 0.9 x64; 2013-12-19
d2vsource vs = Beta 7 x64; 2013-12-05
Decomb avs = 5.2.4 x64; 2013-12-01
DGDecodeIM avs = b50 x64; 2015-05-15
DGDecodeNV avs = 2051.3 x64; 2016-03-17
DGIndexIM = b50 x64; 2015-03-31
DGIndexNV = 2051.3 x64; 2016-03-17
DivX265 = 1.5.0.8 x64; 2015-04-24
dsmux = 2013-04-14 x64; 2013-04-14
DSS2mod avs = 2014-11-13 x64; 2014-11-13
eac3to = 3.31 x86; 2015-11-14
ffmpeg = 2016-03-10 x64; 2016-03-11
ffms2 avs+vs = 2.22 RC2 x64; 2015-05-30
finesharp vs = 2015-01-16; 2015-09-06
flash3kyuu avs = 1.5.1 x64; 2012-04-07
FluxSmooth vs = 1.0 x64; 2014-04-06
FluxSmooth avs = 1.0 x64; 2014-04-06
fmtconv vs = r20 x64; 2016-03-25
Haali Splitter = 2013-04-14 x64; 2013-04-14
havsfunc vs = r22; 2016-02-29
Java = 8 x86; 2016-03-29
KNLMeansCL avs+vs = 0.7.5 x64; 2016-02-19
L-SMASH-Works avs = r875 x64; 2016-02-02
masktools2 avs = 2.0b1 x64; 2013-12-20
MediaInfo = 0.7.83 x64; 2016-02-29
MKVToolNix = 9.0.1 x64; 2016-03-28
MP4Box = 0.6.0 x64; 2016-03-04
MPC Player = 1.4.5 x64; 2015-07-30
msmoosh vs = 1.1 x64; 2014-09-26
mvsfunc vs = r6; 2016-01-26
mvtools vs = v12+ x64; 2016-04-03
mvtools2 avs = 2.7.0.1 x64; 2016-03-31
Nero AAC Encoder = 1.5.4 x86; 2010-02-18
NicAudio avs = 1.1 x64; 2006-07-24
nnedi3 vs = v8 x64; 2016-01-24
nnedi3 avs = 0.9.4.20 x64; 2015-12-23
NVEncC = 2.00ß4 x64; 2016-01-05
ProjectX = 0.91.0.00; 2011-03-27
Python = 3.5.1 x64; 2015-12-06
qaac = 2.58 x64; 2016-01-05
QSVEncC = 2.44v2 x64; 2016-04-03
QTGMC avs = 3.33; 2016-03-31
RgTools avs = 0.92.1 x64; 2014-02-12
SangNom2 avs = 0.35 x64; 2013-11-30
scenechange vs = 2014-09-25 x64; 2014-09-25
TComb avs = 2015-07-26 x64; 2015-07-26
TDeint avs = 1.1 x64; 2010-03-14
temporalsoften vs = 2014-09-25 x64; 2014-09-25
UnDot avs = 0.0.1.1 x64; 2006-09-19
VapourSynth = R31 x64; 2016-02-03
VCEEncC = 1.03v2 x64; 2015-10-24
vinverse avs = 2013-11-30 x64; 2013-11-30
Visual C++ 2013 = 2013 x64; 2013-10-04
Visual C++ 2015 = 2015 x64; 2015-11-05
VSFilter avs = 2.41.322 x64; 2014-01-11
vslsmashsource vs = r875 x64; 2016-02-02
vspipe = R31 x64; 2016-02-03
VSRip = 1.0.0.7 x86; 2011-07-14
x264 = r2665 8-Bit x64; 2016-03-05
x265 = 1.9+106 x64 multi lib 8/10/12 bit; 2016-03-24
xvid_encraw = 1.3.3.0 x64; 2015-03-04
yadifmod2 avs = 0.0.3 x64; 2016-03-20

jpsdr
6th April 2016, 16:15
Well, like I said, I pipe to x264
I should have said that, personnaly, i don't want to pipe, to avoid any "useless" things, and minimize potential issues and or slowdown.
But, as said, it's my personnal point of view.

Edit : Correct word was "should" not "must".

asarian
6th April 2016, 16:59
I must have said that, personnaly, i don't want to pipe, to avoid any "useless" things, and minimize potential issues and or slowdown.
But, as said, it's my personnal point of view.

Well, for the longest time, I had no choice really, as Lord_Mulder's avs2yuv process separation trick was the only way to deal with complex HD scripts, that in a single process otherwise would run out of memory (> 2G). It has served me well. Now, with VapourSynth, I'm still piping, using VSPipe.

asarian
6th April 2016, 17:01
@asarian

1-2 years ago it was pretty much an adventure giving up x86 compatibility in StaxRip, in recent months things have become very very smooth so don't worry, almost all tools are there and work great, below you can see all packages included in StaxRip x64.


app/plugin (script engine) = version (platform); last change date

adjust vs = 2015-03-22; 2016-03-01
AviSynth+ = r1828 x64; 2016-03-29
AVSMeter = 2.1.6 x64; 2015-12-05
aWarpSharp2 avs = 2012-03-28 x64; 2014-09-21
BDSup2Sub++ = 1.0.2 x86; 2013-04-17
BeSweet = 1.5b31 x86; 2005-09-08
checkmate avs = 0.9 x64; 2013-12-19
d2vsource vs = Beta 7 x64; 2013-12-05
Decomb avs = 5.2.4 x64; 2013-12-01
DGDecodeIM avs = b50 x64; 2015-05-15
DGDecodeNV avs = 2051.3 x64; 2016-03-17
DGIndexIM = b50 x64; 2015-03-31
DGIndexNV = 2051.3 x64; 2016-03-17
DivX265 = 1.5.0.8 x64; 2015-04-24
dsmux = 2013-04-14 x64; 2013-04-14
DSS2mod avs = 2014-11-13 x64; 2014-11-13
eac3to = 3.31 x86; 2015-11-14
ffmpeg = 2016-03-10 x64; 2016-03-11
ffms2 avs+vs = 2.22 RC2 x64; 2015-05-30
finesharp vs = 2015-01-16; 2015-09-06
flash3kyuu avs = 1.5.1 x64; 2012-04-07
FluxSmooth vs = 1.0 x64; 2014-04-06
FluxSmooth avs = 1.0 x64; 2014-04-06
fmtconv vs = r20 x64; 2016-03-25
Haali Splitter = 2013-04-14 x64; 2013-04-14
havsfunc vs = r22; 2016-02-29
Java = 8 x86; 2016-03-29
KNLMeansCL avs+vs = 0.7.5 x64; 2016-02-19
L-SMASH-Works avs = r875 x64; 2016-02-02
masktools2 avs = 2.0b1 x64; 2013-12-20
MediaInfo = 0.7.83 x64; 2016-02-29
MKVToolNix = 9.0.1 x64; 2016-03-28
MP4Box = 0.6.0 x64; 2016-03-04
MPC Player = 1.4.5 x64; 2015-07-30
msmoosh vs = 1.1 x64; 2014-09-26
mvsfunc vs = r6; 2016-01-26
mvtools vs = v12+ x64; 2016-04-03
mvtools2 avs = 2.7.0.1 x64; 2016-03-31
Nero AAC Encoder = 1.5.4 x86; 2010-02-18
NicAudio avs = 1.1 x64; 2006-07-24
nnedi3 vs = v8 x64; 2016-01-24
nnedi3 avs = 0.9.4.20 x64; 2015-12-23
NVEncC = 2.00ß4 x64; 2016-01-05
ProjectX = 0.91.0.00; 2011-03-27
Python = 3.5.1 x64; 2015-12-06
qaac = 2.58 x64; 2016-01-05
QSVEncC = 2.44v2 x64; 2016-04-03
QTGMC avs = 3.33; 2016-03-31
RgTools avs = 0.92.1 x64; 2014-02-12
SangNom2 avs = 0.35 x64; 2013-11-30
scenechange vs = 2014-09-25 x64; 2014-09-25
TComb avs = 2015-07-26 x64; 2015-07-26
TDeint avs = 1.1 x64; 2010-03-14
temporalsoften vs = 2014-09-25 x64; 2014-09-25
UnDot avs = 0.0.1.1 x64; 2006-09-19
VapourSynth = R31 x64; 2016-02-03
VCEEncC = 1.03v2 x64; 2015-10-24
vinverse avs = 2013-11-30 x64; 2013-11-30
Visual C++ 2013 = 2013 x64; 2013-10-04
Visual C++ 2015 = 2015 x64; 2015-11-05
VSFilter avs = 2.41.322 x64; 2014-01-11
vslsmashsource vs = r875 x64; 2016-02-02
vspipe = R31 x64; 2016-02-03
VSRip = 1.0.0.7 x86; 2011-07-14
x264 = r2665 8-Bit x64; 2016-03-05
x265 = 1.9+106 x64 multi lib 8/10/12 bit; 2016-03-24
xvid_encraw = 1.3.3.0 x64; 2015-03-04
yadifmod2 avs = 0.0.3 x64; 2016-03-20



Thanks for the list. ;) Yes, I almost forgot, I still need to check out your StaxRip tools.

stax76
6th April 2016, 17:09
I must have said that, personnaly, i don't want to pipe, to avoid any "useless" things, and minimize potential issues and or slowdown.
But, as said, it's my personnal point of view.

It's easy to see why people think like this, I tend to the same way of thinking, always trying to keep things simple and efficient, on the other side piping is used in StaxRip all over the place. It turned out to be simple to add to a GUI as well as being robust and have little to no performance impact. StaxRip prefers and defaults always to direct AviSynth+/VapourSynth usage but often provides alternatives and falls back to piping if direct AviSynth+/VapourSynth isn't possible.

StaxRip supports lot's of decoders and encoders, some available options are:

QSVEncC x64 by default using avs or vpy input or direct input using Quick Sync decoding or ffmpeg dxva2 or ffmpeg qsv decoding via piping.

NVEncC x64 by default using avs or vpy input or direct input using CUVID decoding or QSVEncC using Quick Sync decoding or ffmpeg dxva2 or ffmpeg qsv decoding via piping.

x264 x64 supports only avs, the regular builds don't support vpy and hardware decoders via piping are not yet supported by StaxRip, only with AviSynth with DGDecNV/DGDecIM, DSS2+LAV Filters, VapourSynth has a avisource filter that can read avs.

(small rant...) x265 has probably 120-140 different command line switches (for which StaxRip supports 95% as GUI option including search and navigation capabilities), yet they refuse in contrast to popular demand to offer avs, let alone vpy support, it would be easy to add since there are countless source codes that can be used like the one of QSVEncC. Because avs and vpy are not supported StaxRip uses ffmpeg to pipe from AviSynth+ and vspipe to pipe from VapourSynth.

Stereodude
7th April 2016, 00:29
I like MP_Pipeline (http://forum.doom9.org/showthread.php?t=163281) myself to output directly in 64-bit to x264 64-bit. You can do all your processing in 32-bits with each filter having it's own several GB of RAM to play with if you want, but you can output to x264 in 64-bits without piping. It can also be used to improve threading and throughput to x264 if you're clever about how you use it since your entire script no longer runs as a single thread. Blocks of the script can run as a thread or even individual filters depending on how you break it up.