Log in

View Full Version : x264 and my huge pr0n collection


Mister Nobody
21st October 2008, 08:57
Quick question:

What will have a bigger impact on quality? Increasing the reference frame count from 3 to 4, or setting subme from 7 to 8 (or 9)?

Here are my current 2nd pass settings:

program --pass 2 --bitrate 2000 --stats ".stats" --ref 3 --mixed-refs --bframes 16 --b-pyramid --weightb --direct auto --filter -1:-1 --subme 7 --psy-rd 1.1:0 --partitions all --8x8dct --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input"

I need maximum quality as this is for all my good pr0n.

Dark Shikari
21st October 2008, 09:04
I'd personally drop partitions all and just max subme.

Mister Nobody
21st October 2008, 09:07
Thank you very much sir.

Blue_MiSfit
21st October 2008, 09:22
Also, maybe drop bframes to 3-4, and use --b-adapt 2?

What about trellis quantization?

~MiSfit

Mister Nobody
21st October 2008, 09:27
Thanks, I will play around with your b frames suggestions. As for trellis, I have read quite a few times that the quality increase with trellis is very "subjective". However, as I haven't seen an encode that used trellis I can't verify this...

burfadel
21st October 2008, 11:19
I think the argument of no trellis over 'trellis 2' as being better was due to xvid, and I believe recent changes to x264 means trellis 2 can give additional benefits over that of the past.

Dark Shikari
21st October 2008, 11:22
I think the argument of no trellis over 'trellis 2' as being better was due to xvid, and I believe recent changes to x264 means trellis 2 can give additional benefits over that of the past.I'd more worry about the fact that trellis 2 is really really slow, and just really not worth it unless you have lots of time to waste.

burfadel
21st October 2008, 11:24
Really? I hadn't noticed much speed drop with trellis 2, although it may be different with HD material. I typically use around 640x352 for 16:9 material, or roughly 225000 pixels for other aspect ratios.

Dark Shikari
21st October 2008, 11:29
Really? I hadn't noticed much speed drop with trellis 2What, were you forgetting to turn on subme 9 along with it? :p

burfadel
21st October 2008, 14:43
lol! the settings I usually use are:
--crf 24 --keyint 450 --ref 5 --mixed-refs --bframes 6 --b-adapt 2 --b-pyramid --weightb --direct auto --subme 9 --trellis 2 --psy-rd 1:1 --partitions all --8x8dct --me umh --threads auto --progress --no-psnr --no-ssim

Where I get typically around 15fps at a guess, sometimes higher, sometimes maybe a bit lower, when encoding dvb material to 640x352, using spline64 resizer, removegrainhd, and grandfun2db.

I have a Core 2 duo E6600 running at 3ghz. That encoding speed is fine for my purposes, easy when you can just set everything in queue and let it run :)

I'm running Vista x64, 4gb ddr21066 ram (at 1107mhz), on an Asus P5Q motherboard. Before that I had a P5K Pro (p35) motherboard, but since I could get he p5q (p45) cheaply I did and am glad, it actually seems to be faster!

I highly recommend the following programme, it doesn't use any memory and just activates an inbuilt window feature. It does make a difference :)
http://www.majorgeeks.com/download5972.html
Certainly doesn't slow the encoding down, and Vista runs a treat with it :) The question of 32 or 64 bit OS applies only to set up the task schedule correctly, as the setting is slightly different between 32 and 64 bit :)

A Nehalem rig would be nice, especially the performance socket 1366 versions and no the socket 1160 versions ('mainstream') which will be available later. Expensive at the moment, the Intel reference boards are listed at $400+ in Australia from what I can find.

Quark.Fusion
21st October 2008, 14:56
"Memory cleaners" usualy just hurt — they swap out memory to disk which will be loaded back with horrible speed producing major slowdown on applications response. Vista manages memory pretty well on it's own — just limit cache size as it can sometimes get unusually big and swap out useful memory. http://www.uwe-sieber.de/ntcacheset_e.html

