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

现在最新这十几版mpc-hc开始支持动态字幕缓冲

楼层直达
级别: 圣骑士
注册时间:
2003-05-21
在线时间:
17小时
发帖:
2319
最少在104x版时好象还不觉有这东西 (我一直有在看版本更新log, 择需更新mpc-hc)
突然就多了这个和renderer Settings, shaders也多了点东西…(这些几时加上去的…)

Subtitles反勾选Disable animation
一直不明白动态字幕为什么不能“预做”要“0缓冲”即时做
现在好了, 软硬解也行
尤其1080P硬解, 之前“0缓冲”的动态字幕在某些画面时画面会掉帧, 现在同位置画面不掉帧了

但有些动态字幕在字幕缓冲下会闪字幕, 是动态字幕制作技巧的问题吧
希望以后的动态字幕, 会相容字幕缓冲就好了, 唔再闪字幕呢

1053版或后内置的HD硬解有小bug勿用, 等fix
1053修正内置软解HD某什么1088、1080问题但却也影响了硬解, 建议用1053版前或等fix版

想问问
shaders那个Screen Space Pixel Shaders是什么?

123987
i hate and

The future is FX.
No more waiting, Unlock your power consumption now


Get Fake 8-Core FX Processor Black Saber Edition in Your System
More power consumption when you need it most with 1.2B/2B Tr.


Hitl○r MAD's Choice Award "But coupling that with the Fermis we're already using, the power bill would kill me!"
Dark History PC: FX central processing | Fermi graphic processing Inside

想象,就是缺乏想象

由 ROLL 于 01-19-2038 03:14 最后编辑
级别: 新手上路
注册时间:
2007-05-07
在线时间:
1小时
发帖:
447
只看该作者 1楼 发表于: 2009-04-20
资源占有怎么样?vsfilter在高分辨率下渲染动态字幕实在让人泪流满面
但是没办法,以前是只能用他
级别: 侠客
注册时间:
2003-05-04
在线时间:
1小时
发帖:
483
只看该作者 2楼 发表于: 2009-04-20
我想请教下楼主那个字幕的buffer设多少比较好,还有evr buffer的用处。谢谢~
级别: 新手上路
注册时间:
2007-05-07
在线时间:
1小时
发帖:
447
只看该作者 3楼 发表于: 2009-04-20
引用
最初由 sin.yugi 发布
我想请教下楼主那个字幕的buffer设多少比较好,还有evr buffer的用处。谢谢~

开了buffer就没动态了,所以设0
evr buffer没见过,可能因为我用的不是vista内核
试了一下1080P的BDRIP卡拉OK可以全速,CPU占用30%(DXVA)
关掉字幕CPU占有率是在个位数徘徊不定,如果打开字幕与缓冲(既取消动态效果)也只略微上升,当然overlay这种对于MPC来说可以算极端情况的不讨论了
降低纹理精度以后就算打开动态效果CPU占有率也不高(我本来是选的1920*1200,缩成640*480以后速度和没动态差不多了)
看来vsfilter速度慢的问题有两个:1,单线程 2,纹理精度永远等于视频分辨率
不能DXVA倒是次要的,因为vsfilter即使配合coreavc的cuda在高分辨率下还是极其容易丢帧
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 4楼 发表于: 2009-04-20
纹理设置---》最大纹理分辨率 是什么意思?

级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 5楼 发表于: 2009-04-20
vsfilter用GDI绘制文字,不慢才怪呢,如果直接调用D3D接口在显存中绘制字幕应该能快很多。

关于缓冲的问题,由于b帧的存在AVC解码都是有延迟的,在有b_pyramid的情况下,CoreAVC解码有4帧的延迟,所以vsfilter可以用一个单独的线程缓冲4帧,这样理论上是不会卡的。
级别: 精灵王
注册时间:
2004-07-26
在线时间:
18小时
发帖:
3730
只看该作者 6楼 发表于: 2009-04-20
由 ROLL 于 01-19-2038 03:14 最后编辑


很好, 到處都是未來人, 我整個人都 涼宮了..



沉默是金................
懂得不多,就单单学会点人家传授的皮毛就一付不得了了的语气的,让人看了就只会觉得他是小丑~ 有本事自创一个有新意的理论..

高手不是挂在嘴上的~~ 挂在嘴上的叫高嘴
谦虚是美德~

  
¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤¤
  
