Log in

View Full Version : x264 "Macroblock Tree Ratecontrol" testing (committed)


Pages : 1 2 [3] 4 5 6 7 8 9 10

popper
6th August 2009, 02:47
Unfortunately the QP @ 50kbps was 51 for the first pass so the 2nd pass had to converge to ~400kbps. Even @ --bitrate 500 the average QP was ~49.

LOL at last, almost a visually good playable vga AVC over dialup ISP upload rates.

you used a 640x480 , try a CIF 352 × 288 PAL or widescreen 16/9 version and you might make it even better :)

http://en.wikipedia.org/wiki/Common_Intermediate_Format
"The CIF "image sizes" were specifically chosen to be multiples of macroblocks (i.e. 16 × 16 pixels) due to the way that discrete cosine transform based video compression/decompression is handled. So, by example, a CIF-size image (352 × 288) corresponds to 22 × 18 macroblocks."

Chengbin
6th August 2009, 03:02
No, it doesn't, stop answering questions that you don't know about!

Then why did x264 not crash when I used mbtree with lossless?

EDIT: On a second thought, there is no point of mbtree (or qcomp) in lossless mode anyway.

Sorry for spreading misinformation.

Dark Shikari
6th August 2009, 05:22
Original post updated with RC1. If there are no issues, MB-tree will be committed tomorrow.

Daiz
6th August 2009, 08:18
Sure is fast development in here ;)

Shinigami-Sama
6th August 2009, 08:28
Sure is fast development in here ;)

this is what happens when Dark finds out he can compress Touhou better

tetsuo55
6th August 2009, 09:05
Maybe he will find away to reach transparency for Touhou at less than 50kbit/s :P

shon3i
6th August 2009, 09:14
maybe here ;) :P http://forum.doom9.org/showthread.php?p=1311821#post1311821

