Log in

View Full Version : x264 Windows x64 support


Pages : 1 2 3 4 5 [6]

Egh
19th February 2009, 17:05
Mostly read (except AVI/AVS input)

As I recently found out by myself x264 fails to read any AVI over 2GB regardless of the build, it is per design and that fact is conveniently omitted from the documentation :))

bob0r
19th February 2009, 18:16
@komisar mind compiling a proper fprofiled x264bit build for us? (gpac/pthreads) :)

komisar
19th February 2009, 19:11
Information: for correct building libgcov.a (need for profiling) in gcc configure must use "--prefix=/XXX --with-sysroot=/XXX" for x86_64-pc-mingw32.

P.S. If anybody interest, I publish my last mingw cross-compile toolchain...

JediNight
20th February 2009, 19:23
I recently moved to a 64bit OS -- is it worthwhile to use the 64bit build of x264 yet, or should I stick to the 32bit for now? And can it be used with megui at all, or is it CLI only for now?

deets
20th February 2009, 20:37
I recently moved to a 64bit OS -- is it worthwhile to use the 64bit build of x264 yet, or should I stick to the 32bit for now? And can it be used with megui at all, or is it CLI only for now?

ripbot264 will use the 64 bit in the recent build.

cant use megui as yet, well not easily anyway.

kemuri-_9
21st February 2009, 00:39
x264_x64_1114M.exe (http://kemuri9.net/dev/x264/x264_x64_1114M.exe)

patches:
x264_check_mingw_has_strtok_r.diff (http://kemuri9.net/dev/x264/patches/x264_check_mingw_has_strtok_r.diff)
x264_hrd_pulldown.09_interlace.diff

gcc 4.3.3
+pthreads, gpac, avs

bob0r
21st February 2009, 16:38
Information: for correct building libgcov.a (need for profiling) in gcc configure must use "--prefix=/XXX --with-sysroot=/XXX" for x86_64-pc-mingw32.

P.S. If anybody interest, I publish my last mingw cross-compile toolchain...

Always do!

komisar
21st February 2009, 22:20
I hope that the more critical bugs fixed...

MinGW cross-compile toolchain:
komisar.gin.by/mingw/ (http://komisar.gin.by/mingw/)

Generic configuration compiled with
"--disable-shared --enable-static" options for configure script

***************************************
:32-bit i686-pc-mingw32
CFLAGS="-march=pentium2 -mtune=generic"
mingwrt-3.15.2-mingw32
w32api-3.13-mingw32
zlib-1.2.3
gmp-4.2.3
mpfr-2.3.2
binutils-cvs (GNU Binutils) 2.19.51.20090220
gcc version 4.3.4 20090220 (prerelease) (x32.generic.Komisar) (GCC)
pthread version svn-2.9.0.0
GPAC version 0.4.6-DEV (build 1) cvs 20090219

:64-bit x86_64-pc-mingw32
CFLAGS="-mtune=generic"
mingw-w64 from svn rev.635
zlib-1.2.3
binutils-cvs (GNU Binutils) 2.19.51.20090220
gcc version 4.3.4 20090220 (prerelease) (x64.generic.Komisar) (GCC)
pthread version svn-2.9.0.0
GPAC version 0.4.6-DEV (build 1) cvs 20090219

komisar
28th March 2009, 17:09
For simple self-building cross-compile toolchain I make small scripts.
Grab it from http://komisar.gin.by/mingw/

frencher
12th March 2017, 19:23
Hi roozhou,

Have you update of "Namedpipe.exe" ? :thanks:

I have Windows 10 x64, my problem is with large cmd.
My problem is with a large number of file in a home made GUI, "Namedpipe.exe" remains on stand-by from time to time.
".\NamedPipe.exe" "\\.\pipe\pipe_88741.y4m" ".\x264_x64.exe" --crf 28 --preset ultrafast --force-cfr --stdin y4m --output ".\TMP_Video.24" - | ".\mplayer.exe" ".\MOV_0715.mov" -lavdopts threads=11 -vf scale=160:90 -correct-pts -fps 30000/1001 -noframedrop -nofontconfig -vo yuv4mpeg:file="\\.\pipe\pipe_88741.y4m" -ao pcm:fast:file=".\TMP_Audio.wav"

http://i67.tinypic.com/awqlw9.png

Rename attached file to Namedpipe.exe

usage:

Namedpipe pipename exename args

1) pipename must start with \\.\pipe\
2) exename is the program that you want to redirect its stdin
3) args is extra command-line arguments for exename, remember to put at least 2 spaces between exename and args

e.g. pipe mplayer's to neroAacEnc

1) in 1st cmd window, type "Namedpipe \\.\pipe\1.wav neroAacEnc.exe -q 0.3 -ignorelength -if - -of xxx.mp4"
2) in 2nd cmd window, type "mplayer xxx.xxx -vc NULL -vo NULL -ao fast:file=\\.\pipe\1.wav"

Source code(compiled in VC2005)

#pragma comment(linker,"/INCREMENTAL:NO /SECTION:.text,EWR /ALIGN:0x1000")
#include <Windows.h>

#define BUFSIZE 0x400000
char processname[256];
char pipename[64];
char *cmd,*tmp;
HANDLE hPipe/*,hCP,hChildIn*/;
STARTUPINFOA stinfo={0};
PROCESS_INFORMATION pinfo={0};
SECURITY_ATTRIBUTES sa={sizeof(SECURITY_ATTRIBUTES),NULL,TRUE};
void WINAPI Main()
{
DWORD quoteon,state,cmdend;
cmd = GetCommandLineA();
quoteon = 0;
state = 0;
cmdend=0;
tmp = pipename;
while (!cmdend)
{
switch(*cmd)
{
case 0:
cmdend=1;
*tmp=0;
goto END;
case '\"':
quoteon = !quoteon;
break;
case ' ':
case '\t':
if (quoteon)
{
switch(state)
{
case 2:
case 4:
*tmp++ = *cmd;
}
}
else
{
switch(state)
{
case 0:
state++;
break;
case 4:
cmdend = 1;
case 2:
*tmp = 0;
state++;
}
}
break;
default:
switch(state)
{
case 3:
tmp = processname;
case 1:
state++;
case 2:
case 4:
*tmp++ = *cmd;
}
}
cmd ++;
}
END:
if (state<2 || quoteon)
return;
if (INVALID_HANDLE_VALUE == (hPipe = CreateNamedPipeA(pipename,PIPE_ACCESS_DUPLEX,PIPE_TYPE_BYTE | PIPE_READMODE_BYTE | PIPE_WAIT,PIPE_UNLIMITED_INSTANCES,BUFSIZE,BUFSIZE,0,&sa)))
return;
ConnectNamedPipe(hPipe,NULL);
stinfo.cb = sizeof(STARTUPINFO);
stinfo.dwFlags = STARTF_USESTDHANDLES;
stinfo.hStdInput = hPipe;//hChildIn;
stinfo.hStdOutput = GetStdHandle(STD_OUTPUT_HANDLE);
stinfo.hStdError = GetStdHandle(STD_ERROR_HANDLE);
if (CreateProcessA(processname,cmd,0,0,TRUE,0,NULL,NULL,&stinfo,&pinfo))
{

WaitForSingleObject(pinfo.hProcess,INFINITE);
}
}