The only useful case for memory cleaner is to swap out unneeded allocated memory after system boot.

Mister Nobody
21st October 2008, 15:19
Thanks for the helpful tips guys. I'm now using the following for my 2nd pass:

program --pass 2 --bitrate 2000 --stats ".stats" --ref 3 --mixed-refs --bframes 3 --b-adapt 2 --b-pyramid --weightb --direct auto --filter -1:-1 --subme 9 --psy-rd 1.1:0 --partitions none --me umh --threads auto --thread-input --progress --no-psnr --no-ssim --output "output" "input"

The quality is definitely much better and the encoding speed (27 fps on an E8400 cpu) is about 7 fps faster than my old settings! Win-win!

My pr0n will be glorious with these settings. :thanks:

burfadel
21st October 2008, 15:44
"Memory cleaners" usualy just hurt — they swap out memory to disk which will be loaded back with horrible speed producing major slowdown on applications response. Vista manages memory pretty well on it's own — just limit cache size as it can sometimes get unusually big and swap out useful memory. http://www.uwe-sieber.de/ntcacheset_e.html

The only useful case for memory cleaner is to swap out unneeded allocated memory after system boot.

I agree totally, mem cleaners are completely useless and always have been! The programme I linked to, if you refer mem cleaners as programmes that swap out program data to disk, isn't a mem cleaner at all!

What the programme does is just to get Windows to use its internal cleaning api, and clears unused workingset for the programme. The write-up of how it works is here:
http://www.pcwintech.com/node/145

It DOES NOT page anything to the disk! It just gets Windows to clean up unused memory that programmes take. You can even add processes to the exclusion list. Don't knock it until you try it :), or at least read what the writer of the programme says on his website.

Quark.Fusion
21st October 2008, 17:12
This is OT, but setting working set size to zero IS immideatly swap out of program's memory on XP, that different on vista, but same in the end. Windows can't know what allocated memory is unused. Author of program of this sort can say anything, even that he is from Mars and bring knowledge of all universe to you with his program :)

I don't recommend "cleaning" memory of any process larger that 50-70mb or you risking waiting up to some MINUTES until application will response. Unused memory pages moves out automatically when system gets low on memory, so you really don't need any program of that type.

P.S. if you want to continue discussion it's best to make new topic for it.

prOnorama
21st October 2008, 17:14
bitrate 2000

That seems a little high for pr0n: it's usually interlaced low quality throw away stuff from the onset (cheap camera's, lighting, actors etc.)

Use a good de-interlacer and lower the bitrate

Or: why encode? The internet is a pr0n archive already, I wouldn't let it take up valuable HD space :p

Mister Nobody
21st October 2008, 17:59
The goal is to encode it all then put it (along with some non-pr0n) on a NAS enclosure to have pr0n on demand. Plus it's easier to hide that way :devil:

ajp_anton
21st October 2008, 18:26
When DS said "drop partitions all" I don't think he meant you to use "partitions none", but instead skipping it so that it uses the default "partitions p8x8,b8x8,i4x4,i8x8".

Mister Nobody
21st October 2008, 18:41
I think he meant just drop it, not replace it with something else. So that's what I did...

Blue_MiSfit
21st October 2008, 18:57
Right. Don't put in --partitions none, just omit the --partitions parameter alltogether, since the default is p8x8,b8x8,i4x4,i8x8

Dark Shikari
21st October 2008, 19:48
I think he meant just drop it, not replace it with something else.Then where did partitions none come from; are you going to blame it on gremlins?

Mister Nobody
21st October 2008, 20:02
You're right! Being ignorant about x264 parameters as I am led me to erroneously believe that '--partitions none' is the same thing as no parameter at all.

Or maybe it was those pr0n gremlins you mention! :confused:

Comatose
21st October 2008, 20:09
lol, this is a funny thread :D

