View Full Version : x264 presets, profiles, and tuning system
Dark Shikari
7th July 2009, 09:22
And it's in (http://git.videolan.org/?p=x264.git;a=commit;h=af2a4ecd7bcefc97c8aa83913c9a2980206f9cd0). Have fun everyone.
Kurtnoise
7th July 2009, 09:53
--tune touhou \0/
smok3
7th July 2009, 10:00
so it will be like:
a.
x264 --preset CRFfast --tune 'custom commands that will overwrite the preset' --profile 'that will overwrite whatever is 'wrong' in the preset, including bitrate'
or
b. ?
Dark Shikari
7th July 2009, 10:03
so it will be like:
a.
x264 --preset CRFfast --tune 'custom commands that will overwrite the preset' --profile 'that will overwrite whatever is 'wrong' in the preset, including bitrate'
or
b. ?No...
--preset <speed> --tune <content type> --profile <profile> --bitrate/--crf/--qp <whatever>
profile has no effect on bitrate. Order of commands doesn't matter for preset/tune/profile.
buzzqw
7th July 2009, 10:22
what about threads ?
is now --threads auto automatic ?
BHH
Kurtnoise
7th July 2009, 10:23
@DS:
diff --git a/x264.c b/x264.c
index e79f9ac..06d5b99 100644
--- a/x264.c
+++ b/x264.c
@@ -622,7 +622,7 @@ static int Parse( int argc, char **argv,
param->i_deblocking_filter_beta = 1;
param->analyse.f_psy_rd = 0.4;
param->rc.f_aq_strength = 0.6;
- param->i_bframe += 2;
+ param->i_bframe = param->i_bframe > 15 ? param->i_bframe : +2;
}
else if( !strcasecmp( optarg, "grain" ) )
{
that's maybe more accurate ?
LoRd_MuldeR
7th July 2009, 10:35
what about threads ?
is now --threads auto automatic ?
BHH
Yes.
index d7d45d3..9260c64 100644 (file)
--- a/common/common.c
+++ b/common/common.c
@@ -43,7 +43,7 @@ void x264_param_default( x264_param_t *param )
/* CPU autodetect */
param->cpu = x264_cpu_detect();
- param->i_threads = 1;
+ param->i_threads = X264_THREADS_AUTO;
buzzqw
7th July 2009, 10:48
thanks LoRd_MuldeR!
BHH
smok3
7th July 2009, 12:02
No...
--preset <speed> --tune <content type> --profile <profile> --bitrate/--crf/--qp <whatever>
profile has no effect on bitrate. Order of commands doesn't matter for preset/tune/profile.
thanks, so one can do something like;
--preset medium --tune animation --deblock -1:-1 --crf 22 --sar 16:11 --level high
to say encode ice age DVD for WD TV (i mean, is this a valid example)?
p.s. i don't know how i missed the 1st post before :/...
akupenguin
7th July 2009, 12:30
param->i_bframe = param->i_bframe > 15 ? param->i_bframe : +2;
that's maybe more accurate ?
No. Option ranges are clipped by libx264, no need to duplicate that code.
Kurtnoise
7th July 2009, 16:40
ok...
Here is a 1st attempt (http://pastebin.com/f2074a4cf) to create several tunings for some devices.
Any comments ?
Dark Shikari
7th July 2009, 19:08
Devices should not be under --tune. There's no reason I can't use --tune film --device ipod.
MatMaul
7th July 2009, 22:14
and you seem to override speed settings like --me which has nothing to do with devices compatibility.
Kurtnoise
8th July 2009, 05:50
Devices should not be under --tune. There's no reason I can't use --tune film --device ipod.
mmmh...right.
and you seem to override speed settings like --me which has nothing to do with devices compatibility.
it's because I would like override some default settings...but you can tweak this. :)
ACoolie
8th July 2009, 05:56
mmmh...right.
it's because I would like override some default settings...but you can tweak this. :)
At most --device settings should perform like --profile. Disable certain options (like b-pyramid, cabac, etc) and limit other options like bframes and references to a certain maximum number.
Dark Shikari
8th July 2009, 06:26
At most --device settings should perform like --profile. Disable certain options (like b-pyramid, cabac, etc) and limit other options like bframes and references to a certain maximum number.Exactly; device settings should, like profile, guarantee a certain output by overriding all other settings.
Chengbin
9th July 2009, 03:45
x264.nl finally updated.
I can't encode anymore. What was different with this build than before? I don't think a change in defaults change the format of the command line.
kemuri-_9
9th July 2009, 04:18
the change in defaults also affected some of the command line options to take reverse forms of what they were previously...
i.e.:
--weightb (-w) replaced with --no-weightb (default is now on)
--8x8dct (-8) replaced with --no-8x8dct (default is now on)
--no-psnr replaced with --psnr (default is now off)
--no-ssim replaced with --ssim (default is now off)
--mixed-refs replaced with --no-mixed-refs (default is now on)
--progress replaced with --no-progress (default is now on)
so if you were using any of the options on the left, you need to remove them from your new command line
^^Also notice the slow-firstpass parameter.
It wasn't clear to me why my 'ref' and some other settings were being ignored in 1st pass until I check looked at x264.c changes :D
juGGaKNot
9th July 2009, 05:52
The refs and level are now automated/resolution right ?
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune animation --pass 1 --level %mylevel% --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 24000 --vbv-maxrate 24000 --output NUL %myavs%
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune animation --pass 2 --level %mylevel% --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 24000 --vbv-maxrate 24000 --output "%mypath%\%mpath%\T1\%mymovie%.264" %myavs%
Questions :
The profile is MAIN and not high, how do i force high ?
Is --keyint and --min-keyint needed ? there rounder at fps x 10 / fps in my script
J_Darnley
9th July 2009, 11:14
juGGaKNot: The default settings give you a high profile video. If you don't disable the 8x8dct or set main or baseline profiles then it will remain as high profile. If you want a slow first pass then you had better set --slow-firstpass
Chengbin: If you still have problems and want help then you will have to post your command line.
juGGaKNot
9th July 2009, 12:07
juGGaKNot: The default settings give you a high profile video. If you don't disable the 8x8dct or set main or baseline profiles then it will remain as high profile. If you want a slow first pass then you had better set --slow-firstpass
Chengbin: If you still have problems and want help then you will have to post your command line.
File encoded with those settings :
Format profile : High@L4.0
Format settings, CABAC : Yes
Format settings, ReFrames : 16 frames
Duration : 25s 200ms
Bit rate mode : Variable
Bit rate : 4 406 Kbps
Nominal bit rate : 4 500 Kbps
Maximum bit rate : 7 507 Kbps
Width : 1 148 pixels
Height : 666 pixels
Frame rate : 30.000 fps
Writing library : x264 core 68 r1179M 96e2229
Encoding settings : cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=0.4:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=5 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=300 / keyint_min=30 / scenecut=40 / rc=2pass / bitrate=4500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=20000 / vbv_bufsize=20000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.60
Encoding X264 First Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile Main, level 4.0
x264 [info]: slice I:13 Avg QP:19.67 size: 32273
x264 [info]: slice P:293 Avg QP:22.62 size: 28497
x264 [info]: slice B:450 Avg QP:26.24 size: 15198
x264 [info]: consecutive B-frames: 4.6% 40.1% 23.8% 16.2% 8.1% 7.3%
x264 [info]: mb I I16..4: 58.9% 0.0% 41.1%
x264 [info]: mb P I16..4: 36.6% 0.0% 0.0% P16..4: 51.8% 0.0% 0.0% 0.0% 0
.0% skip:11.6%
x264 [info]: mb B I16..4: 13.1% 0.0% 0.0% B16..8: 43.0% 0.0% 0.0% direct:
17.9% skip:26.1% L0:36.8% L1:45.9% BI:17.3%
x264 [info]: final ratefactor: 22.81
x264 [info]: direct mvs spatial:99.6% temporal:0.4%
x264 [info]: coded y,uvDC,uvAC intra:56.1% 57.5% 21.8% inter:32.0% 28.1% 1.5%
x264 [info]: kb/s:4954.9
encoded 756 frames, 6.42 fps, 4955.04 kb/s
Encoding X264 Second Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [warning]: DPB size (16 frames, 18579456 bytes) > level limit (10 frames, 1
2582912 bytes)
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile High, level 4.0
[12.7%] 96/756 frames, 1.67 fps, 1583.70 kb/s, eta 0:06:36
So first pass is main fast, k.
What about the ref ? it did not work
For all encodes, if you don't set your own --ref option and instead use the default or a preset, x264 will automatically lower --ref if the --level you set conflicts with it. If you set --ref explicitly, it will not override what you set.
If i remove --level
Encoding X264 Second Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile High, level 5.0
[27.0%] 204/756 frames, 1.17 fps, 2143.48 kb/s, eta 0:07:50
LE :
--tune film works fine, animations does not
Encoding X264 First Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile Main, level 3.2
x264 [info]: slice I:13 Avg QP:18.35 size: 33820
x264 [info]: slice P:310 Avg QP:22.61 size: 27635
x264 [info]: slice B:433 Avg QP:25.91 size: 14609
x264 [info]: consecutive B-frames: 5.1% 42.3% 27.9% 24.8%
x264 [info]: mb I I16..4: 55.0% 0.0% 45.0%
x264 [info]: mb P I16..4: 37.0% 0.0% 0.0% P16..4: 53.1% 0.0% 0.0% 0.0% 0
.0% skip:10.0%
x264 [info]: mb B I16..4: 14.4% 0.0% 0.0% B16..8: 42.8% 0.0% 0.0% direct:
19.1% skip:23.6% L0:35.5% L1:44.7% BI:19.9%
x264 [info]: final ratefactor: 23.09
x264 [info]: direct mvs spatial:99.5% temporal:0.5%
x264 [info]: coded y,uvDC,uvAC intra:59.9% 60.3% 23.1% inter:31.6% 28.8% 1.2%
x264 [info]: kb/s:4867.3
encoded 756 frames, 8.79 fps, 4867.43 kb/s
Encoding X264 Second Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile High, level 4.0
x264 [info]: slice I:13 Avg QP:18.66 size: 34852
x264 [info]: slice P:310 Avg QP:23.90 size: 23569
x264 [info]: slice B:433 Avg QP:27.19 size: 14211
x264 [info]: consecutive B-frames: 5.1% 42.3% 27.9% 24.8%
x264 [info]: mb I I16..4: 24.4% 70.0% 5.6%
x264 [info]: mb P I16..4: 3.7% 20.3% 1.2% P16..4: 40.4% 13.8% 6.9% 0.1% 0
.0% skip:13.6%
x264 [info]: mb B I16..4: 0.9% 3.9% 0.2% B16..8: 49.5% 2.4% 2.8% direct:
13.4% skip:26.9% L0:47.7% L1:45.8% BI: 6.5%
x264 [info]: 8x8 transform intra:78.9% inter:83.9%
x264 [info]: direct mvs spatial:99.3% temporal:0.7%
x264 [info]: coded y,uvDC,uvAC intra:69.8% 69.9% 25.4% inter:36.4% 35.3% 1.5%
x264 [info]: ref P L0 65.1% 13.7% 7.8% 4.0% 3.3% 2.9% 2.0% 1.3%
x264 [info]: ref B L0 67.1% 13.5% 7.4% 4.3% 3.1% 2.6% 1.9%
x264 [info]: kb/s:4416.8
Writing library : x264 core 68 r1179M 96e2229
Encoding settings : cabac=1 / ref=8 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=1.0:0.2 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-3 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=300 / keyint_min=30 / scenecut=40 / rc=2pass / bitrate=4500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=20000 / vbv_bufsize=20000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
echo Encoding X264 First Pass :
echo.
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune film --pass 1 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000 --output NUL %myavs%
echo.
echo Encoding X264 Second Pass :
echo.
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune film --pass 2 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000 --output "%mypath%\%mpath%\T1\%mymovie%.264" %myavs%
nurbs
9th July 2009, 12:38
You didn't bother to post your command line so I can't say for sure, but from the Mediainfo text it looks to me as if you used your own settings and not one of the presets or defaults. Your first pass only works because the refs are automatically lowered there anyway, and of course it's main profile since 8x8dct is on of the settings that gets dropped in first pass.
juGGaKNot
9th July 2009, 12:40
i did, see 70 and 72
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune animation --pass 1 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 24000 --vbv-maxrate 24000 --output NUL %myavs%
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune animation --pass 2 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 24000 --vbv-maxrate 24000 --output "%mypath%\%mpath%\T1\%mymovie%.264" %myavs%
And refs are 16, x264 [warning]: DPB size (16 frames, 18579456 bytes) > level limit (10 frames, 12582912 bytes)
echo Encoding X264 First Pass :
echo.
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune film --pass 1 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000 --output NUL %myavs%
echo.
echo Encoding X264 Second Pass :
echo.
start "encode" /b /low /wait "%mypath%\bin\x264n.exe" --preset slower --tune film --pass 2 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000 --output "%mypath%\%mpath%\T1\%mymovie%.264" %myavs%
tune film and it is k
nurbs
9th July 2009, 12:51
You shouldn't have 16 refs then because --preset slower only uses 8. Also the mediainfo of your first encode shows plenty of settings different from --preset slower and different from the command line you posted.
MasterNobody
9th July 2009, 13:40
You shouldn't have 16 refs then because --preset slower only uses 8. Also the mediainfo of your first encode shows plenty of settings different from --preset slower and different from the command line you posted.
He should because --tune animation:
else if( !strcasecmp( optarg, "animation" ) )
{
param->i_frame_reference = param->i_frame_reference > 1 ? param->i_frame_reference*2 : 1;
param->i_deblocking_filter_alphac0 = 1;
param->i_deblocking_filter_beta = 1;
param->analyse.f_psy_rd = 0.4;
param->rc.f_aq_strength = 0.6;
param->i_bframe += 2;
}
P.S. But it should be reduced if he doesn't specify --ref manualy.
J_Darnley
9th July 2009, 14:08
P.S. But it should be reduced if he doesn't specify --ref manualy.
But it isn't. I think there is a problem with the automatic ref reduction. The code block enters but doesn't run the reduction because mbs = 0 for the videos I've tried.
[EDIT] This is because the input file has not been opened yet so the width and height are 0.
[EDIT2] Quick patch: http://pastebin.com/d5259ba1a Moves the code block to after the files are opened.
juGGaKNot
9th July 2009, 14:46
From the top, new encodes :
film :
--preset slower --tune film --pass 1 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000
--preset slower --tune film --pass 2 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000
CMD :
Encoding X264 Second Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile High, level 4.0
[51.5%] 389/756 frames, 1.75 fps, 3339.88 kb/s, eta 0:03:29
Output :
Writing library : x264 core 68 r1179M 96e2229
Encoding settings : cabac=1 / ref=8 / deblock=1:-1:-1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=1.0:0.2 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-3 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=3 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=300 / keyint_min=30 / scenecut=40 / rc=2pass / bitrate=4500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=20000 / vbv_bufsize=20000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:1.00
Animation :
--preset slower --tune animation --pass 1 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000
--preset slower --tune animation --pass 2 --keyint %kint% --min-keyint %mint% --stats "%mypath%\%mpath%\T1\%mymovie%.stats" --bitrate %btratex264% --sar 1:1 --aud --nal-hrd --vbv-bufsize 20000 --vbv-maxrate 20000
CMD :
Encoding X264 Second Pass :
avis [info]: 1148x666 @ 30.00 fps (756 frames)
x264 [warning]: width or height not divisible by 16 (1148x666), compression will
suffer.
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Slow
x264 [info]: profile High, level 5.0
[31.7%] 240/756 frames, 1.04 fps, 2234.92 kb/s, eta 0:08:15
Output :
Writing library : x264 core 68 r1179M 96e2229
Encoding settings : cabac=1 / ref=16 / deblock=1:1:1 / analyse=0x3:0x133 / me=umh / subme=9 / psy_rd=0.4:0.0 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=-2 / threads=3 / nr=0 / decimate=1 / mbaff=0 / bframes=5 / b_pyramid=0 / b_adapt=2 / b_bias=0 / direct=3 / wpredb=1 / keyint=300 / keyint_min=30 / scenecut=40 / rc=2pass / bitrate=4500 / ratetol=1.0 / qcomp=0.60 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / vbv_maxrate=20000 / vbv_bufsize=20000 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.60
LE :
But it isn't. I think there is a problem with the automatic ref reduction. The code block enters but doesn't run the reduction because mbs = 0 for the videos I've tried.
[EDIT] This is because the input file has not been opened yet so the width and height are 0.
[EDIT2] Quick patch: http://pastebin.com/d5259ba1a Moves the code block to after the files are opened.
So when i force level 4.0 it will adjust the refs auto now not to break the level limit right ?
Dark Shikari
9th July 2009, 18:29
But it isn't. I think there is a problem with the automatic ref reduction. The code block enters but doesn't run the reduction because mbs = 0 for the videos I've tried.
[EDIT] This is because the input file has not been opened yet so the width and height are 0.
[EDIT2] Quick patch: http://pastebin.com/d5259ba1a Moves the code block to after the files are opened.Ah, good point. Will fix.
slower:
--me umh --subme 9 --ref 8 --b-adapt 2 --direct auto --partitions all --trellis 2
placebo:
--me tesa --subme 9 --merange 24 --ref 16 --b-adapt 2 --direct auto --partitions all --no-fast-pskip --trellis 2 --bframes 16
You suggest to keep 3 B-frames up to the 'slower' setting and raise the number only for 'placebo'. Are more then 3 B-frames really that useless?
stax76
10th July 2009, 07:15
StaxRip supports the stuff since version 1.1.1.2 beta.
http://img268.imageshack.us/img268/7379/x264.th.png (http://img268.imageshack.us/i/x264.png/)
juGGaKNot
10th July 2009, 15:00
placebo:
--me tesa --subme 9 --merange 24 --ref 16 --b-adapt 2 --direct auto --partitions all --no-fast-pskip --trellis 2 --bframes 16
animation:
--ref (previousref==1?1:MIN(previousref*2,16)) --deblock 1:1 --psy-rd 0.4:0 --aq-strength 0.6 --bframes 5
--profile : Note that these override all other options no matter what
Will the tune --animation work with placebo ?
akupenguin
10th July 2009, 15:46
Will the --tune animation work with placebo ?
Yes. It calls libx264 with --ref 32 --bframes 18, but libx264 clips all options to their valid range, including those.
juGGaKNot
10th July 2009, 16:15
placebo:
--me tesa --subme 9 --merange 24 --ref 16 --b-adapt 2 --direct auto --partitions all --no-fast-pskip --trellis 2 --bframes 16
animation:
--ref (previousref==1?1:MIN(previousref*2,16)) --deblock 1:1 --psy-rd 0.4:0 --aq-strength 0.6 --bframes 5
--profile : Note that these override all other options no matter what
Will the tune --animation work with placebo ?
Yes. It calls libx264 with --ref 32 --bframes 18, but libx264 clips all options to their valid range, including those.
So --preset placebo --tune animation =
--me tesa --subme 9 --merange 24 --b-adapt 2 --direct auto --partitions all --no-fast-pskip --trellis 2 --ref (previousref==1?1:MIN(previousref*2,16)) --deblock 1:1 --psy-rd 0.4:0 --aq-strength 0.6 --bframes 5 ?
Doesn't the --profile override the --tune settings ?
LoRd_MuldeR
10th July 2009, 16:18
Doesn't the --profile override the --tune settings ?
First of all the preset is applied. Next the tuning is applied. Then all explicit options are applied (and may overwrite what has been done so far). Finally the profile is enforced.
juGGaKNot
10th July 2009, 16:34
Finally the profile is enforced.
So the refs and b-frames must be removed from --profile placebo for the tune to actually work right ?
LoRd_MuldeR
10th July 2009, 16:49
So the refs and b-frames must be removed from --profile placebo for the tune to actually work right ?
Why? The "placebo" preset will set both, refs and b-frames, to 16. Then the "animation" tune will raise ref to 32 and b-frames to 18 - temporarily. They'll be clipped back to 16 anyway ;)
So I really cannot see a problem here. Except that there's not much to do for the tune option when starting with "placebo" settings. Well, it'll still adjust Filter, AQ and Psy-RD...
Adub
10th July 2009, 16:57
There is no --profile placebo. There is a --preset placebo, but no --profile.
Lorax2161
10th July 2009, 20:57
As it relates to tuning, would sports captured OTA in DV and encoded w/x264 be most likely to benefit from:
- general purpose (no specific tuning, raise preset/lower CRF as needed)
- film tuning
- as a classification, warrant it's own tuning like animation & film
This would predominantly involve field sports (football/soccer) and motor sports.
Thanks
j8ee
10th July 2009, 21:34
/.../
For all encodes, regardless of preset or not, using --pass 1 will automatically trigger "turbo" settings, which are as follows and override all commandline options:
--trellis 0 --no-8x8dct --partitions none --me dia --ref 1 --subme MIN(2, previous subme)
This can be disabled using --slow-firstpass.
/.../
I don't understand what the subme value will be. Could someone please explain how it's read - "--subme MIN(2, previous subme)"?
smok3
10th July 2009, 21:36
There is no --profile placebo. There is a --preset placebo, but no --profile.
there is gonna be bunch of useless questions concerning --preset and --profile i believe, is there another word for 'preset'? (like --shortcut, --default, --pref, --init, --setting, --behave ...)
Dark Shikari
10th July 2009, 21:45
I don't understand what the subme value will be. Could someone please explain how it's read - "--subme MIN(2, previous subme)"?MIN(x,y) means the minimum of x and y.
j8ee
10th July 2009, 22:00
Thanks, that what was I thought, but where does "previous subme" come from? Why "previous" - is it a subme value I provide and that's only read if it's used in the commandline before the --pass 1 switch, but disregarded if used after, or?
edit: Thanks again! Now I got it - "applied last" - the full commandline and all values are actually used, except those six switches substituted by the "--pass 1/turbo/fast first pass" settings. I got a little confused with that it would "override all commandline options".
Dark Shikari
10th July 2009, 22:08
Thanks, that what was I thought, but where does "previous subme" come from? Why "previous" - is it a subme value I provide and that's only read if it's used in the commandline before the --pass 1 switch, but disregarded if used after, or?"Previous"; the one that was set before the "fast first pass" was applied. "fast first pass" is applied last.
LoRd_MuldeR
10th July 2009, 22:24
In other words: Whatever Subme you have specified (either explicitly or via preset), for the first pass it won't be higher than 2.
If x264 detects a first pass and Subme is higher than 2, then Subme will be lowered to 2. Unless you specify "--slow-firstpass", of course.
kemuri-_9
11th July 2009, 00:32
seems someone updated the megui wiki for this, maybe it'll help clarify things
http://mewiki.project357.com/wiki/X264_Settings#Quick_Run_Support
woah!
11th July 2009, 02:39
would having a txt file with say bluray compatible settings in it, like a custom matrix file option: --preset placebo --tune film --profile "bluray.txt" then anyone can have txt files for different things... as it stands now, i cant "make" a profile unless i can code one into a certain build of x264 myself, or is that not the case?
you have "film" "animation" "grain" "psnr" but they dont help me for what i want to do to make sure of bluray forced compatible settings..
juGGaKNot
11th July 2009, 06:38
Why? The "placebo" preset will set both, refs and b-frames, to 16. Then the "animation" tune will raise ref to 32 and b-frames to 18 - temporarily. They'll be clipped back to 16 anyway ;)
So I really cannot see a problem here. Except that there's not much to do for the tune option when starting with "placebo" settings. Well, it'll still adjust Filter, AQ and Psy-RD...
The placebo will set them at 16/16
The tune will set them at max refs/level ( if i force 4.o it will use 7-8 for 1280x720 right ? ) and bframes to 5
i want the placebo but with 5 bframes and the automated refs.
The tune animation will clip bframes at 5and refs/level, thats what i'm asking.
kemuri-_9
11th July 2009, 08:11
--preset placebo --tune animation --level 4.0 --bframes 5
would be ideally what you seem to be looking for, but as the automated ref reduction is having problems you should also add --ref 9 to that
so it becomes:
--preset placebo --tune animation --level 4.0 --ref 9 --bframes 5
Dark Shikari
11th July 2009, 08:13
--preset placebo --tune animation --level 4.0 --bframes 5
would be ideally what you seem to be looking for, but as the automated ref reduction is having problemsnot anymore
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.