搜索 社区服务 统计排行 帮助
  • 5287阅读
  • 31回复

[思考] 64位系统压片的一些焦虑的问题...

楼层直达
级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 15楼 发表于: 2010-03-19
SetMTmode(2) 先宣告的話
MT就可以調用看要用哪些filter進去了
這幾天剛研究這東西
例如
SetMTmode(2)
MT("""tnlmeans(ms=true,a=1000.0)""",threads=12)
就不會讓vfw4x264.exe因為directshowsource()使用12線導致記憶體佔滿超過2GB而崩壞

级别: 工作组
注册时间:
2005-07-15
在线时间:
7小时
发帖:
705
只看该作者 16楼 发表于: 2010-03-19
仰望爱妻的楼主大大



蒼き清浄なる世界の為に

引用
绿叶之砚 21:55:35
切,那些个腐女怎么能和我比

:o
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 17楼 发表于: 2010-03-20
引用
最初由 翡璃月 发布
SetMTmode(2) 先宣告的話
MT就可以調用看要用哪些filter進去了
這幾天剛研究這東西
例如
SetMTmode(2)
MT("""tnlmeans(ms=true,a=1000.0)""",threads=12)
就不會讓vfw4x264.exe因為directshowsource()使用12線導致記憶體佔滿超過2GB而崩壞


看看我现在的AVS脚本,是否正确:(32位 avisynth mt)

SetMTMode(2,1)
============
Loadplugin脚本略
============
s=dgmultisource("f:\cctvhd.dgi")
SetMTMode(16)
s=s.tdeint().bilinearResize(1280,720).vinverse().gradfun2db(thr=2.1)
return s

dgmultisource("f:\cctvhd.dgi")-> 这个多线程貌似会卡...因为用显卡的...

1280x720下,x264利用率更低...只有30%...14fps.

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 18楼 发表于: 2010-03-20
压片用gradfun2db?
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 19楼 发表于: 2010-03-20
更换了64位的avisynth MT

压CCAV-HD的sample, 做tdeint和简单undot.

此时CPU终于有了90%以上的占用率

C:\>x264_64.exe --pass 1 --bitrate 2940 --stats "d:\sub\orz\dh1.stats" --level 4
.1 --threads auto --thread-input --bframes 4 --me dia --ref 1 --subme 1 --no-dct
-decimate --output NUL "d:\dllsx64\test1.AVS"
avs [info]: 1280x720p 0:0 @ 25/1 fps (cfr)
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [info]: profile Main, level 4.1
x264 [info]: frame I:325 Avg QP:16.08 size:114586
x264 [info]: frame P:24467 Avg QP:19.44 size: 32049
x264 [info]: frame B:43698 Avg QP:22.12 size: 4484
x264 [info]: consecutive B-frames: 11.1% 17.6% 8.4% 12.1% 50.9%
x264 [info]: mb I I16..4: 30.7% 0.0% 69.3%
x264 [info]: mb P I16..4: 27.2% 0.0% 0.0% P16..4: 56.9% 0.0% 0.0% 0.0% 0
.0%skip:15.9%
x264 [info]: mb B I16..4: 2.1% 0.0% 0.0% B16..8: 14.5% 0.0% 0.0% direct:
14.2% skip:69.2% L0:35.6% L1:50.3% BI:14.1%
x264 [info]: final ratefactor: 20.07
x264 [info]: coded y,uvDC,uvAC intra: 52.8% 59.1% 25.0% inter: 21.3% 22.6% 6.8%
x264 [info]: i16 v,h,dc,p: 34% 24% 19% 23%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 18% 21% 14% 8% 8% 7% 8% 7% 9%
x264 [info]: Weighted P-Frames: Y:14.7%
x264 [info]: kb/s:2970.70

encoded 68490 frames, 60.34 fps, 2970.70 kb/s

C:\>
C:\>x264_64.exe --pass 2 --bitrate 2940 --stats "d:\sub\orz\dh1.stats" --level 4
.1 --ref 3 --mixed-refs --bframes 4 --b-adapt 2 --b-pyramid 2 --weightb --direct
auto --deblock -1:-1 --subme 9 --trellis 2 --sar 1:1 --psy-rd 1.0:0.2 --partiti
ons p8x8,b8x8,i4x4,i8x8 --8x8dct --merange 32 --me umh --threads auto --output "
f:\dh1.264" "d:\dllsx64\test.AVS"
avs [info]: 1280x720p 1:1 @ 25/1 fps (cfr)
x264 [info]: using SAR=1/1
x264 [info]: using cpu capabilities: MMX2 SSE2Fast SSSE3 FastShuffle SSE4.2
x264 [warning]: direct=auto not used on the first pass
x264 [info]: profile High, level 4.1
x264 [info]: frame I:325 Avg QP:17.02 size:112504
x264 [info]: frame P:24467 Avg QP:20.16 size: 30204
x264 [info]: frame B:43698 Avg QP:23.48 size: 5293
x264 [info]: consecutive B-frames: 11.1% 17.6% 8.4% 12.1% 50.9%
x264 [info]: mb I I16..4: 15.9% 69.2% 14.8%
x264 [info]: mb P I16..4: 4.5% 9.3% 0.6% P16..4: 43.7% 16.2% 9.3% 0.0% 0
.0%skip:16.5%
x264 [info]: mb B I16..4: 0.1% 0.3% 0.0% B16..8: 45.3% 0.6% 1.0% direct:
2.5% skip:50.2% L0:37.9% L1:44.2% BI:17.9%
x264 [info]: 8x8 transform intra:65.4% inter:69.5%
x264 [info]: direct mvs spatial:20.6% temporal:79.4%
x264 [info]: coded y,uvDC,uvAC intra: 61.7% 74.5% 51.5% inter: 18.7% 26.3% 3.3%
x264 [info]: i16 v,h,dc,p: 56% 16% 7% 21%
x264 [info]: i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 10% 9% 8% 9% 12% 12% 13% 12% 14%
x264 [info]: i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 12% 12% 5% 8% 13% 12% 12% 11% 14%
x264 [info]: Weighted P-Frames: Y:14.7%
x264 [info]: ref P L0: 52.8% 22.7% 14.1% 8.3% 2.2%
x264 [info]: ref B L0: 87.4% 11.1% 1.5%
x264 [info]: ref B L1: 90.8% 9.2%
x264 [info]: kb/s:2940.13

