View Full Version : How can i use 64 bit x264.exe with 32bit avisynth?
xtm_xfcy
13th March 2009, 05:54
I Download 64 bit x264.exe,and I installed 32 bit avisynth,but i am not success,need 64bit video decoder?:confused:
Snowknight26
13th March 2009, 06:18
No. You can pipe the output of AviSynth to x264 by way of avs2yuv.
kemuri-_9
13th March 2009, 06:31
check out
http://forum.doom9.org/showthread.php?t=145556
it's been in discussion recently.
xtm_xfcy
13th March 2009, 07:32
thank you very much!
but i don't know why i can't load avisynth of 64bit ,need codecs/splitter of 64bit?
roozhou
13th March 2009, 13:04
I wonder why you need to use 64-bit x264. It won't give you better quality.
ACrowley
13th March 2009, 13:14
I wonder why you need to use 64-bit x264. It won't give you better quality.
better perfomance ? I dont know how fast/or slow x264 x64 is
deets
13th March 2009, 13:44
better perfomance ? I dont know how fast/or slow x264 x64 is
around 10% or so faster i think was the figure given
LoRd_MuldeR
13th March 2009, 14:50
I Download 64 bit x264.exe,and I installed 32 bit avisynth,but i am not success,need 64bit video decoder?:confused:
See, for example:
http://forum.doom9.org/showthread.php?t=144140
ImmortAlex
17th March 2009, 04:46
Do I understand it right?
pipebuf.exe avs2yuv.exe video.avs -raw -o - : x264.exe <options> -o output.mkv - WxH
It works fine for me, but I'm confused about x264 assuming input is raw YUV and asking for width and height. Is there an option to tell him that input is YUV4MPEG?
P.S. Speed is incredible on my C2D 8500 with latest build!
LoRd_MuldeR
17th March 2009, 04:51
Do I understand it right?
pipebuf.exe avs2yuv.exe video.avs -raw -o - : x264.exe <options> -o output.mkv - WxH
Yes. But more precise:
pipebuf.exe avs2yuv.exe video.avs -raw -o - : x264.exe <options> -o output.mkv - WxH : <buffer_size>
It works fine for me, but I'm confused about x264 assuming input is raw YUV and asking for width and height. Is there an option to tell him that input is YUV4MPEG?
I don't think x264 does support yuv4mpeg as input. That's why you have to use the "-raw" option for avs2yuv and pass "<width>x<height>" to x264.
You can gather the required information (width, height, fps, framecount) from avs2yuv, as my tool does...
ImmortAlex
17th March 2009, 10:03
Yes. But more precise:
pipebuf.exe avs2yuv.exe video.avs -raw -o - : x264.exe <options> -o output.mkv - WxH : <buffer_size>
Is default buffer size not optimal? Is it depends on resolution, Windows version etc.? This is unclear for me from the topic where you introduce this tool.
I don't think x264 does support yuv4mpeg as input.
Infile can be raw YUV 4:2:0 (in which case resolution is required),
or YUV4MPEG 4:2:0 (*.y4m),
or AVI or Avisynth if compiled with AVIS support (yes).
So it can, at least from file (looks to file extension, I think). And that confused me, but I didn't find any options to tell x264 that stdin contains YUV4MPEG.
J_Darnley
17th March 2009, 13:38
So it can, at least from file (looks to file extension, I think). And that confused me, but I didn't find any options to tell x264 that stdin contains YUV4MPEG.
There isn't one. The y4m reader is only used if this is true: !strncasecmp( psz, ".y4m", 4 )
Which, in English, means if the last four characters of the filename are dot-wye-four-em, use the yuv4mpeg reader.
LoRd_MuldeR
17th March 2009, 14:37
Is default buffer size not optimal? Is it depends on resolution, Windows version etc.? This is unclear for me from the topic where you introduce this tool.
I don't know. That's why I added the "Benchmark" button. I turns out that most people get best results with 2 or 4 MB...
ImmortAlex
18th March 2009, 04:08
The y4m reader is only used if this is true: !strncasecmp( psz, ".y4m", 4 )
So I have RFE for developers :) Just a new little simple command line option...
roozhou
18th March 2009, 04:51
Infile can be raw YUV 4:2:0 (in which case resolution is required),
or YUV4MPEG 4:2:0 (*.y4m),
or AVI or Avisynth if compiled with AVIS support (yes).
So it can, at least from file (looks to file extension, I think). And that confused me, but I didn't find any options to tell x264 that stdin contains YUV4MPEG.
Well, look at the following stupid code in x264's open_file_y4m function:
h->next_frame = 0;
if( !strcmp(psz_filename, "-") )
h->fh = stdin;
else
h->fh = fopen(psz_filename, "rb");
if( h->fh == NULL )
return -1;
Since open_file_y4m is only called when psz_filename ends with ".y4m", h->fh = stdin will never run.
My suggestion is:
h->next_frame = 0;
- if( !strcmp(psz_filename, "-") )
+ if( !stricmp(psz_filename, ".y4m") )
h->fh = stdin;
else
h->fh = fopen(psz_filename, "rb");
if( h->fh == NULL )
return -1;
Setting input file to ".y4m" will allow encoding from stdin.
ImmortAlex
18th March 2009, 05:40
Setting input file to ".y4m" will allow encoding from stdin.
I think this code is dirty hack :)
There must be an option(s) to define what data is in stdin (format and other parameters if needed).
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.