『漫游』酷论坛>『影音数码技术学习交流』>[聊天]火星发现,megui ..

[聊天]火星发现,megui能用64位的x264了

eva2015@2010-01-09 23:07

无意间打开megui的tools目录,发现了一些没见过的东西:x264_64.exe,avs4x264.exe,avisynth_c.h,x264_64_wrap.c等等。
打开x264_64_wrap.c,发现这么一句:
You can use this software to encode videos using the 32-bit version of Avisynth with the 64-bit version of x264 under Windows.
于是窃喜,终于能体验到64位计算的优势了。

经过多次测试,发现几乎只有0.Xfps的进步,于是更新了最新版,反而是32位的更块了。。。
难道是64位对视频编码没有提速作用?至少我用7zip压wav之类的东西能至少提速10%的。
引用

roozhou@2010-01-09 23:23

多进程的性能损失很大的,windows下用pipe就更不用说了

你直接用x264.exe编码Y4M文件,64位的应该比32位的快;如果64位的是用pipe实现的,那这个优势可能就被抵消了。

很快x264就可以支持内置ffmpeg解码了,到时候就不用这种脑残的方式了
引用

蓝の回忆@2010-01-10 09:17

我上次还奇怪avs4x264是干什么的....又退回古老的1183了...
引用

squallatf@2010-01-10 22:32

实测数据来看 即使是pipe 都比32位 快10%左右
引用

eva2015@2010-01-10 23:08

引用
最初由 squall617 发布
实测数据来看 即使是pipe 都比32位 快10%左右