========================================
免费诊测你的IP~~ :p :p (看不到说明有RPWT)
级别: 风云使者
注册时间:
2006-03-12
在线时间:
54小时
发帖:
6604
只看该作者 7楼 发表于: 2009-04-20
引用
最初由 ZhenGod 发布
由 ROLL 于 01-19-2038 03:14 最后编辑



:confused:

级别: 工作组
注册时间:
2007-08-23
在线时间:
0小时
发帖:
683
只看该作者 8楼 发表于: 2009-04-20
引用
最初由 ZhenGod 发布
由 ROLL 于 01-19-2038 03:14 最后编辑


这个...貌似是LZ签名的一部分...
级别: 圣骑士
注册时间:
2003-05-21
在线时间:
17小时
发帖:
2319
只看该作者 9楼 发表于: 2009-04-20
话说vsfilter我四、五年前就不用了, 它的动态字幕比同样0缓冲但内置在mpc-hc内的cpu占用还高
在cpu不够力时, vsfilter丢帧丢更直

字幕buffer设3就可以了
和D3D/OGL一样, 2是Double Buffering, 3就是Triple Buffering
在当前您所看到的画面帧外, 幕后还预先绘制了的帧数目
0/1应该是一样吧, 即时绘制
2是幕后预先绘制1帧待用, 3则是幕后预先绘制2帧, 后同

d3d基本就是预绘3帧(包当前帧), 是Triple Buffering
所以VMR9、3D surfaces嘛, 字幕buffer设3就可以了

evr buffer是一样的东西吧, 忘了…

我不是vista, xp的evr用不了mpc-hc内置字幕功能, 可能在vista是用到的吧
Haali则硬解時用不了mpc-hc内置字幕功能, 用不了内置字幕的renderer对我来说基本等于没用

>我本来是选的1920*1200,缩成640*480以后速度和没动态差不多了
字幕纹理需要设这么高吗,其实最高1024*768也很行了吧
在1024横向下应该已可以在不失清淅度下容纳不少的文字了吧

>纹理设置---》最大纹理分辨率 是什么意思?
你设次384*288看看就明白了
就是将外挂字幕上的文字之类的在这个纹理尺寸(你可想象为图纸)上描绘,纹理尺寸越高精度、清淅度当然越高

123987
i hate and

The future is FX.
No more waiting, Unlock your power consumption now


Get Fake 8-Core FX Processor Black Saber Edition in Your System
More power consumption when you need it most with 1.2B/2B Tr.


Hitl○r MAD's Choice Award "But coupling that with the Fermis we're already using, the power bill would kill me!"
Dark History PC: FX central processing | Fermi graphic processing Inside

想象,就是缺乏想象

由 ROLL 于 01-19-2038 03:14 最后编辑
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 10楼 发表于: 2009-04-20
引用
最初由 ROLL 发布
话说vsfilter我四、五年前就不用了, 它的动态字幕比同样0缓冲但内置在mpc-hc内的cpu占用还高
在cpu不够力时, vsfilter丢帧丢更直

字幕buffer设3就可以了
和D3D/OGL一样, 2是Double Buffering, 3就是Triple Buffering
在当前您所看到的画面帧外, 幕后还预先绘制了的帧数目
0/1应该是一样吧, 即时绘制
2是幕后预先绘制1帧待用, 3则是幕后预先绘制2帧, 后同

d3d基本就是预绘3帧(包当前帧), 是Triple Buffering
所以VMR9、3D surfaces嘛, 字幕buffer设3就可以了

evr buffer是一样的东西吧, 忘了…

我不是vista, xp的evr用不了mpc-hc内置字幕功能, 可能在vista是用到的吧
Haali则硬解時用不了mpc-hc内置字幕功能, 用不了内置字幕的renderer对我来说基本等于没用



MPC-HC内置的就是vsfilter啊,代码都一样的,standalone的就是vsfilter.dll了。DirectVobSub渲染和MPC-HC用VMR渲染性能上唯一有区别的地方是,前者用软件方式将绘制好的字幕alphablt到视频画面上,后者则通过D3D里的函数直接将字幕和视频进行alphablend。因为大部分视频是YV12的,软件方式将RGB32 alphablt 到YV12上速度比较慢,所以可能会慢一点。但考虑到VMR9本身就比Overlay Mixer要多占很多CPU,所以用DirectVobSub+Overlay未必比VMR9慢。