juGGaKNot
6th August 2009, 10:02
x264_r1195_mbtree_RC1_GCC_4.4.1_juGGaKNot (http://www.mediafire.com/download.php?mjnolnongex), generic, fprofiled, patched
Source: GIT

Applied patches :

x264_win_zone_parse_fix_05.diff (http://www.mediafire.com/download.php?kqymujywhtw)
x264_Macroblock_Tree_Ratecontrol_RC1.diff (http://www.mediafire.com/download.php?hf2mnbzwomw)

It is fprofiled on a uncompressed 300 frames source with very high motion

Please check Doom9.org patches thread (http://forum.doom9.org/showthread.php?t=130364), Doom9.org Macroblock tree Ratecontrol thread (http://forum.doom9.org/showthread.php?t=148686) and GIT shortlog (http://git.videolan.org/gitweb.cgi?p=x264.git;a=shortlog) for more info.

Compiled by juGGaKNot (http://forum.doom9.org/member.php?u=144865) with GCC 4.4.1 on Windows XP SP-2 32-bit.

Platform: X86
System: MINGW
asm: yes
avis input: yes
mp4 output: yes
pthread: yes
debug: no
gprof: no
PIC: no
shared: no
visualize: no

Small side note : HRD 15 does not patch right with tree rc1 on gcc 4.4.1/4.4.0.

$ git reset --hard
HEAD is now at 5d75a9b Fix another 10L in QPRD

$ patch -p1 < /d/msys/d_win.diff
patching file encoder/ratecontrol.c
Hunk #1 succeeded at 659 (offset 21 lines).

$ patch -p1 < /d/msys/d_tre.diff
(Stripping trailing CRs from patch.)
patching file encoder/ratecontrol.c
Hunk #3 succeeded at 961 (offset 5 lines).
Hunk #5 succeeded at 1274 (offset 5 lines).
(Stripping trailing CRs from patch.)
patching file common/common.c
(Stripping trailing CRs from patch.)
patching file common/common.h
(Stripping trailing CRs from patch.)
patching file common/frame.c
(Stripping trailing CRs from patch.)
patching file common/frame.h
(Stripping trailing CRs from patch.)
patching file common/osdep.h
(Stripping trailing CRs from patch.)
patching file encoder/analyse.c
(Stripping trailing CRs from patch.)
patching file encoder/encoder.c
(Stripping trailing CRs from patch.)
patching file encoder/ratecontrol.c
Hunk #14 succeeded at 799 (offset 5 lines).
Hunk #16 succeeded at 1159 (offset 5 lines).
Hunk #18 succeeded at 1197 (offset 5 lines).
Hunk #20 succeeded at 1269 (offset 5 lines).
(Stripping trailing CRs from patch.)
patching file encoder/ratecontrol.h
(Stripping trailing CRs from patch.)
patching file encoder/slicetype.c
(Stripping trailing CRs from patch.)
patching file x264.c
(Stripping trailing CRs from patch.)
patching file x264.h

$ patch -p1 < /d/msys/d_hrd.diff
patching file common/bs.h
patching file common/common.c
Hunk #1 succeeded at 148 (offset 3 lines).
Hunk #3 succeeded at 598 (offset 9 lines).
patching file common/common.h
Hunk #1 succeeded at 332 (offset 44 lines).
patching file common/frame.c
Hunk #1 succeeded at 118 (offset 9 lines).
patching file common/frame.h
patching file common/set.h
patching file encoder/encoder.c
Hunk #2 succeeded at 753 (offset 28 lines).
Hunk #3 succeeded at 935 (offset 4 lines).
Hunk #4 succeeded at 968 (offset 28 lines).
Hunk #5 succeeded at 1390 (offset 4 lines).
Hunk #6 succeeded at 1424 (offset 28 lines).
Hunk #7 succeeded at 1422 (offset 4 lines).
Hunk #8 succeeded at 1605 (offset 34 lines).
Hunk #9 succeeded at 1637 (offset 4 lines).
Hunk #10 FAILED at 1733.
Hunk #11 FAILED at 1783.
Hunk #12 succeeded at 1829 (offset 36 lines).
2 out of 12 hunks FAILED -- saving rejects to file encoder/encoder.c.rej
patching file encoder/ratecontrol.c
Hunk #1 succeeded at 69 with fuzz 1 (offset 1 line).
Hunk #2 succeeded at 90 (offset 1 line).
Hunk #3 succeeded at 146 (offset 6 lines).
Hunk #4 succeeded at 323 with fuzz 2 (offset 37 lines).
Hunk #5 FAILED at 1126.
Hunk #6 FAILED at 1208.
Hunk #7 succeeded at 1376 (offset 83 lines).
Hunk #8 succeeded at 1342 (offset 37 lines).
2 out of 8 hunks FAILED -- saving rejects to file encoder/ratecontrol.c.rej
patching file encoder/ratecontrol.h
Hunk #1 FAILED at 34.
1 out of 1 hunk FAILED -- saving rejects to file encoder/ratecontrol.h.rej
patching file encoder/set.c
patching file encoder/set.h
patching file x264.c
Hunk #2 succeeded at 360 (offset 6 lines).
Hunk #4 succeeded at 477 (offset 10 lines).
patching file x264.h
Hunk #1 succeeded at 201 (offset 1 line).
Hunk #2 succeeded at 267 (offset 1 line).
Hunk #3 succeeded at 295 (offset 3 lines).

Same goes if i patch HRD first, tree fails.

wyti
6th August 2009, 13:07
Tested this RC on a (very) short game footage (around 500 frames)

Here is the logs without MBtree / Mbtree 0.13 / Mbtree RC1

Without :
D:\Encodage>x264 --slow-firstpass --keyint 1500 --min-keyint 2 --bframe 16 --b-a
dapt 2 --ref 16 --no-deblock --bitrate 1024 --qpmin 1 --qpmax 51 --ipratio 1.4 -
-aq-mode 2 --pass 1 --stats x264_stats.log --qcomp 0.66 --partitions all --direc
t auto --me tesa --merange 64 --subme 10 --psy-rd 0:0 --trellis 2 --no-fast-pski
p --threads 1 --ssim --psnr --thread-input --non-deterministic -o "TestSans.264"
"VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:39.66 size: 8327 PSNR Mean Y:26.73 U:32.76
V:33.70 Avg:28.03 Global:28.03
x264 [info]: slice P:251 Avg QP:31.90 size: 2915 PSNR Mean Y:32.39 U:35.04
V:35.93 Avg:33.13 Global:31.79
x264 [info]: slice B:323 Avg QP:37.40 size: 905 PSNR Mean Y:29.86 U:33.72
V:34.72 Avg:30.83 Global:30.15
x264 [info]: consecutive B-frames: 12.0% 27.2% 38.2% 18.8% 1.7% 2.1% 0.0% 0.
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 41.5% 38.5% 20.0%
x264 [info]: mb P I16..4: 3.0% 1.5% 0.4% P16..4: 24.2% 5.2% 6.5% 0.3% 0
.2% skip:58.7%
x264 [info]: mb B I16..4: 0.6% 0.3% 0.0% B16..8: 22.8% 0.8% 1.0% direct:
1.1% skip:73.4% L0:39.9% L1:55.1% BI: 5.0%
x264 [info]: final ratefactor: 29.08
x264 [info]: 8x8 transform intra:31.1% inter:44.5%
x264 [info]: direct mvs spatial:92.6% temporal:7.4%
x264 [info]: coded y,uvDC,uvAC intra:23.6% 36.0% 11.8% inter:5.0% 5.1% 1.0%
x264 [info]: ref P L0 74.4% 10.5% 5.3% 2.0% 1.5% 1.3% 1.0% 0.6% 0.5% 0.
5% 0.4% 0.4% 0.4% 0.4% 0.4% 0.3%
x264 [info]: ref B L0 75.4% 8.2% 4.2% 2.2% 1.7% 1.4% 1.3% 1.0% 0.8% 0.
7% 0.7% 0.5% 0.6% 0.6% 0.7%
x264 [info]: SSIM Mean Y:0.8545813
x264 [info]: PSNR Mean Y:30.958 U:34.295 V:35.244 Avg:31.830 Global:30.790 kb/s:
861.73

encoded 575 frames, 0.48 fps, 862.23 kb/s

D:\Encodage>x264 --keyint 1500 --min-keyint 2 --bframe 16 --b-a
dapt 2 --ref 16 --no-deblock --bitrate 1024 --qpmin 1 --qpmax 51 --ipratio 1.4 -
-aq-mode 2 --pass 2 --stats x264_stats.log --qcomp 0.66 --partitions all --direc
t auto --me tesa --merange 64 --subme 10 --psy-rd 0:0 --trellis 2 --no-fast-pski
p --threads 1 --ssim --psnr --thread-input --non-deterministic -o "TestSans.264"
"VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:29.16 size: 38265 PSNR Mean Y:34.20 U:36.24
V:36.56 Avg:34.81 Global:34.81
x264 [info]: slice P:251 Avg QP:32.97 size: 3217 PSNR Mean Y:31.49 U:34.55
V:35.40 Avg:32.34 Global:31.98
x264 [info]: slice B:323 Avg QP:37.01 size: 1142 PSNR Mean Y:30.09 U:34.02
V:34.95 Avg:31.10 Global:30.75
x264 [info]: consecutive B-frames: 12.0% 27.2% 38.2% 18.8% 1.7% 2.1% 0.0% 0.
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 19.2% 37.3% 43.5%
x264 [info]: mb P I16..4: 2.6% 1.5% 0.5% P16..4: 21.6% 6.3% 8.1% 0.3% 0
.2% skip:59.0%
x264 [info]: mb B I16..4: 0.7% 0.3% 0.1% B16..8: 23.4% 1.2% 1.4% direct:
1.5% skip:71.4% L0:43.3% L1:47.7% BI: 9.1%
x264 [info]: 8x8 transform intra:32.9% inter:39.0%
x264 [info]: direct mvs spatial:77.4% temporal:22.6%
x264 [info]: coded y,uvDC,uvAC intra:32.5% 40.4% 15.8% inter:5.7% 4.8% 0.7%
x264 [info]: ref P L0 71.9% 11.2% 6.0% 2.4% 1.7% 1.4% 1.2% 0.6% 0.6% 0.
6% 0.4% 0.4% 0.5% 0.4% 0.5% 0.3%
x264 [info]: ref B L0 73.9% 9.4% 4.7% 2.3% 1.8% 1.4% 1.2% 0.9% 0.7% 0.
6% 0.7% 0.5% 0.5% 0.6% 0.6%
x264 [info]: SSIM Mean Y:0.8685379
x264 [info]: PSNR Mean Y:30.709 U:34.255 V:35.146 Avg:31.651 Global:31.251 kb/s:
1013.81

encoded 575 frames, 0.49 fps, 1014.33 kb/s

With 0.13
D:\Encodage>x264MbTree --slow-firstpass --mbtree --lookahead 500 --keyint 1500 -
-min-keyint 2 --bframe 16 --b-adapt 2 --ref 16 --no-deblock --bitrate 1024 --qpm
in 1 --qpmax 51 --ipratio 1.4 --aq-mode 2 --pass 1 --stats x264_stats.log --qcom
p 0.66 --partitions all --direct auto --me tesa --merange 64 --subme 10 --psy-rd
0:0 --trellis 2 --no-fast-pskip --threads 1 --ssim --psnr --thread-input --non-
deterministic -o "TestAvec.264" "VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 Slow
_mod4_stack
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:27.86 size: 43860 PSNR Mean Y:34.17 U:36.62
V:36.87 Avg:34.87 Global:34.87
x264 [info]: slice P:247 Avg QP:33.95 size: 2590 PSNR Mean Y:33.11 U:35.62
V:36.52 Avg:33.83 Global:32.80
x264 [info]: slice B:327 Avg QP:39.54 size: 851 PSNR Mean Y:30.71 U:34.54
V:35.51 Avg:31.69 Global:30.95
x264 [info]: consecutive B-frames: 12.2% 24.4% 38.2% 18.8% 4.4% 2.1% 0.0% 0.
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 15.7% 39.4% 44.9%
x264 [info]: mb P I16..4: 2.7% 1.7% 0.3% P16..4: 20.8% 5.8% 5.0% 0.2% 0
.1% skip:63.5%
x264 [info]: mb B I16..4: 0.6% 0.3% 0.0% B16..8: 21.9% 0.8% 0.8% direct:
0.9% skip:74.8% L0:44.4% L1:50.0% BI: 5.5%
x264 [info]: final ratefactor: 29.73
x264 [info]: 8x8 transform intra:34.6% inter:45.2%
x264 [info]: direct mvs spatial:93.9% temporal:6.1%
x264 [info]: coded y,uvDC,uvAC intra:30.7% 40.9% 17.0% inter:4.4% 4.4% 0.6%
x264 [info]: ref P L0 71.0% 11.1% 6.2% 2.5% 1.8% 1.4% 1.3% 0.7% 0.6% 0.
6% 0.5% 0.4% 0.5% 0.5% 0.6% 0.3%
x264 [info]: ref B L0 75.9% 7.8% 4.0% 2.3% 1.8% 1.4% 1.3% 1.0% 0.8% 0.
6% 0.6% 0.6% 0.5% 0.5% 0.8%
x264 [info]: SSIM Mean Y:0.8788224
x264 [info]: PSNR Mean Y:31.746 U:35.009 V:35.946 Avg:32.611 Global:31.656 kb/s:
802.87

encoded 575 frames, 0.58 fps, 803.37 kb/s

D:\Encodage>x264MbTree --mbtree --lookahead 500 --keyint 1500 -
-min-keyint 2 --bframe 16 --b-adapt 2 --ref 16 --no-deblock --bitrate 1024 --qpm
in 1 --qpmax 51 --ipratio 1.4 --aq-mode 2 --pass 2 --stats x264_stats.log --qcom
p 0.66 --partitions all --direct auto --me tesa --merange 64 --subme 10 --psy-rd
0:0 --trellis 2 --no-fast-pskip --threads 1 --ssim --psnr --thread-input --non-
deterministic -o "TestAvec.264" "VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2 Slow
_mod4_stack
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:23.13 size: 71401 PSNR Mean Y:38.43 U:39.30
V:39.44 Avg:38.72 Global:38.72
x264 [info]: slice P:247 Avg QP:33.52 size: 3199 PSNR Mean Y:34.16 U:36.51
V:37.37 Avg:34.85 Global:33.78
x264 [info]: slice B:327 Avg QP:38.27 size: 1118 PSNR Mean Y:31.71 U:35.37
V:36.32 Avg:32.67 Global:31.77
x264 [info]: consecutive B-frames: 12.2% 24.4% 38.2% 18.8% 4.4% 2.1% 0.0% 0.
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 4.8% 39.9% 55.3%
x264 [info]: mb P I16..4: 2.3% 1.7% 0.4% P16..4: 20.0% 6.7% 5.6% 0.3% 0
.1% skip:62.9%
x264 [info]: mb B I16..4: 0.7% 0.3% 0.1% B16..8: 23.5% 1.2% 1.3% direct:
1.3% skip:71.7% L0:45.9% L1:45.0% BI: 9.1%
x264 [info]: 8x8 transform intra:36.7% inter:39.2%
x264 [info]: direct mvs spatial:76.8% temporal:23.2%
x264 [info]: coded y,uvDC,uvAC intra:36.0% 44.4% 20.3% inter:5.6% 4.8% 0.8%
x264 [info]: ref P L0 69.0% 11.7% 6.4% 2.7% 2.0% 1.6% 1.4% 0.8% 0.7% 0.
6% 0.6% 0.5% 0.5% 0.5% 0.6% 0.4%
x264 [info]: ref B L0 74.3% 9.3% 4.4% 2.4% 1.8% 1.4% 1.2% 0.9% 0.7% 0.
6% 0.6% 0.5% 0.6% 0.6% 0.7%
x264 [info]: SSIM Mean Y:0.8957169
x264 [info]: PSNR Mean Y:32.775 U:35.869 V:36.773 Avg:33.617 Global:32.530 kb/s:
1024.41

encoded 575 frames, 0.58 fps, 1024.94 kb/s

With RC1
D:\Encodage>x264MbTree --slow-firstpass --mbtree --rc-lookahead 500 --keyint 15
0 --min-keyint 2 --bframe 16 --b-adapt 2 --ref 16 --no-deblock --bitrate 1024 -
qpmin 1 --qpmax 51 --ipratio 1.4 --aq-mode 2 --pass 1 --stats x264_stats.log --
comp 0.66 --partitions all --direct auto --me tesa --merange 64 --subme 10 --ps
-rd 0:0 --trellis 2 --no-fast-pskip --threads 1 --ssim --psnr --thread-input --
on-deterministic -o "TestAvec2.264" "VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:29.35 size: 36309 PSNR Mean Y:33.08 U:35.84
V:36.29 Avg:33.86 Global:33.86
x264 [info]: slice P:247 Avg QP:34.36 size: 2469 PSNR Mean Y:32.18 U:35.02
V:35.94 Avg:32.98 Global:32.29
x264 [info]: slice B:327 Avg QP:38.99 size: 929 PSNR Mean Y:30.25 U:34.25
V:35.24 Avg:31.26 Global:30.74
x264 [info]: consecutive B-frames: 12.2% 24.4% 38.2% 18.8% 4.4% 2.1% 0.0% 0
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 17.1% 38.0% 44.9%
x264 [info]: mb P I16..4: 2.7% 1.7% 0.4% P16..4: 20.6% 5.5% 6.2% 0.2%
.1% skip:62.6%
x264 [info]: mb B I16..4: 0.7% 0.3% 0.0% B16..8: 22.6% 0.8% 0.9% direct
1.1% skip:73.6% L0:43.6% L1:50.7% BI: 5.7%
x264 [info]: final ratefactor: 29.30
x264 [info]: 8x8 transform intra:34.8% inter:45.7%
x264 [info]: direct mvs spatial:93.3% temporal:6.7%
x264 [info]: coded y,uvDC,uvAC intra:31.5% 42.3% 18.1% inter:4.3% 4.3% 0.6%
x264 [info]: ref P L0 72.1% 11.0% 5.9% 2.3% 1.7% 1.4% 1.2% 0.6% 0.6% 0
5% 0.5% 0.4% 0.5% 0.5% 0.5% 0.3%
x264 [info]: ref B L0 76.0% 8.0% 4.0% 2.2% 1.7% 1.4% 1.3% 1.0% 0.8% 0
6% 0.7% 0.5% 0.6% 0.5% 0.7%
x264 [info]: SSIM Mean Y:0.8724616
x264 [info]: PSNR Mean Y:31.083 U:34.585 V:35.546 Avg:32.003 Global:31.341 kb/s
792.96

encoded 575 frames, 0.51 fps, 793.48 kb/s

D:\Encodage>x264MbTree --mbtree --rc-lookahead 500 --keyint 15
0 --min-keyint 2 --bframe 16 --b-adapt 2 --ref 16 --no-deblock --bitrate 1024 -
qpmin 1 --qpmax 51 --ipratio 1.4 --aq-mode 2 --pass 2 --stats x264_stats.log --
comp 0.66 --partitions all --direct auto --me tesa --merange 64 --subme 10 --ps
-rd 0:0 --trellis 2 --no-fast-pskip --threads 1 --ssim --psnr --thread-input --
on-deterministic -o "TestAvec2.264" "VideoFinal.avs"
avis [info]: 640x480 @ 60.00 fps (575 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile High, level 3.2
x264 [info]: slice I:1 Avg QP:24.03 size: 65239 PSNR Mean Y:37.82 U:38.71
V:38.86 Avg:38.12 Global:38.12
x264 [info]: slice P:247 Avg QP:34.39 size: 3053 PSNR Mean Y:33.07 U:35.50
V:36.49 Avg:33.80 Global:33.19
x264 [info]: slice B:327 Avg QP:37.83 size: 1234 PSNR Mean Y:31.27 U:34.92
V:35.95 Avg:32.22 Global:31.59
x264 [info]: consecutive B-frames: 12.2% 24.4% 38.2% 18.8% 4.4% 2.1% 0.0% 0
0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0% 0.0%
x264 [info]: mb I I16..4: 4.2% 40.4% 55.4%
x264 [info]: mb P I16..4: 2.5% 1.8% 0.5% P16..4: 19.7% 6.5% 5.8% 0.3%
.1% skip:62.9%
x264 [info]: mb B I16..4: 0.7% 0.4% 0.1% B16..8: 23.9% 1.2% 1.4% direct
1.5% skip:70.8% L0:45.2% L1:44.7% BI:10.1%
x264 [info]: 8x8 transform intra:36.4% inter:39.2%
x264 [info]: direct mvs spatial:71.9% temporal:28.1%
x264 [info]: coded y,uvDC,uvAC intra:37.3% 45.4% 21.1% inter:5.6% 4.7% 0.8%
x264 [info]: ref P L0 69.3% 11.8% 6.4% 2.6% 2.0% 1.5% 1.3% 0.7% 0.7% 0
6% 0.6% 0.5% 0.6% 0.5% 0.6% 0.4%
x264 [info]: ref B L0 74.9% 9.0% 4.4% 2.3% 1.7% 1.3% 1.2% 1.0% 0.8% 0
6% 0.6% 0.5% 0.6% 0.5% 0.7%
x264 [info]: SSIM Mean Y:0.8909777
x264 [info]: PSNR Mean Y:32.054 U:35.176 V:36.186 Avg:32.911 Global:32.213 kb/s
1020.89

encoded 575 frames, 0.50 fps, 1021.43 kb/s

I know i use strange (insane ? placebo ?) settings and the bitrate is very low (this source need more) but RC needs to be a little more accurate than 2 times more.
No-deblock is on purpose, i'ts ugly to see but i know where it takes bits and where it gives them.

But it's sad that we have a worse RC1 than the 0.13.
Will test on others sources to verify if RC1 is always worse.

Trahald
6th August 2009, 13:13
Ill fix hrd patch when mbtree is commited. (unless someone else beats me to it)

burfadel
6th August 2009, 13:30
Have you tried a higher rc-lookahead for comparison? 0.13 uses a value of 50, rc1 uses 40. Try again with 50 and see if the results align.

wyti
6th August 2009, 13:50
already tried, read my logs, in top of them there is the command line is used.
I've tested the pretty insane value of 500 for both. Maybe RC1 don't like too high values ?

Chengbin
6th August 2009, 14:12
I don't know how to interpret this data, so I'll leave it up to you guys to decode.

no mbtree

pass 1 (http://i26.tinypic.com/mslrmv.png)

http://i26.tinypic.com/mslrmv.png

pass 2

http://i27.tinypic.com/17rcqf.png

mbtree

pass 1

http://i30.tinypic.com/301zdyc.png

pass 2

http://i32.tinypic.com/10fbypf.png

no mbtree http://i27.tinypic.com/17rcqf.png

http://i26.tinypic.com/r2pzzs.png

mbtree http://i25.tinypic.com/10gjhxu.png

http://i25.tinypic.com/10gjhxu.png

Japhsoncross
6th August 2009, 16:06
i found mbtree gives quite good visual quality on game recordings.

but, i noticed mbtree doesn't treat fade in/out well.
my avs script:

blankclip(width=320, height=128, color=$FFFFFF, length=300, fps=30)
Subtitle("Hello", size=120)
FadeIO(150)
converttoyv12()


without mbtree

R:\>start /low /b /wait x264_mbtree_rc1.exe --keyint 300 --min-keyint 1 --bframes 6 --ref 16 --deblock 0:0 --bitrate 50 --pass 1
--stats "stats.log" --partitions all --direct auto --weightb --me esa --merange 12 --subme 10 --mixed-refs --8x8dct --no-fast-p
skip --no-dct-decimate --threads auto --thread-input --output NUL "111111.avs" --trellis 2 --b-adapt 2 --aq-mode 2 --no-mbtree
avis [info]: 320x128 @ 30.00 fps (302 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile Main, level 1.2
x264 [info]: slice I:6 Avg QP:27.83 size: 80
x264 [info]: slice P:197 Avg QP:30.94 size: 337
x264 [info]: slice B:99 Avg QP:32.34 size: 14
x264 [info]: consecutive B-frames: 50.7% 20.3% 2.0% 6.8% 5.1% 8.1% 7.1%
x264 [info]: mb I I16..4: 99.4% 0.0% 0.6%
x264 [info]: mb P I16..4: 57.6% 0.0% 0.0% P16..4: 31.2% 0.0% 0.0% 0.0% 0.0% skip:11.2%
x264 [info]: mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.1% 0.0% 0.0% direct: 0.2% skip:99.7% L0:18.2% L1:45.5% BI:36.4%
x264 [info]: final ratefactor: 34.90
x264 [info]: direct mvs spatial:19.2% temporal:80.8%
x264 [info]: coded y,uvDC,uvAC intra:4.8% 7.5% 2.4% inter:19.5% 9.4% 3.6%
x264 [info]: kb/s:54.3

encoded 302 frames, 327.55 fps, 54.90 kb/s

R:\>start /low /b /wait x264_mbtree_rc1.exe --keyint 300 --min-keyint 1 --bframes 6 --ref 16 --deblock 0:0 --bitrate 50 --pass 2
--stats "stats.log" --partitions all --direct auto --weightb --me esa --merange 12 --subme 10 --mixed-refs --8x8dct --no-fast-p
skip --no-dct-decimate --threads auto --thread-input --output "1195m.Test.mkv" "111111.avs" --psnr --ssim --trellis 2 --b-adapt
2 --aq-mode 2 --no-mbtree
avis [info]: 320x128 @ 30.00 fps (302 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile High, level 2.1
x264 [info]: slice I:6 Avg QP:20.29 size: 296 PSNR Mean Y:70.12 U:70.44 V:93.22 Avg:70.65 Global:57.59
x264 [info]: slice P:197 Avg QP:29.27 size: 291 PSNR Mean Y:39.95 U:40.46 V:45.77 Avg:40.56 Global:39.79
x264 [info]: slice B:99 Avg QP:27.78 size: 27 PSNR Mean Y:43.13 U:43.69 V:48.40 Avg:43.71 Global:41.95
x264 [info]: consecutive B-frames: 50.7% 20.3% 2.0% 6.8% 5.1% 8.1% 7.1%
x264 [info]: mb I I16..4: 85.1% 8.8% 6.1%
x264 [info]: mb P I16..4: 38.9% 4.8% 1.1% P16..4: 22.4% 2.2% 1.7% 0.0% 0.0% skip:28.8%
x264 [info]: mb B I16..4: 0.4% 0.0% 0.0% B16..8: 8.4% 0.0% 0.0% direct: 0.1% skip:91.1% L0: 7.3% L1:83.2% BI: 9.5%
x264 [info]: 8x8 transform intra:10.6% inter:84.8%
x264 [info]: direct mvs spatial:22.2% temporal:77.8%
x264 [info]: coded y,uvDC,uvAC intra:3.0% 7.2% 2.4% inter:19.6% 10.3% 4.1%
x264 [info]: ref P L0 94.1% 3.3% 0.9% 0.1% 0.2% 0.0% 0.6% 0.0% 0.3% 0.1% 0.1% 0.0% 0.1% 0.1% 0.1% 0.1%
x264 [info]: ref B L0 79.2% 20.8%
x264 [info]: SSIM Mean Y:0.9875633
x264 [info]: PSNR Mean Y:41.593 U:42.114 V:47.573 Avg:42.188 Global:40.489 kb/s:49.07

encoded 302 frames, 65.95 fps, 49.74 kb/s


with mbtree

R:\>start /low /b /wait x264_mbtree_rc1.exe --keyint 300 --min-keyint 1 --bframes 6 --ref 16 --deblock 0:0 --bitrate 50 --pass 1
--stats "stats.log" --partitions all --direct auto --weightb --me esa --merange 12 --subme 10 --mixed-refs --8x8dct --no-fast-p
skip --no-dct-decimate --threads auto --thread-input --output NUL "111111.avs" --trellis 2 --b-adapt 2 --aq-mode 2 --mbtree
avis [info]: 320x128 @ 30.00 fps (302 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile Main, level 1.2
x264 [info]: slice I:6 Avg QP:35.92 size: 80
x264 [info]: slice P:198 Avg QP:48.34 size: 157
x264 [info]: slice B:98 Avg QP:49.27 size: 14
x264 [info]: consecutive B-frames: 51.0% 20.3% 3.0% 5.4% 5.1% 8.1% 7.1%
x264 [info]: mb I I16..4: 99.3% 0.0% 0.7%
x264 [info]: mb P I16..4: 58.8% 0.0% 0.0% P16..4: 4.5% 0.0% 0.0% 0.0% 0.0% skip:36.7%
x264 [info]: mb B I16..4: 0.0% 0.0% 0.0% B16..8: 0.0% 0.0% 0.0% direct: 0.0% skip:100.0% L0:-1.$% L1:-1.$% BI:-1.$%
x264 [info]: final ratefactor: 1.#J
x264 [info]: direct mvs spatial:0.0% temporal:100.0%
x264 [info]: coded y,uvDC,uvAC intra:3.1% 19.0% 8.7% inter:1.0% 1.9% 0.4%
x264 [info]: kb/s:26.2

encoded 302 frames, 264.68 fps, 26.78 kb/s

R:\>start /low /b /wait x264_mbtree_rc1.exe --keyint 300 --min-keyint 1 --bframes 6 --ref 16 --deblock 0:0 --bitrate 50 --pass 2
--stats "stats.log" --partitions all --direct auto --weightb --me esa --merange 12 --subme 10 --mixed-refs --8x8dct --no-fast-p
skip --no-dct-decimate --threads auto --thread-input --output "1195mbt.Test.mkv" "111111.avs" --psnr --ssim --trellis 2 --b-adap
t 2 --aq-mode 2 --mbtree
avis [info]: 320x128 @ 30.00 fps (302 frames)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast FastShuffle SSEMisalign LZCNT
x264 [info]: profile High, level 2.1
x264 [info]: slice I:6 Avg QP:36.05 size: 78 PSNR Mean Y:56.39 U:66.80 V:92.42 Avg:57.22 Global:47.00
x264 [info]: slice P:198 Avg QP:30.51 size: 280 PSNR Mean Y:39.92 U:41.00 V:45.74 Avg:40.56 Global:39.42
x264 [info]: slice B:98 Avg QP:33.28 size: 32 PSNR Mean Y:40.55 U:42.39 V:47.90 Avg:41.30 Global:39.17
x264 [info]: consecutive B-frames: 51.0% 20.3% 3.0% 5.4% 5.1% 8.1% 7.1%
x264 [info]: mb I I16..4: 45.4% 54.6% 0.0%
x264 [info]: mb P I16..4: 31.9% 6.9% 0.6% P16..4: 22.9% 1.5% 1.5% 0.0% 0.0% skip:34.6%
x264 [info]: mb B I16..4: 0.5% 0.5% 0.0% B16..8: 13.3% 0.0% 0.0% direct: 0.0% skip:85.7% L0: 5.5% L1:87.2% BI: 7.3%
x264 [info]: 8x8 transform intra:20.4% inter:81.0%
x264 [info]: direct mvs spatial:0.0% temporal:100.0%
x264 [info]: coded y,uvDC,uvAC intra:1.5% 4.6% 1.4% inter:18.5% 9.7% 4.4%
x264 [info]: ref P L0 92.4% 3.6% 1.1% 0.2% 0.3% 0.1% 0.6% 0.1% 0.5% 0.1% 0.2% 0.0% 0.4% 0.1% 0.1% 0.3%
x264 [info]: ref B L0 81.2% 16.2% 0.4% 0.0% 0.4% 1.1% 0.0% 0.0% 0.7%
x264 [info]: SSIM Mean Y:0.9744154
x264 [info]: PSNR Mean Y:40.454 U:41.967 V:47.369 Avg:41.133 Global:39.405 kb/s:46.89

encoded 302 frames, 65.30 fps, 47.57 kb/s

poisondeathray
6th August 2009, 16:37
but, i noticed mbtree doesn't treat fade in/out well.


I've only done 1 test so far, but I noticed this too qualitatively where every other frame seems similar or maybe slightly better, it's definitely worse on fades during the entire fade sequence (if you interleave() 2 encodes). I'll do some more tests on other sources, and if this is a consistent observation I'll post some examples

Daiz
6th August 2009, 18:47
I can confirm that fades aren't treated well - at the same bitrate or even at higher bitrates, fades ended up worse-looking with mbtree on than with mbtree off. It's a shame since the mbtree encodes look better everywhere else.

Dark Shikari
6th August 2009, 19:12
This seems to be inherent in the algorithm and I'm not entirely sure how to resolve it... it was a problem in RDRC as well, in the exact same way.

I can't replicate the problem too much though; my testing shows that fades, at least with b-adapt 2 and aq-mode 1, are usually good enough. They might be significantly worse without b-adapt 2 though.

They also eat up an extraordinary amount of bits with or without MB-tree; hopefully weightp will fix this.

squid808
6th August 2009, 19:42
This seems to be inherent in the algorithm and I'm not entirely sure how to resolve it... it was a problem in RDRC as well, in the exact same way.

I can't replicate the problem too much though; my testing shows that fades, at least with b-adapt 2 and aq-mode 1, are usually good enough. They might be significantly worse without b-adapt 2 though.

They also eat up an extraordinary amount of bits with or without MB-tree; hopefully weightp will fix this.

Could you elaborate a bit on the nature of the inherent problem with the algorithm?

Dark Shikari
6th August 2009, 19:48
Could you elaborate a bit on the nature of the inherent problem with the algorithm?MB-tree lowers the quality on things that aren't referenced much in the future.

Without weighted prediction, fades are nearly all intra blocks...

Zachs
7th August 2009, 02:48
Speaking of which, how's weightp coming along? IIRC that's part of the SoC'09 isn't it?

Dark Shikari
7th August 2009, 02:58
Speaking of which, how's weightp coming along? IIRC that's part of the SoC'09 isn't it?Very well. We have a number of algorithms so far; the result will probably be something like this:

--weightp 0 (off)
--weightp 1 (blind weighting, equivalent to searching one more ref frame in terms of speed cost)
--weightp 2 (normal weighting, meant to catch fades)
--weightp 3 (K-means, :awesome: weighting, slow)

Japhsoncross
7th August 2009, 03:10
Very well. We have a number of algorithms so far; the result will probably be something like this:

--weightp 0 (off)
--weightp 1 (blind weighting, equivalent to searching one more ref frame in terms of speed cost)
--weightp 2 (normal weighting, meant to catch fades)
--weightp 3 (K-means, :awesome: weighting, slow)

OMG, i just can't wait ;)

Revgen
7th August 2009, 09:37
no mbtree http://i27.tinypic.com/17rcqf.png

http://i26.tinypic.com/r2pzzs.png

mbtree http://i25.tinypic.com/10gjhxu.png

http://i25.tinypic.com/10gjhxu.png

If you look closely at the foliage farthest in the background, you can see more details preserved with mbtree. Very slight. But it's there.

Fr4nz
7th August 2009, 10:47
If you look closely at the foliage farthest in the background, you can see more details preserved with mbtree. Very slight. But it's there.

Yes. This is true also for the ground...look at the grass.

G_M_C
7th August 2009, 12:33
[...]
I can't replicate the problem too much though; my testing shows that fades, at least with b-adapt 2 and aq-mode 1, are usually good enough.
[...]

Speaking of that; I've done some more testing and I notice encodes using --mbtree with AQ-mode 2 tend to have less quality then when AQ-mode 1 is used (best noticable in dark scenes / more artifacting). Has anyone else seen this too ?

nakTT
7th August 2009, 17:46
Noob question here,

Am I good to go by just downloading the latest build 1198 from Jarod's http://x264.nl/ website? Sorry for the noob question, I just can't bear letting you all have fun with the "Macroblock Tree Ratecontrol" without me.:D

:thanks:

bob0r
7th August 2009, 18:12
Noob question here,

Am I good to go by just downloading the latest build 1198 from Jarod's http://x264.nl/ website? Sorry for the noob question, I just can't bear letting you all have fun with the "Macroblock Tree Ratecontrol" without me.:D

:thanks:

commit bb66c482242a0747823661b212114c1a2f015fe3 r1197
Author: Jason Garrett-Glaser <darkshikari@gmail.com>
Date: Tue Aug 4 17:46:33 2009 -0700

Macroblock-tree ratecontrol
On by default; can be turned off with --no-mbtree.

juGGaKNot
7th August 2009, 18:14
commit bb66c482242a0747823661b212114c1a2f015fe3 r1197
Author: Jason Garrett-Glaser <darkshikari@gmail.com>
Date: Tue Aug 4 17:46:33 2009 -0700

Macroblock-tree ratecontrol
On by default; can be turned off with --no-mbtree.

higher values on --rc-lookahead ( than default 40 ) will make use of mbtree

lower values or --qcomp ( than default 0.6 ) will make use of mbtree

gl

nakTT
7th August 2009, 18:30
commit bb66c482242a0747823661b212114c1a2f015fe3 r1197
Author: Jason Garrett-Glaser <darkshikari@gmail.com>
Date: Tue Aug 4 17:46:33 2009 -0700

Macroblock-tree ratecontrol
On by default; can be turned off with --no-mbtree.
Thanks for the reply,

Actually I have read that before posting my question. I just wanted to be absolutely sure that it will worked by just swap the old build with a new one (because the GUI on MeGUI is not yet updated, so might not be able to play with the lookahead and the like) as I don't want to end up wasting the ecoding time with a nonworking package. BTW, I'm using MeGUI 1051. Any thought?

:thanks:

Yoshiyuki Blade
7th August 2009, 19:14
Thanks for the reply,

Actually I have read that before posting my question. I just wanted to be absolutely sure that it will worked by just swap the old build with a new one (because the GUI on MeGUI is not yet updated, so might not be able to play with the lookahead and the like) as I don't want to end up wasting the ecoding time with a nonworking package. BTW, I'm using MeGUI 1051. Any thought?

:thanks:

Either way, MeGUI has a section to input custom commands. So if mb tree didn't happen to be the default, you could just put in --mbtree and --rc-lookahead X. In this case, you can just put in --rc-lookahead X since mbtree is on by default now :).

nakTT
7th August 2009, 19:20
I guess I might post these images as well. Done with patch 0.11. Click the images to open them in new tabs. Also, I totally forgot to include --ssim and --psnr in the command line options, but the images speak for themselves...

Source is a 5000-frame clip from a lossless H.264 stream that was encoded from an MPEG-2 Transport Stream.

Without mbtree:
x264 --pass 2 --stats "mbtree0.log" --bitrate 300 --psy-rd 1.0:0.2 --b-adapt 2 --bframes 3 --ref 15 --mixed-refs
--b-pyramid --me umh --subme 10 --merange 32 --partitions all --direct auto --trellis 2 -o "mbtree0.mkv" "18l.avs"

pass 1 - encoded 5000 frames, 68.38 fps, 290.88 kb/s
pass 2 - encoded 5000 frames, 16.38 fps, 299.97 kb/s

Frame type B, size 646

With mbtree:
x264t --pass 2 --stats "mbtree1.log" --bitrate 300 --psy-rd 1.0:0.2 --b-adapt 2 --bframes 3 --ref 15 --mixed-refs
--mbtree --me umh --subme 10 --merange 32 --partitions all --direct auto --trellis 2 -o "mbtree1.mkv" "18l.avs"

pass 1 - encoded 5000 frames, 54.05 fps, 289.55 kb/s
pass 2 - encoded 5000 frames, 17.30 fps, 300.30 kb/s

Frame type B, size 494

I have to say the difference is quite incredible.
After comparing the pictures, All I can say is that it was amazing!!!

I can now officially say goodbye to any other encoder now. Unless some miracle happen in the future.

nakTT
7th August 2009, 19:25
Either way, MeGUI has a section to input custom commands. So if mb tree didn't happen to be the default, you could just put in --mbtree and --rc-lookahead X. In this case, you can just put in --rc-lookahead X since mbtree is on by default now :).
Many thanks for the guidance.

:thanks:

shon3i
7th August 2009, 19:57
Ill fix hrd patch when mbtree is commited. (unless someone else beats me to it)
Your turn :)

http://mirror01.x264.nl/x264/changelog.txt

And why nal-hrd is not commited yet?

bob0r
7th August 2009, 21:56
:readguid:Your turn :)

http://mirror01.x264.nl/x264/changelog.txt

And why nal-hrd is not commited yet?

Unless the full blu-ray specs are published, they won't add/make patches for blu-ray encoding.

Forteen88
7th August 2009, 22:34
What doesn't it work with yet?

--b-pyramidWhat happens if I enable --b-pyramid with mbtree enabled? Is --b-pyramid automatically forced-disabled until I disable mbtree?

BTW, thanks for this great new code, DS (and Pengvado).

EDIT: Ok, thnx for the answer J_Darnley. I was too lazy to test it out myself :-P

J_Darnley
7th August 2009, 22:43
Yes, B-pyramid is disabled.

rack04
7th August 2009, 23:00
What are you thoughts on the size of the statsfile? I understand this is a necessary file but I just completed 1st pass and the size of the statsfile is a little over 500mb. Being a default option I wonder if the size of this file might pose a problem.

Dark Shikari
7th August 2009, 23:02
What are you thoughts on the size of the statsfile? I understand this is a necessary file but I just completed 1st pass and the size of the statsfile is a little over 500mb. Being a default option I wonder if the size of this file might pose a problem.If you have room for your output video, you surely have room for the statsfile ;)

rack04
7th August 2009, 23:04
If you have room for your output video, you surely have room for the statsfile ;)

Good point. I was just surprised by the size. Thanks.

Raere
7th August 2009, 23:36
My completely unscientific test:

Encoded the season 1 Stargate Atlantis opening (crf 25)

no MB tree (b-pyramid on)


x264 [info]: SSIM Mean Y:0.9642903
x264 [info]: PSNR Mean Y:42.396 U:49.296 V:50.054 Avg:43.650 Global:39.904 kb/s:997.48
encoded 1456 frames, 6.24 fps, 997.64 kb/s

[memory usage at finish was 719MB]

MB tree (rc-lookahead 40)


x264 [info]: SSIM Mean Y:0.9655772
x264 [info]: PSNR Mean Y:42.021 U:48.948 V:49.683 Avg:43.276 Global:40.204 kb/s:931.08
encoded 1456 frames, 6.10 fps, 931.24 kb/s

[memory usage at finish was 790MB]

MB tree (rc-lookahead 48)


x264 [info]: SSIM Mean Y:0.9655575
x264 [info]: PSNR Mean Y:42.015 U:48.950 V:49.683 Avg:43.271 Global:40.199 kb/s:931.86
encoded 1456 frames, 6.08 fps, 932.01 kb/s

[memory usage at finish was 785MB]

MB tree (rc-lookahead 64)


x264 [info]: SSIM Mean Y:0.9655707
x264 [info]: PSNR Mean Y:42.021 U:48.956 V:49.676 Avg:43.276 Global:40.204 kb/s:931.64
encoded 1456 frames, 6.12 fps, 931.80 kb/s

[memory usage at finish was 839MB]

wyti
8th August 2009, 01:14
mbtree requires aq >= 1, but does aq-strength (if != 0) affect the intensity of the mbtree ?

Dark Shikari
8th August 2009, 01:15
mbtree requires aq >= 1, but does aq-strength (if != 0) affect the intensity of the mbtree ?No, but AQ does affect the internal logic of MB-tree (not in a plus or minus strength way, but more subtly).

imk
8th August 2009, 01:26
I did an encode of Touhou last night.

There's two viewable versions:
http://imk.cx/videos/INExtraStage.html (Uses Flash)
http://imk.cx/videos/INExtraStage.html5 (Uses HTML5 <video> tag -- Only works with Chrome or Safari, as Firefox only supports Theora)

The MP4 is directly downloadable from here:
http://imk.cx/videos/files/INExtraStage.mp4 (289 MB)


Encoding settings (using r1195 with RC1 patch):
--preset placebo --tune touhou --crf 25

cacepi
8th August 2009, 01:39
OMG, i just can't wait ;)

Why wait?

GSOC project to get p-frames on x264 (http://repo.or.cz/w/x264/x264-p-frames.git)

kemuri-_9
8th August 2009, 03:27
Does mb-tree have a grudge against extremely short clips (like 36 frames)? I can never get it to encode. It would finish, but the resulting .h264 file is 0 bytes.

there's a known issue that if the frame delay is greater than the length of the input source, it will generally fail to work.
this delay value is dependent on a few settings:

if( h->param.i_bframe_adaptive == X264_B_ADAPT_TRELLIS )
h->frames.i_delay = X264_MAX(h->param.i_bframe,3)*4 + h->param.i_threads - 1;
else
h->frames.i_delay = h->param.i_bframe + h->param.i_threads - 1;
if( h->param.rc.b_mb_tree )
h->frames.i_delay = X264_MAX( h->frames.i_delay, h->param.rc.i_lookahead );


with the default value of rc-lookahead at 40, it's longer than your clip's length,
so either reduce rc-lookahead or don't use mbtree until this is corrected.

Dark Shikari
8th August 2009, 03:28
This will hopefully be fixed soon. Harass akupenguin about it.

Chengbin
8th August 2009, 03:33
akupenguin, where are you? (No just kidding)

Looks like I shouldn't have deleted my comment. I deleted it because it's not working with longer clips as well. It works with another clip (not that short though). I'm investigating this issue. I'll try rebooting the computer.

Urghh, I really should do further testing before asking. It does work with longer clips.

Also (there I go again), even with --no-mbtree, it doesn't encode the 36 frame clip. Even with an older version of x264. How did I encode it before???

Revgen
8th August 2009, 08:40
Got 83.70957253 SSIM with regular x264.

Got 83.86610669 SSIM with MBTree.

So technically it's an improvement.

Used Me-GUI settings program --profile high --pass 2 --bitrate 1320 --stats ".stats" --keyint 240 --min-keyint 24 --b-adapt 2 --b-pyramid --direct auto --subme 9 --trellis 2 --partitions all --thread-input --output "output" "input" on a 1 hour 7 minute black and white movie.

Couldn't really see any difference watching it with my own eyes. Perhaps it'll be better once B-pyramid support comes along.

Kurtnoise
8th August 2009, 09:53
Could you update this too ?

FAQ:

How do I use it?

It's on by default. --no-mbtree turns it off.

What doesn't it work with yet?

--b-pyramid

How can I tweak it?

--rc-lookahead; default is 40, higher takes more memory and is slower, but should give better results. It's probably overkill for most sources. If you get crashes immediately after the lookahead fills up, you probably ran out of memory (max is 2GB for x264 on 32-bit Windows).

--qcomp; works the same as it did before with actual qcomp, higher numbers lower MB-tree strength.



Maybe, adding this also can help some people for --rc-lookahead:
min = 0
max = max GOP size (default 250)

and for mb-tree:
if (mb-tree on) and (aq-mode = 0) then -aq-mode = 1
if (mb-tree on) and (b-pyramid on) then b-pyramid is off (x264 displays a warning anyway)





:thanks:

burfadel
8th August 2009, 10:56
rc lookahead of 250 is probably a bit excessive, maybe 150 max... although thats still high and may not prove beneficial over say, 80. Either way as DS has said its clipped to keyint anyway.