不是吧,你怎么测的,我怎么看不出区别:(
引用

squallatf@2010-01-10 23:21

引用
最初由 eva2015 发布


不是吧,你怎么测的,我怎么看不出区别:(

avs直接扔32位的x264
avs2yuv pipe 到64位的x264
x264用相同的参数,最后结果平均fps做比较
复制代码
  1. G:\RIP\EVA1.11>E:\msys\src\x264\x264.1376.core2 --partitions all --direct auto --level 4.1 --crf 22 --ref 3 --threads auto --weightp 1 --aq-strength 0 --me esa --subme 9 --trellis 2 --no-fast-pskip --psnr --ssim -o EVAtest.mp4 EVA.avs
  2. avs [info]: 1920x1080 @ 23.98 fps (375 frames)
  3. x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
  4. x264 [info]: profile High, level 4.1
  5. mp4 [info]: initial delay 1001 (scale 24000)
  6. x264 [info]: frame I:11 Avg QP:23.00 size: 41937 PSNR Mean Y:50.76 U:51.70 V:51.18 Avg:50.89 Global:50.65
  7. x264 [info]: frame P:267 Avg QP:25.74 size: 17018 PSNR Mean Y:48.41 U:49.59 V:49.35 Avg:48.62 Global:48.37
  8. x264 [info]: frame B:97 Avg QP:27.00 size: 11797 PSNR Mean Y:45.79 U:49.12 V:48.75 Avg:46.57 Global:46.40
  9. x264 [info]: consecutive B-frames: 58.2% 16.5% 6.6% 18.7%
  10. x264 [info]: mb I I16..4: 55.5% 40.5% 4.0%
  11. x264 [info]: mb P I16..4: 21.6% 7.8% 0.4% P16..4: 32.5% 2.8% 3.6% 0.0% 0.0% skip:31.2%
  12. x264 [info]: mb B I16..4: 2.6% 3.0% 0.3% B16..8: 28.8% 0.8% 0.8% direct: 3.8% skip:60.0% L0:43.7% L1:53.8% BI: 2.5%
  13. x264 [info]: 8x8 transform intra:29.2% inter:90.5%
  14. x264 [info]: direct mvs spatial:95.9% temporal:4.1%
  15. x264 [info]: coded y,uvDC,uvAC intra: 15.5% 43.8% 9.0% inter: 8.6% 22.1% 0.7%
  16. x264 [info]: i16 v,h,dc,p: 34% 24% 8% 34%
  17. x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 8% 12% 14% 9% 13% 10% 15% 9% 11%
  18. x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 14% 9% 7% 15% 10% 15% 7% 12%
  19. x264 [info]: ref P L0: 51.5% 19.8% 21.1% 7.6%
  20. x264 [info]: ref B L0: 76.2% 23.8%
  21. x264 [info]: SSIM Mean Y:0.9883829
  22. x264 [info]: PSNR Mean Y:47.800 U:49.534 V:49.248 Avg:48.157 Global:47.816 kb/s:3145.36
  23. encoded 375 frames, 6.79 fps, 3145.36 kb/s
  24. G:\RIP\EVA1.11>avs2yuv -raw EVA.avs -|E:\msys\src\x264\x264_x64.1376.core2 --partitions all --direct auto --level 4.1 --crf 22 --ref 3 --threads auto --weightp 1 --aq-strength 0 --me esa --subme 9 --trellis 2 --no-fast-pskip --psnr --ssim -o EVAtest_x64.mp4 --fps 24000/1001 --frames 375 - 1920x1080
  25. x264 [info]: 1920x1080 @ 23.98 fps
  26. x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
  27. x264 [info]: profile High, level 4.1
  28. mp4 [info]: initial delay 1001 (scale 24000)
  29. EVA.avs: 1920x1080, 24000/1001 fps, 375 frames
  30. x264 [info]: frame I:11 Avg QP:23.00 size: 41937 PSNR Mean Y:50.76 U:51.70 V:51.18 Avg:50.89 Global:50.65
  31. x264 [info]: frame P:267 Avg QP:25.74 size: 17018 PSNR Mean Y:48.41 U:49.59 V:49.35 Avg:48.62 Global:48.37
  32. x264 [info]: frame B:97 Avg QP:27.00 size: 11797 PSNR Mean Y:45.79 U:49.12 V:48.75 Avg:46.57 Global:46.40
  33. x264 [info]: consecutive B-frames: 58.2% 16.5% 6.6% 18.7%
  34. x264 [info]: mb I I16..4: 55.5% 40.5% 4.0%
  35. x264 [info]: mb P I16..4: 21.6% 7.8% 0.4% P16..4: 32.5% 2.8% 3.6% 0.0% 0.0% skip:31.2%
  36. x264 [info]: mb B I16..4: 2.6% 3.0% 0.3% B16..8: 28.8% 0.8% 0.8% direct: 3.8% skip:60.0% L0:43.7% L1:53.8% BI: 2.5%
  37. x264 [info]: 8x8 transform intra:29.2% inter:90.5%
  38. x264 [info]: direct mvs spatial:95.9% temporal:4.1%
  39. x264 [info]: coded y,uvDC,uvAC intra: 15.5% 43.8% 9.0% inter: 8.6% 22.1% 0.7%
  40. x264 [info]: i16 v,h,dc,p: 34% 24% 8% 34%
  41. x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 8% 12% 14% 9% 13% 10% 15% 9% 11%
  42. x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 14% 9% 7% 15% 10% 15% 7% 12%
  43. x264 [info]: ref P L0: 51.5% 19.8% 21.1% 7.6%
  44. x264 [info]: ref B L0: 76.2% 23.8%
  45. x264 [info]: SSIM Mean Y:0.9883829
  46. x264 [info]: PSNR Mean Y:47.800 U:49.534 V:49.248 Avg:48.157 Global:47.816 kb/s:3145.36
  47. encoded 375 frames, 7.35 fps, 3145.36 kb/s


这里的测试快了8.2%。pipe的时候要加上--frames的参数,不然速度确实和32位相差无几。不加--frames如下

复制代码
  1. G:\RIP\EVA1.11>avs2yuv -raw EVA.avs -|E:\msys\src\x264\x264_x64.1376.core2 --partitions all --direct auto --level 4.1 --crf 22 --ref 3 --threads auto --weightp 1 --aq-strength 0 --me esa --subme 9 --trellis 2 --no-fast-pskip --psnr --ssim -o EVAtest_x64.mp4 --fps 24000/1001 - 1920x1080
  2. x264 [info]: 1920x1080 @ 23.98 fps
  3. x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
  4. x264 [info]: profile High, level 4.1
  5. mp4 [info]: initial delay 1001 (scale 24000)
  6. EVA.avs: 1920x1080, 24000/1001 fps, 375 frames
  7. x264 [info]: frame I:11 Avg QP:23.00 size: 41937 PSNR Mean Y:50.76 U:51.70 V:51.18 Avg:50.89 Global:50.65
  8. x264 [info]: frame P:267 Avg QP:25.74 size: 17018 PSNR Mean Y:48.41 U:49.59 V:49.35 Avg:48.62 Global:48.37
  9. x264 [info]: frame B:97 Avg QP:27.00 size: 11797 PSNR Mean Y:45.79 U:49.12 V:48.75 Avg:46.57 Global:46.40
  10. x264 [info]: consecutive B-frames: 58.2% 16.5% 6.6% 18.7%
  11. x264 [info]: mb I I16..4: 55.5% 40.5% 4.0%
  12. x264 [info]: mb P I16..4: 21.6% 7.8% 0.4% P16..4: 32.5% 2.8% 3.6% 0.0% 0.0% skip:31.2%
  13. x264 [info]: mb B I16..4: 2.6% 3.0% 0.3% B16..8: 28.8% 0.8% 0.8% direct: 3.8% skip:60.0% L0:43.7% L1:53.8% BI: 2.5%
  14. x264 [info]: 8x8 transform intra:29.2% inter:90.5%
  15. x264 [info]: direct mvs spatial:95.9% temporal:4.1%
  16. x264 [info]: coded y,uvDC,uvAC intra: 15.5% 43.8% 9.0% inter: 8.6% 22.1% 0.7%
  17. x264 [info]: i16 v,h,dc,p: 34% 24% 8% 34%
  18. x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 8% 12% 14% 9% 13% 10% 15% 9% 11%
  19. x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 14% 9% 7% 15% 10% 15% 7% 12%
  20. x264 [info]: ref P L0: 51.5% 19.8% 21.1% 7.6%
  21. x264 [info]: ref B L0: 76.2% 23.8%
  22. x264 [info]: SSIM Mean Y:0.9883829
  23. x264 [info]: PSNR Mean Y:47.800 U:49.534 V:49.248 Avg:48.157 Global:47.816 kb/s:3145.36
  24. encoded 375 frames, 6.82 fps, 3145.36 kb/s


ps 今天还测试了x264 LAVF/FFMS input public beta test (v2.1),64位比32位快11%,不过它检测片源fps类型的误差较大(只测试了m2ts,有错请指正),把cfr认成vfr,导致最终的成品fps不正确。并且貌似还没办法挂字幕,所以没啥实际用途。
引用

eva2015@2010-01-10 23:47

是x264.exe命令行后面加--frames么?那岂不是每次压片先要看视频有多少帧?

x264_x64.1376.core2是哪来的,有amd的么。
引用

squallatf@2010-01-11 10:25

引用
最初由 eva2015 发布
是x264.exe命令行后面加--frames么?那岂不是每次压片先要看视频有多少帧?

x264_x64.1376.core2是哪来的,有amd的么。

自行编译的,megui提供的那个avs4x264会自动读取帧数信息填入x264的参数。
引用

eva2015@2010-01-11 14:08

才发现你不是用megui测的。我测的时候怎么也看不出区别,于是用x264_64.exe替换x264.exe,还是看不出区别。

逛doom9,发现了个测试软件x264launcher,大概测了一下,发现有不到5%的提升,这难道是amd特有的悲剧么。
引用

squallatf@2010-01-11 14:55

megui 又更新了,修改了avs4x264的代码
ps megui调用avs4x264才是调用的64位的x264
x264_64的名字不能改
64位的x264不能直接读取avs。

然后是据说megui会比直接用命令行要慢
引用

uc0083@2010-01-12 00:53

我以前用64位的avs时测过是有10%的速度提升,后来。。。我一般都用mediacoder里的x64的x264了,也懒得比较了
引用

eva2015@2010-01-12 13:50

升级到1061,发现貌似可以调用64位x264了,可还是悲剧...简化版log:
--[NoImage] MeGUI Version : 0.3.1.1061
--[NoImage] OS : Windows Seven x64 (6.1.0.7600) 我用的是2008R2
--[NoImage] Latest .Net Framework installed : 3.5 SP1 (3.5.30729.4926)
--[NoImage] Avisynth Version : 2.5.8.5

--[NoImage] Job commandline: "D:\Program Files\megui\tools\x264\vfw4x264.exe" --profile high --level 4.1 --tune film --bitrate 1000 --thread-input --bframes 6 --b-adapt 2 --ref 1 --ratetol 1.5 --direct auto --subme 1 --partitions none --no-8x8dct --trellis 0 --no-fast-pskip --psnr --sar 1:1 --output "D:\b.mkv" "D:\b.avs"
--[Information] [2010-1-12 13:25:34] Encoding started

---[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Slow

---[NoImage] x264 [info]: PSNR Mean Y:49.846 U:51.722 V:53.931 Avg:50.188 Global:48.416 kb/s:1037.61
---[NoImage] encoded 8551 frames, 45.60 fps, 1037.61 kb/s


--[NoImage] Job commandline: "D:\Program Files\megui\tools\x264\x264.exe" --profile high --level 4.1 --tune film --bitrate 1000 --thread-input --bframes 6 --b-adapt 2 --ref 1 --ratetol 1.5 --direct auto --subme 1 --partitions none --no-8x8dct --trellis 0 --no-fast-pskip --psnr --sar 1:1 --output "D:\b.mkv" "D:\b.avs"

---[NoImage] x264 [info]: using cpu capabilities: MMX2 SSE2Slow

---[NoImage] x264 [info]: PSNR Mean Y:49.846 U:51.722 V:53.931 Avg:50.188 Global:48.416 kb/s:1037.61
---[NoImage] encoded 8551 frames, 46.63 fps, 1037.61 kb/s

竟然还是32位的快。。。还是期待全64位吧
引用

| TOP