encoded 68490 frames, 18.21 fps, 2940.13 kb/s

C:\>
C:\>

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 20楼 发表于: 2010-03-20
tdeint居然可以MT?难道是intra-only的?
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 21楼 发表于: 2010-03-20
引用
最初由 roozhou 发布
tdeint居然可以MT?难道是intra-only的?


没有报错,片子预览的时候也没问题,就算过了.

PSST: 我采用的MT模式不是分块,而是多帧同时处理.所以呢,路论上任何插件都可以实现MT(除了我那个CUDA加速的dgdecnv...显卡就一块,多线程反而卡...)

话说你的软件有没有64位版呢?呵呵:p

哼!!人家才不是bb!!你全家都是BB!!
级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 22楼 发表于: 2010-03-20
64位不是問題
VirtualDub不是有64位版?
不然打指令也是可以直接讓x264_64.exe吃吧
問題是在於尚有頗多強大的濾鏡沒有64位的版本(前面有提過了)
所以我也還處於使用32位嫁接frame然後64位壓制的方式

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 23楼 发表于: 2010-03-20
引用
最初由 summoner 发布


没有报错,片子预览的时候也没问题,就算过了.

PSST: 我采用的MT模式不是分块,而是多帧同时处理.所以呢,路论上任何插件都可以实现MT(除了我那个CUDA加速的dgdecnv...显卡就一块,多线程反而卡...)

话说你的软件有没有64位版呢?呵呵:p

关键不是这个,并不是所有滤镜都需要mt,也不是所有滤镜都可以mt。
比如好的反交错需要知道前一帧的处理结果,如果1,3,5,7给第一个线程,2,4,6,8给另一个线程,那出来的结果可能就完全不对了。当然运行时不会出错,但画质就差了。而且CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。
级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 24楼 发表于: 2010-03-20
引用
最初由 roozhou 发布

关键不是这个,并不是所有滤镜都需要mt,也不是所有滤镜都可以mt。
比如好的反交错需要知道前一帧的处理结果,如果1,3,5,7给第一个线程,2,4,6,8给另一个线程,那出来的结果可能就完全不对了。当然运行时不会出错,但画质就差了。而且CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。


沒有錯[/TX]
還有載入影片的部分也不能夠多線程....
像是 directshowsource 之類的
雖然不會顯示錯誤
但是成品出來畫面可能會跳
因為每個線程...速度不一定相同嘛...

级别: 新手上路
注册时间:
2005-06-30
在线时间:
1小时
发帖:
529
只看该作者 25楼 发表于: 2010-03-21
ffms-mt,或者DSS直接调能多线程的Decoder嘛,为啥必须要MT+DSS呢

级别: 新手上路
注册时间:
2007-04-16
在线时间:
0小时
发帖:
69
只看该作者 26楼 发表于: 2010-03-21
不過倒是 其實多線程解碼對於一般片源來說似乎也不是必要
甚至說對效能影響是微乎其微....

级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 27楼 发表于: 2010-03-21
引用
最初由 roozhou 发布

CCTV HD是MPEG2的,解码不是瓶颈,resize也不是,tdeint的速度也能接近实时,编码才是瓶颈。


这你就错了.

我使用avs2yuv走32位dshow由管道输送到64位编码,或者干脆使用64位dshow的时候,仍然出现CPU资源无法沾满的情况.

我用vdm做过个试验. 在不使用mt的时候,预览avs时VDM的CPU占用从不超过8%,而是用mt时却能达到30%-40%.

另外 ,tdeint 在多线程下从不出错, 你可以自己做个实验

只是itvc肯定是不能用多线程走了.... 最近不压动画tvrip,蓝光都是p的不需要ivtc所以也没怎么试.

哼!!人家才不是bb!!你全家都是BB!!
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 28楼 发表于: 2010-03-21
引用
最初由 summoner 发布

我用vdm做过个试验. 在不使用mt的时候,预览avs时VDM的CPU占用从不超过8%,而是用mt时却能达到30%-40%.

只能说,多出来的22%~32%是浪费掉的。看得出来你对多线程的理解有问题。
级别: 新手上路
注册时间:
2002-12-13
在线时间:
0小时
发帖:
199
只看该作者 29楼 发表于: 2010-03-22
引用
最初由 roozhou 发布

只能说,多出来的22%~32%是浪费掉的。看得出来你对多线程的理解有问题。


处理的fps速度变快了是事实.

嘛啊怎么说我也是个程序员, mt的部分源码也看过.[/TX]

哼!!人家才不是bb!!你全家都是BB!!
快速回复

限150 字节
上一个 下一个