P.S. ffdshow的字幕滤镜比vsfilter快很多,如果只是简单的卡拉OK完全可以用ffdshow
级别: 圣骑士
注册时间:
2003-05-21
在线时间:
17小时
发帖:
2319
只看该作者 11楼 发表于: 2009-04-20
我只感觉它们挂在的地方不一样
用vsfilter就感觉它有附加瓶颈,我不是专业,感觉就是filter graph上D画面帧扔到vsfilter后有瓶颈

我以前曾测过mpc内的VMR9 mixer mode开和关,在vsfilter和mpc的内置字幕分别

(在软解下, VMR9 mixer mode在cpu不够力时, 会丢帧维持声音动态字幕同歩, 不开就等着不同歩(笑)
而在硬解时不开启VMR9 mixer又会比开时的好一点, 以前在“0缓冲”时测过)

mpc-hc的内置字幕,我不知它的线程/filter什么的是挂在那里,总之结果就是比挂vsfilter为好

123987
i hate and

The future is FX.
No more waiting, Unlock your power consumption now


Get Fake 8-Core FX Processor Black Saber Edition in Your System
More power consumption when you need it most with 1.2B/2B Tr.


Hitl○r MAD's Choice Award "But coupling that with the Fermis we're already using, the power bill would kill me!"
Dark History PC: FX central processing | Fermi graphic processing Inside

想象,就是缺乏想象

由 ROLL 于 01-19-2038 03:14 最后编辑
级别: 圣骑士
注册时间:
2003-05-21
在线时间:
17小时
发帖:
2319
只看该作者 12楼 发表于: 2009-04-20
>RGB32、YV12、Overlay
Overlay用不了Shaders
RGB32…ffdshow有优化用core的ssee3定sse4.1转换, 不过我用A记U的…
ram用的也不是ddr2, 显卡也是低阶的, RGB32留番比其他人用吧, 软解, 我YV12 VMR9挂0-255 Shaders就行了

123987
i hate and

The future is FX.
No more waiting, Unlock your power consumption now


Get Fake 8-Core FX Processor Black Saber Edition in Your System
More power consumption when you need it most with 1.2B/2B Tr.


Hitl○r MAD's Choice Award "But coupling that with the Fermis we're already using, the power bill would kill me!"
Dark History PC: FX central processing | Fermi graphic processing Inside

想象,就是缺乏想象

由 ROLL 于 01-19-2038 03:14 最后编辑
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 13楼 发表于: 2009-04-20
引用
最初由 ROLL 发布
>RGB32、YV12、Overlay
Overlay用不了Shaders
RGB32…ffdshow有优化用core的ssee3定sse4.1转换, 不过我用A记U的…
ram用的也不是ddr2, 显卡也是低阶的, RGB32留番比其他人用吧, 软解, 我YV12 VMR9挂0-255 Shaders就行了


字幕这部分貌似没用上ssse3和sse4.1,而且这两个东西本来用处就不大。
我不知道一般看片shader到底有什么用,如果level不对的话在显卡控制面板里设一下就行了。
级别: 精灵王
注册时间:
2008-04-08
在线时间:
44小时
发帖:
2855
只看该作者 14楼 发表于: 2009-04-20
引用
最初由 ROLL 发布
我只感觉它们挂在的地方不一样
用vsfilter就感觉它有附加瓶颈,我不是专业,感觉就是filter graph上D画面帧扔到vsfilter后有瓶颈

我以前曾测过mpc内的VMR9 mixer mode开和关,在vsfilter和mpc的内置字幕分别

(在软解下, VMR9 mixer mode在cpu不够力时, 会丢帧维持声音动态字幕同歩, 不开就等着不同歩(笑)
而在硬解时不开启VMR9 mixer又会比开时的好一点, 以前在“0缓冲”时测过)

mpc-hc的内置字幕,我不知它的线程/filter什么的是挂在那里,总之结果就是比挂vsfilter为好


你说的vsfilter是指DirectVobSub吧,请不要混淆了。
DVobSub的附加瓶颈就是他是接在decoder之后而不是和decoder平行的。
我看片用mplayer或者KMP/PotPlayer,从来不用mpc,很大原因就是字幕一定要VMR7/9,而KMP和mplayer都能在overlay mixer下加字幕。
快速回复

限150 字节
上一个 下一个