View Full Version : sex264 (updated almost daily by now)
sysKin
5th January 2005, 11:55
Hi everyone :)
I just finished "my" first really working build of x264 with up-to-date VfW interface. The GUI has most of the options that core has, including bframes, two-pass, and motion estimation selectors. It's pretty ugly I admit but I don't care :p
I need testers. Consider this version RC1 - I think it works but I don't feel like testing ;)
The name is sysKin's experimantal x264, or sex264 for short.
Grab it (build and src) at http://syskin.is.dreaming.org/x264/ .
Have fun, and don't forget to report anything that is wrong or missing.
Radek
[edit 9th Jan] New version available.
Yong
5th January 2005, 12:02
sex264, nice name! lol:p
Sirber
5th January 2005, 12:55
Cool!
What are the *working* features?
[edit]
Install don't work, VDub don't see it :(.
sysKin
5th January 2005, 13:13
Originally posted by Sirber
What are the *working* features?Whatever x264's core currently has. Ffdshow doesn't want to play its b-frames (asserion error with newest Celtic Druid's build) but Videosoft's decoder plays them fine.
Install don't work, VDub don't see it :(. Very bad. This definitely works for me - check if x264vfw.dll got copied to windows\system32\ (ah, maybe you're not administrator?).
Radek
Sirber
5th January 2005, 13:22
I'm administrtator. Second click on the .inf, install. It seems to copy a file but in VDubMod, nothing :(
[edit]
Tryed with regsrv32.exe, but it said function DLLRegisterServer is not found.
bond
5th January 2005, 13:59
np showing up here in vdm
btw syskin you might want to consider using "avc1" as fourcc, its not nice looking, but still its the four letter "fourcc" the mpeg-4 standard defines to use for signalling h.264 in .mp4 (i think it can be taken as the equivalent to the .avi 4ccs)
its already supported by ffdshow :)
edit3: maybe it would be also nice to add a description to the subpixel options (eg uses qpel, uses hpel aso..)
edit: and how do you make 2pass working in vfw?
for the first pass i assume you use constant quant, what quant do you use?
edit2: two gui problems:
1) the "ok" button in the advanced tab is divided by the bottom line (i hope its clear what i mean)
2) i still get the problem, that when i push the "load defaults" that all values get set to 0 and all options get unticked in the advanced tab
Jerry_Sm@rt
5th January 2005, 14:20
great!cann't wait to try it.
Any mirror?i just can not visit that url.:(
Tommy Carrot
5th January 2005, 14:22
Originally posted by sysKin
Whatever x264's core currently has. Ffdshow doesn't want to play its b-frames (asserion error with newest Celtic Druid's build)
Today's build by celtic_druid can play it back without any problems.
Just a question: what is the recommended b-frame prediction mode, temporal or spatial?
Shinobu
5th January 2005, 14:29
no problem at all with this codec, but i'll launch more test this night ^^.
the load default isn't working great on windows 2000, you have to close the config tab of the codec and reopen it to apply the reset.
++
SeeMoreDigital
5th January 2005, 14:36
Hi sysKin,
Will an Mpeg4/AVC implementation, such as this, ever make it into XviD?
Side Note:
I wonder how quickly Doom9 will get round to creating an Mpeg4/AVC section. As the forum is full of such discussions ;)
Cheers
virus
5th January 2005, 15:32
Ok, I've already reported to Radek the most obvious cosmetic flaws, now I'd like someone testing for a more serious issue.
I run several 2pass encodes (settings: all @ default) from the same 1stpass statsfile, just changing the target bitrate. When aiming for medium or high bitrates, everything went fine. But when aiming for low bitrates (450 kbit/s) everything b0rked with an assertion in ratecontrol.c.
According to sysKin, that should happen when the statsfile is shorter than needed... but the statsfile is OK since I run several successful encodes with it. I observed that problem in the past with ffdshow though - at the times it seemed to happen when the 2nd pass average QP was much bigger than the 1st pass one (1stpass is run at fixed QP=26 currently, so you need to go with very low bitrates to trigger it in sysKin's build).
If you can try and see if that happens to you too, that would be great. Thanks! :)
virus
hellfred
5th January 2005, 15:36
Yesterday i have downloaded an installed 03012005_x264_bin.7z with the right-click-install method.
What is the recomendet procedure to update differen versions of sex264 /vfw codecs in one dll?
Just replace the x264vfw.dll?
regsrv32.exe -u x264vfw.dll and right-click-install the newer version?
And how to uninstall?
regsrv32.exe -u x264vfw.dll and deleting the dll?
Hellfred
bond
5th January 2005, 15:53
maybe someone finds it interesting and so i dont forget about it:
when encoding with x264 vfw with b-frames (eg in virtualdub(mod) you will maybe find out the following (as i did):
- when choosing 2 b-frames -> two zero length frames get placed in the output stream (frames that avi thinks exist, but in fact dont exist :D ) -> as the output stream has the same framenumber as the input stream this means that practically there are 2 frames too few in the output
- for 1 b-frame -> 1 zero length frame -> 1 frame lost
- for 0 b-frames -> 0 zero length frames -> 0 frames lost
aso...
thats caused by the video for windows (vfw) framework (as used in vd(m)), which is NOT able to handle b-frames correctly on its own (as b-frames are a newer technology than vfw)
i talked about that with syskin and he meant that the old workaround to solve this (using one-byte 0x7f frames) should not be used, as it creates an incompatible stream if the app (eg everything, except vd(m)) doesnt know about it :(
Tommy Carrot
5th January 2005, 16:01
@Hellfred: replacing should do it.
@Bond: that is exactly how the b-frame support works with xvid, if it didn't bother anyone for years, i don't see why it suddenly became a problem with x264.
bond
5th January 2005, 16:04
Originally posted by Tommy Carrot
@Bond: that is exactly how the b-frame support works with xvid, if it didn't bother anyone for years, i don't see why it suddenly became a problem with x264.because the workaround working for xvid, doesnt work for avc (in xvid no frames are lost) :rolleyes:
you should read the whole post :p
Tommy Carrot
5th January 2005, 16:08
Well, i'm sure syskin will find a simple solution for that. :)
bond
5th January 2005, 16:16
he meant the best is to keep the current way (who cares about 2 frames in a 200000 frames movie :D )
another way would be to make avery adopt vd to beaware of these lost frames...
anyways just wanted to post that info so it doesnt get lost in the depths of irc :D
JoeBG
5th January 2005, 17:54
I really have no idea how to use it. I downloaded everything, but there is no *.exe. I always thought, a gui has a *.exe.
How does the tool work?
Sirber
5th January 2005, 18:29
you're supposed ti install it using the .inf, but it failed for me :(
stephanV
5th January 2005, 18:42
I have a small question.
Since i recently (today) found out about the difference between I-frames and IDR-frames, i was wondering: is the keyframe-interval really the keyframe interval? Or is it the I-frame interval? I suppose i could try and found out, but i'd rather have some confirmation about it.
JoeBG
5th January 2005, 18:48
Originally posted by Sirber
you're supposed ti install it using the .inf, but it failed for me :(
Okay, I made a right mouse click on the inf, the system worked and worked (there was a progress bar). It finished, but still no *.exe.
Can someone help me?
stephanV
5th January 2005, 19:05
he, exe?
open virtualdub and go to the compression menu :)
JoeBG
5th January 2005, 19:12
Originally posted by stephanV
he, exe?
open virtualdub and go to the compression menu :)
Okay it works: This was my first time, so sorry for my question. Life is easier when doing things the second time :)
Neo Neko
5th January 2005, 19:12
Installed and working here. Nice! But sex264 just does not seem sexy enough. What about the 101 other days of the year. Something like sex365 or sex24/7 would be much more sexy. :D
Moitah
5th January 2005, 19:40
Originally posted by bond
he meant the best is to keep the current way (who cares about 2 frames in a 200000 frames movie :D )
another way would be to make avery adopt vd to beaware of these lost frames...
anyways just wanted to post that info so it doesnt get lost in the depths of irc :D
I will see about adding this to avs2avi soon.
virus
5th January 2005, 19:51
:(
well, I have an issue with this build which is driving me crazy so I think I'd just post it here and maybe someone will have a suggestion for me.
In short: sex264 is painfully slow on my machine, compared with other people's speeds. This build seems to be a bit slower on pentiums and I do have a P4 indeed, but nothing compares to what's happening on my PC. I've compared my speeds with several people running both AMDs and Pentiums.
It's not compiler-related, because gcc and msvc gave the same results. It's not kernel-related, because bond (who runs win9x like me) doesn't have such low speeds. It's not even revision-related, because I downloaded and compiled old revisions from the repository and they are all slow.
But I just run a test and damn, look at the results - they explain the situation very well:
PAL DVD source @ 560x304 / vdub 1.5.10
fastest settings (no cabac, no inloop, no analyzer flags, no bvops, subpixel ref. and multiple ref. at minimum)
ffdshow/x264 Oct 5, 2004 -> 17 fps
sex264 -> 5.5 fps
There's no way it can be so slow, akupenguin told me that something has been made faster, something a bit slower (for better quality). All in all, and given others' people speeds, sex264 should give me 15-18 fps with the fastest settings... instead I got 5 fps with fastest settings and almost 3 fps with all the bells and whistles on, which is very strange too (slowest settings are more than 3x slower than fastest ones for other people).
Now I've spent countless hours trying to understand this crap and I don't know what the hell is going on - what can intefere with x264 and make it so slow here? If you have any suggestion please let me know, thank you.
virus
akupenguin
5th January 2005, 20:18
Originally posted by bond
he meant the best is to keep the current way (who cares about 2 frames in a 200000 frames movie :D )
If it were just losing the last 2 frames, it wouldn't be a problem. But it also adds 2 null frames at the beginning, which causes ~80ms of A/V desync. (Until you remux with something that discards the null frames.)
snacky
5th January 2005, 20:58
Since i recently (today) found out about the difference between I-frames and IDR-frames, i was wondering: is the keyframe-interval really the keyframe interval? Or is it the I-frame interval? I suppose i could try and found out, but i'd rather have some confirmation about it.
When the encoder inserts an I-frame in order to meet your keyint requirement, it will always be IDR. After all, the only purpose of specifying a keyframe interval is to guarantee a certain amount of seekability.
When an I-frame is inserted because a scenechange was detected, it depends on what IDR-interval you asked for.
akupenguin
5th January 2005, 21:02
Originally posted by snacky
When the encoder inserts an I-frame in order to meet your keyint requirement, it will always be IDR. After all, the only purpose of specifying a keyframe interval is to guarantee a certain amount of seekability. That would be good, but it's not true yet. IDR interval is a strict alternation.
Doom9
5th January 2005, 22:26
nice work. There's just a few cosmetical things: the three bitrate/quantizer input values touch the border area, and in the advanced settings, you have an inactive X button as well as an OK button that is only halfway placed inside the border area.
hellfred
5th January 2005, 22:48
Is it only with x264/sex264 that your system becomes that slow?
If you had compiled your x264 yourself, i had asked if you did install nasm and did some testing with it. In x264 source is a test suit to check nasm output.
To build it one has to typ
make checkasm
and then change to testing and run checkasm.exe.
Hellfred
SeeMoreDigital
5th January 2005, 23:10
Well... I've managed to generate an encode but I don't seem to be able to play it!
Normally I use Nero's ShowTime player and filters to do "the business", as it's been able to play just about every other variant of the AVC variant currently available... but with this one... I've had no joy :(
Cheers
stephanV
5th January 2005, 23:20
im not sure nero supports AVC in AVI (or try to change the fourcc to AVC1)
with the latest ffdshow from celtic druid i had no problems.
Leo 69
5th January 2005, 23:21
@ SeeMoreDigital
Try to change the fourcc to H264
Ark
5th January 2005, 23:24
Well i tried with the usual combo mpc+ffdshow and it works like a charm... (if that can help you)
virus
5th January 2005, 23:36
Originally posted by hellfred
To build it one has to typ
make checkasm
and then change to testing and run checkasm.exe.
Well, thx for the suggestion :)
I've tried it, though I have no idea if this utility is updated or not and whether it should work or not (anyway, syskin uses msvc for compiling and not gcc like me - and in both cases, everything is very slow here).
Here's the output:
x264: MMXEXT against C
- pixel sad : [OK]
- pixel satd : [OK]
- pixel avg : [OK]
- sub_dctXxX : [OK]
- add_idctXxX : [OK]
- (i)dct4x4dc : [OK]
- (i)dct2x2dc : [OK]
mc[0][mv(2,1) 8x16] [FAILED]
mc[0][mv(2,1) 8x8 ] [FAILED]
mc[0][mv(2,1) 8x4 ] [FAILED]
mc[0][mv(2,1) 4x8 ] [FAILED]
mc[0][mv(2,1) 4x4 ] [FAILED]
mc[0][mv(2,3) 8x16] [FAILED]
mc[0][mv(2,3) 8x8 ] [FAILED]
mc[0][mv(2,3) 8x4 ] [FAILED]
mc[0][mv(2,3) 4x8 ] [FAILED]
mc[0][mv(2,3) 4x4 ] [FAILED]
- mc luma : [FAILED]
- mc chroma : [OK]
I wonder if those "failed" messages are relevant or not...
EDIT: maybe it's better to add that I use NASM version 0.98.38, compiled on Sep 12 2003
virus
akupenguin
5th January 2005, 23:41
If it says failed then it means failed.
x264: MMXEXT against C
- pixel sad : [OK]
- pixel satd : [OK]
- pixel avg : [OK]
- sub_dctXxX : [OK]
- add_idctXxX : [OK]
- (i)dct4x4dc : [OK]
- (i)dct2x2dc : [OK]
- mc luma : [OK]
- mc chroma : [OK]
x264: All tests passed Yeah :)
SeeMoreDigital
5th January 2005, 23:42
Originally posted by Leo 69
Try to change the fourcc to H264 Thanks Leo, that did the trick :D
You guys might be interested to know that for me, the codecs default, 4CC code of "h264" did not work but "H264" did!
And I'm using good old faithful MPEG Mediator as an encoding front end ;)
Cheers
Sirber
5th January 2005, 23:54
Oh, sorry. Works now, didn't know it was overwriting the old one :) Gonna add to RealAnime :)
SirCanealot
6th January 2005, 00:51
OMFG, w00tz0rs!!!!
Great stuff, I'm taking a look at this now, and it looks very, very decent :)
I'll probably have some questions to ask later~
*is excited at the concept of ditching silly XVid* :P
Moitah
6th January 2005, 01:11
It doesn't work with avs2avi, ICSeqCompressFrameStart fails.
SirCanealot
6th January 2005, 01:35
Could anyone explain to me what the following in advanced settings does? I'm looking for MAX quality :)
B-Frame prediction mode;
Motion search precision - what should be set for max quality?
I note Sub-8x8 PFRAME search isn't on, and Subpixel Refinement precision is only set to 3.
I'd muck around, but if someone could tell me what'll look best, that'd be great :P
Also, I've encoded with B-Frames on.
I tried one thing at Quant 18, and B-Frames were therefore Quant 20. It seems like H.264 deals with larger Quants, so wouldn't it be better if B-Frames were a higher quant? Defaults in XVid make Quant 2 use Quant 4 B-Frames, and Quant 4 use Quant 8 B-Frames, so just an increase of 2 seems a bit weird...
Thanks~
akupenguin
6th January 2005, 01:59
B-frame prediction mode: Adaptive would be better, but until I code that you only get one per movie. The better coice depends on content, but in general spatial is better psnr while temporal looks better.
The equivalent of XviD's quant 2/4 would be P-frames at qp=18 and B-frames at qp=24. But I have always been annoyed by XviD's low quality B-frames, so I turned it down. P@qp=18 with B@qp=21 (i.e. pb_factor=1.4) is the optimal psnr per bitrate, but you'll have to decide for yourself whether it looks better.
As with all settings, I haven't spent much time coming up with good defaults.
Sirber
6th January 2005, 03:30
Originally posted by Moitah
It doesn't work with avs2avi, ICSeqCompressFrameStart fails. * Pass 1/1: Frame 2/431, 0 B, 0.00 FPS, ETA
seems working, but uses 0% CPU and don't go on. :(
Moitah
6th January 2005, 05:00
avs2avi uses ICSeqCompressFrame* functions, where VirtualDub uses ICCompress* functions. I'm not sure why, but avs2avi's way doesn't work with sex264. I changed avs2avi to use ICCompress* and it's now working (including the b-frame workaround).
EDIT: See next post for download link.
Moitah
6th January 2005, 06:27
avs2avi 1.39x (http://www.avs2avi.org/avs2avi-139x.zip) <-- Here it is :). Use this only for x264 encoding, 'cause I'm not sure if it still works fine with all other codecs after I switched from ICSeqCompressFrame to ICCompress.
NOTE: The FourCC must be 'h264' (case sensative... sorry, I said 'x264' earlier which is wrong) for the B-frame workaround to work.
Yong
6th January 2005, 11:29
I got a assertion failed warnigs when encode video at second pass...
Some suggestion for the sex264vfw(most of them may same as XviDvfw):
1. Disble first pass video output:D
2. Selectable first pass statistic file location
3. Min/max Quant settings
Here how to install sex264 vfw manually(sorry, for M$ win2k and XP only:():
Open the registry editor, go to this key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc
Add a new "string value"
The name should be "x264vfw.dll"(place the x264vfw.dll to system directory), and the value is "SEXY 264"
Next is this key
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32,
add a new "string value" again,
the name is "vidc.x264"
the value is "x264vfw.dll"
That's all:p
Tommy Carrot
6th January 2005, 12:55
After some tests, i can gladly say that contrary to what i expected, b-frames are already beneficial to the quality even in this early stage. The detail level is slightly better, but the biggest improvement is in the motion fluidity, enabling the b-frames almost completely fixes the "jumping blocks" issue, which was my biggest problem with x264. Nice job!
Ark
6th January 2005, 13:24
Yes, b-frames really helps a lot, expecially with small detail in background.
But i noticed that using spatial prediction mode cause heavy ghosting in some parts of the frame, while temporal is good.
Sirber
6th January 2005, 13:24
the encoded clip (at 4FPS, CBR) is plauying with blinking gray frames :SOriginally posted by Moitah
NOTE: The FourCC must be 'x264' (case sensative) for the B-frame workaround to work. [/B]Tryed, cannot decode. Bust I do the reg tweak above?
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.