View Full Version : x264 API changes (note mostly to GUI makers)
Dark Shikari
1st October 2008, 08:11
x264 is removing b-rdo and bime options this week. GUI makers, take note, and prepare patches.
bime will be enabled at subme >= 5 automatically.
New subme options will be organized as follows:
subme6: RD on I/P frames
subme7: RD on all frames
subme8: RD refinement on I/P frames
subme9: RD refinement on all frames
new subme 6 = old subme 6
new subme 7 = old subme 6 + b-rdo
new subme 8 = old subme 7 + b-rdo
new subme 9 = didn't exist, RD refinement in B-frames is completely new.
RD refinement in B-frames consists of qpel-RD as in P-frames, and also RD-bime for bidir blocks. Overall the speed cost for this option should be less than old subme6->7 (new subme7->8).
This is a first step on the road to decreasing the number of unnecessary options in x264.
G_M_C
1st October 2008, 08:33
@ DS; Just clicked on your sig ... might be time to update the blog ;)
Dark Shikari
1st October 2008, 08:34
@ DS; Just clicked on your sig ... might be time to update the blog ;)Updates are for weaklings. Real bloggers go for half a year without updating (http://maddox.xmission.com/).
Kurtnoise
1st October 2008, 08:46
x264 is removing b-rdo and bime options this week. GUI makers, take note, and prepare patches.
you should post also these informations on the mailing-list...;)
Dark Shikari
1st October 2008, 08:51
you should post also these informations on the mailing-list...;)Commits already get sent out to the mailing list :p
audyovydeo
1st October 2008, 09:41
??-??-08: 1000: revision 1000 party at pengvado's villa
??-??-08: 1000: donate 1 million euro to make revision 1000 version 1.0
?1 surely version 1000 should warrant 1000 euros, not 1 million (knowing it will be obsolete the next day with r1001 ?)
?2 the €uro has finally superseded the U$D (this is actually no a question as we know that already)
?3 surely the change cannot be API-only, cmdline params will also change >> affects anyone using scripts ?
cheers
audyovydeo
Dark Shikari
1st October 2008, 09:48
?3 surely the change cannot be API-only, cmdline params will also change >> affects anyone using scripts ?x264 CLI app is also a program that uses the API :p
buzzqw
1st October 2008, 12:25
@Dark Shikari
thanks, AutoMKV will be update
BHH
leiming2006
1st October 2008, 15:24
Got it.
Thanks for informing.
New version of lmx264gui will soon come out. (not a lot of changes will be made in fact...
LoRd_MuldeR
1st October 2008, 18:26
Any comments on how much improvement we can expect from "new subme 9" method quality-wise?
Dark Shikari
1st October 2008, 18:30
Any comments on how much improvement we can expect from "new subme 9" method quality-wise?
Subme7:
x264 [info]: PSNR Mean Y:38.094 U:43.527 V:45.431 Avg:39.359 Global:39.235
encoded 300 frames, 44.14 fps, 774.65 kb/s
Subme8:
x264 [info]: PSNR Mean Y:38.111 U:43.518 V:45.411 Avg:39.373 Global:39.247
encoded 300 frames, 33.57 fps, 761.64 kb/s
Subme9:
x264 [info]: PSNR Mean Y:38.137 U:43.524 V:45.419 Avg:39.397 Global:39.273
encoded 300 frames, 29.40 fps, 761.25 kb/s
(test done without AQ/psy-RD to make PSNR valid for comparison)
(also note that benefit will vary depending on source)
Sagekilla
1st October 2008, 18:42
Hm, I'd like to test this on a longer, 720p clip and see how well it does :)
Atak_Snajpera
1st October 2008, 21:17
@Dark Shikari
What revision will introduce those changes?
martino
1st October 2008, 21:23
/me hopes 1000 ^_^
stax76
1st October 2008, 22:41
This thread is a great idea! I hope all future CLI changes can be announced in this thread.
Dark Shikari
2nd October 2008, 00:19
@Dark Shikari
What revision will introduce those changes?The next one, unless akupenguin does something in the meantime.
Note that I am not a GTK programmer and I am not going to change the built-in x264 GTK GUI to compensate; anyone else is free to volunteer to fix it if they actually use it.
Sharktooth
2nd October 2008, 00:30
i have no time to update megui in these days.
ill see what i can do...
Dark Shikari
2nd October 2008, 00:31
i have no time to update megui in these days.
ill see what i can do...Then do what you're supposed to do; don't update to the new x264 version until the interface changes are ready.
There's a reason x264 has a "Core" API version number; use it like you're supposed to.
Sagekilla
2nd October 2008, 04:27
Congrats on r996 going live :) I'm going to try this out now on a 1920x1200 capture for subme 8 vs 9 (or 7 vs 7 + extra RD for those who don't know the new system)
Kurtnoise
2nd October 2008, 07:06
New subme options will be organized as follows:
subme6: RD on I/P frames
subme7: RD on all frames
subme8: RD refinement on I/P frames
subme9: RD refinement on all frames
Does --subme 6 is still the default/recommended setting ?
haven't checked your code yet...
@Sharktooth: patches are available on the SF dev forum...
Dark Shikari
2nd October 2008, 07:14
Does --me 6 is still the default/recommended setting ?
haven't checked your code yet...subme6 is still default.
Wishbringer
2nd October 2008, 08:01
was "old" subme7 (without b-rdo) useless? because it's now left out...
Dark Shikari
2nd October 2008, 08:07
was "old" subme7 (without b-rdo) useless? because it's now left out...We decided --subme 6 --b-rdo was almost always a better tradeoff than --subme 7 without --b-rdo.
audyovydeo
2nd October 2008, 08:26
--bime
DS,
I'm a bit confused as to what --subme setting I should use now for profiles that don't use B frames :
for Intra profile I used subme 7, which I now bump up to 8, except that it now includes bime >> is it automatically disabled ?
for Baseline, I'd use subme 5 or 6, simply without bime and b-rdo >> what should I use now : any value =< 4 ??
thanks,
a/v
Dark Shikari
2nd October 2008, 08:31
DS,
I'm a bit confused as to what --subme setting I should use now for profiles that don't use B frames :
for Intra profile I used subme 7, which I now bump up to 8, except that it now includes bime >> is it automatically disabled ?Obviously if you don't use B-frames, bime isn't used. That's a given.
for Baseline, I'd use subme 5 or 6, simply without bime and b-rdo >> what should I use now : any value =< 4 ??
thanks,
a/vNo, you should use 5 or 6.
stax76
2nd October 2008, 09:33
Are these captions OK?:
1 - QPel 1 iteration
2 - QPel 2 iterations
3 - HPel on MB then QPel
4 - Always QPel
5 - Multi QPel
6 - RD on I/P frames
7 - RD on all frames
8 - RD refinement on I/P frames
9 - RD refinement on all frames
Dark Shikari
2nd October 2008, 09:43
Are these captions OK?:
1 - QPel 1 iteration
2 - QPel 2 iterations
3 - HPel on MB then QPel
4 - Always QPel
5 - Multi QPel
6 - RD on I/P frames
7 - RD on all frames
8 - RD refinement on I/P frames
9 - RD refinement on all framesThe distinction of SAD vs SATD on 1/2 is much more important than the differing number of qpel iterations, if you're trying to be that specific. Other than that, its fine.
stax76
2nd October 2008, 11:11
Would this be better then?:
1 - QPel SAD
2 - QPel SATD
Dark Shikari
2nd October 2008, 11:19
Would this be better then?:
1 - QPel SAD
2 - QPel SATDI guess. For 5) you could also put Qpel + Bidir ME or something like that, since bidir ME is now part of subme >= 5.
stax76
2nd October 2008, 13:18
Changes are now available in the latest StaxRip beta (http://planetdvb.net/staxrip/download).
Sharktooth
2nd October 2008, 20:07
thanks to kurtnoise, megui is up to date.
Yoshiyuki Blade
2nd October 2008, 21:44
thanks to kurtnoise, megui is up to date.
That's great to hear it updated so quickly. Thanks both of you for your efforts! :)
LoRd_MuldeR
2nd October 2008, 23:31
Avidemux is ready too:
http://svn.berlios.de/wsvn/avidemux/branches/avidemux_2.4_branch/?rev=4433&sc=1
Dark Shikari
3rd October 2008, 02:20
Well I found out why r996 was reported as a lot faster (and a bit lower quality) by some people... :p
(fixed in git, I am an absolute idiot it seems)
Atak_Snajpera
4th October 2008, 22:48
Will be ok if I disable subme>6 for profiles without B-frames in my GUI? (ipod for example)
InTrancer
4th October 2008, 22:51
i set subme = 8 in megui and in output file was b-rdo=0
but in http://mirror01.x264.nl/x264/changelog.txt "subme8 == old subme7+brdo"
Dark Shikari
4th October 2008, 22:52
Will be ok if I disable subme>6 for profiles without B-frames in my GUI? (ipod for example)No; disabling subme7 and subme9 might make sense, but subme8 no.
akupenguin
5th October 2008, 00:46
i set subme = 8 in megui and in output file was b-rdo=0
You have an outdated x264 that doesn't support subme8. The latest version doesn't print "b-rdo" in the sei.
InTrancer
5th October 2008, 11:44
what be better for quality subme=8 or subme=9?
check
5th October 2008, 12:05
6 - RD on I/P frames
7 - RD on all frames
8 - RD refinement on I/P frames
9 - RD refinement on all frames
Is there a simple explanation of the difference between "RD" and "RD refinement"?
what be better for quality subme=8 or subme=9? 9
Dark Shikari
5th October 2008, 14:22
Is there a simple explanation of the difference between "RD" and "RD refinement"?
RD == RD mode decision; use RD to pick which macroblock mode to use.
RD refinement == do the above, and after deciding which mode to use, refine the mode:
1) For intra, do RD optimization for selection of intra prediction modes.
2) For inter, do RD qpel motion search.
3) For bidir, do RD bidirectional motion search.
Selur
8th October 2008, 20:11
btw. when was the --progress information changed,.. (just had my ui explode with funny code since my parser went amok)
LoRd_MuldeR
8th October 2008, 20:21
btw. when was the --progress information changed,.. (just had my ui explode with funny code since my parser went amok)
http://git.videolan.org/gitweb.cgi?p=x264.git;a=commitdiff;h=7ce0f2c74ef4890138dddd13c41163baf5df3ac6;hp=7b71d586bce87181a4978ee3f8eb775b0481f6d4
http://git.videolan.org/gitweb.cgi?p=x264.git;a=commitdiff;h=bb11e37f87fe53633f531bd3b9d331f987852ed3;hp=3d2983da7bbdbcfa08b12252ab71b0bf19a9ce26
Selur
8th October 2008, 20:46
Thanks for the info,..
Fixed my gui now looking for a String that starts with a numeric and not with 'encode frames' to grab current fps, and current frame to calculate estimated time. ;)
Cu Selur
DarkT
25th April 2009, 14:33
What would the speed decrease be? from mod6, to 7/8/9? Does anyone has that info? is it a set-decrease or will it vary widely?
LoRd_MuldeR
26th April 2009, 13:18
What would the speed decrease be? from mod6, to 7/8/9? Does anyone has that info? is it a set-decrease or will it vary widely?
I guess the speed decrease for anything that isn't mod16 would be the same - more or less.
As soon as your video isn't mod16 in one of the dimensions, an additional row or column of macroblocks must be added (compared to the same video cropped down to mod16).
Only the amount of padded pixels will differ for different mod's. But I think this is negligible compared to the time for processing the additional macroblocks...
Audionut
26th April 2009, 14:45
I think you'll find he's talking about subme!!
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.