vmrsss
21st October 2008, 20:48
What, were you forgetting to turn on subme 9 along with it? :p

does it make sense / is it particularly useful to use --subme 8 or 9 with --psy-rd 1.0:0.0 and --trellis 1 ?

on some tests I run with a fixed --crf, to raise --subme above 7 takes bitrate slightly up and psnr slightly down, which is not what I expected (this was with --b-adapt 2).

Dark Shikari
21st October 2008, 21:10
does it make sense / is it particularly useful to use --subme 8 or 9 with --psy-rd 1.0:0.0 and --trellis 1 ?

on some tests I run with a fixed --crf, to raise --subme above 7 takes bitrate slightly up and psnr slightly down, which is not what I expected (this was with --b-adapt 2).Obviously, with psy-RD on, RD is not going to raise PSNR.

vmrsss
21st October 2008, 22:41
thanks ds. isn't that the same as saying that subme 7 is as good as 8 or 9 with --psy-rd 1.0:0.0 ? can you please elaborate?

Dark Shikari
21st October 2008, 22:56
thanks ds. isn't that the same as saying that subme 7 is as good as 8 or 9 with --psy-rd 1.0:0.0 ? can you please elaborate?No, I'm saying that PSNR is totally useless as a metric when you're using options that explicitly optimize orthogonally to it.

Avenger007
22nd October 2008, 00:53
program --crf 24.0 --keyint 240 --min-keyint 24 --ref 6 --mixed-refs --bframes 3 --b-adapt 2 --b-pyramid --weightb --direct auto --subme 9 --trellis 2 --psy-rd 1.0:1.0 --8x8dct --me umh --threads auto --thread-input --progress --no-psnr --output "output" "input" --sar 32:27

Just for reference. ;)

Mister Nobody
22nd October 2008, 07:53
program --crf 24.0 --keyint 240 --min-keyint 24 --ref 6 --mixed-refs --bframes 3 --b-adapt 2 --b-pyramid --weightb --direct auto --subme 9 --trellis 2 --psy-rd 1.0:1.0 --8x8dct --me umh --threads auto --thread-input --progress --no-psnr --output "output" "input" --sar 32:27

Just for reference. ;)

Isn't 2 pass always preferred?

Avenger007
22nd October 2008, 08:09
Why?
you should use CRF to achieve your desired consistent quality for your collection, unless you have a fixed bitrate or file size requirement.

Mister Nobody
22nd October 2008, 08:13
I thought with 2 passes the encoding 'decisions' are always better.

Dark Shikari
22nd October 2008, 08:13
I thought with 2 passes the encoding 'decisions' are always better.2pass is better than 1pass bitrate, not 1pass CRF.

Sagekilla
22nd October 2008, 21:21
@Mister Nobody, only if you use RCRD and are willing to wait a few days ;)

CruNcher
23rd October 2008, 00:12
Pr0n needs --me tesa doesn't it :D ;)

Avenger007
23rd October 2008, 00:21
Pr0n needs --me tesa doesn't it :D ;)
No it doesn't, but higher --merange for HD might help.

AntiJw
26th October 2008, 12:36
I'd more worry about the fact that trellis 2 is really really slow, and just really not worth it unless you have lots of time to waste.With subme 9, is trellis 1 better/more worth it, than using trellis 0?

pcordes
26th October 2008, 19:41
Quick question:

What will have a bigger impact on quality? Increasing the reference frame count from 3 to 4, or setting subme from 7 to 8 (or 9)?

I need maximum quality as this is for all my good pr0n.

I thought more ref frames would be good for pr0n, given all the repetitive motion. Depends what kind of pr0n, though, and I haven't really tested this. I don't have much high-qual pr0n that I'm interested in transcoding in the first place. :(

I always figure if I'm going to do an encode and delete my only copy of the source, I'd better go all out with x264 settings, and just let it encode for as long as it takes. If you're still keeping the sources, then that's another story.