Re: [請問] MPC的ffdshow是不是比LAV的解碼效果好啊?

作者: web2312   2015-03-09 02:58:26
※ 引述《roex0608 (BorEXE)》之銘言:
: 會這麼說是因為我最近才知道ffdshow有所謂的一個去斷層(或叫色帶)的功能
: http://i.imgur.com/lX6VlpX.jpg
: 以往我看影片在進入畫面很昏暗的場景的時候,都會有很多色帶產生的現象,開啟這
: 功能後能夠有效減輕這個現象,見效果
: http://i.imgur.com/6w7ZQAN.jpg
: 有色帶↑
: http://i.imgur.com/lpp6vtH.jpg
: 去色帶後↑
: http://i.imgur.com/UyPtqu8.jpg
: 有色帶↑
: http://i.imgur.com/YH03OTb.jpg
: 去色帶↑
: http://i.imgur.com/KVUVMsJ.jpg
: 有色帶↑
: http://i.imgur.com/IZUYNx9.jpg
: 去色帶↑
: 這功能真是解決我長年以來的疑問,我一直以為這是我電腦配置太渣的問題,原來是可以
: 改善的
以動畫片源來說,主要是壓制時壓縮與量化造成漸層資訊失真,這可以透過調整
壓制參數與使用10-bit精度編碼來減少色帶的產生,但高壓縮設定時
能減少的色帶還是有限,所以除了選擇較好的片源(高壓制品質)外,可以透過
去色帶的後處理來進行修飾與還原,另外,有些片源是本身就包含色帶,
因此為避免色帶被直接壓進去,會在壓制串列前加一段前處理作業來去色帶與修復,
而有些壓制組則重視原始片源原始呈現,不做額外的"美工",所以您會看到壓制
出來的畫面縱使流量與壓制設定很高,還是會有色帶的出現。
: 我看LAV解碼器就沒有這種功能,那為何官方的安裝預設要用LAV呢?LAV有何優勢嗎?
首先,這個功能是屬於後處理(Post-processing),通常不在一般解碼的程序中,
解碼器做完視訊解碼後,才讓輸出的影像經過一連串filter進行後處理,
包括像是您ffdshow上看到的Resize,灰階調整等等,到SVP這類的東西
都可以稱作後處理。
ffdshow提供的去色帶與縮放兩個後處理功能可以完全由madVR取代,
除了算法較好提供更好品質之外,madVR直接負責最後rendering的工作,
角色上來看,madVR比ffdshow更適合進行後處理,且若您的顯卡不錯,
它能分攤CPU與GPU的使用率。
以下我做了測試來比較ffdshow與madVR的deband品質,
-ffdshow設定部分
http://i.minus.com/iEX8odZbOoyJ9.png
(去色帶使用預設值)
http://i.minus.com/ibtcmubjfzmNtk.png
(為了最好的效果,將ffdshow輸出強制指定為RGB32)
http://i.minus.com/ibfWwtqENJy7jr.png
(使用高品質YV12轉RGB,並套用混成(dithering))
-madVR設定部分
http://i.minus.com/ivjjDV5P9rJjM.png
(去色帶使用中等(適應性判定))
http://i.minus.com/iBZhEsdcg3hPE.png
(品質設定除了dither算法不使用OpenCL Error Diffusion外全開)
PS: 測試使用的madVR版本為0.87.4,非最新版本,但不會影響測試結果
Result
-原始影像
http://i.minus.com/ib24sZpa0QIVxs.png
(8bit YV12 BT709 1280x720 256灰階)
-ffdshow
http://i.minus.com/ifY5lK9ThLx89.png
-madVR
http://i.minus.com/iOrlZJhsUMdQ1.png
ffdshow與madVR去色帶皆開大時,結果如下
Result
-ffdshow
http://i.minus.com/irnAS581JNyjJ.png
(門檻6,半徑16)
-madVR
http://i.minus.com/igdLOCmjoYNhW.png
(去色帶雙選項High)
您可以看到使用中等設定時,madVR的去色帶算法已將色帶去的差不多,
而ffdshow仍有一些未去乾淨。
使用較強設定時,madVR幾乎完全將色帶去除,而ffdshow也將色帶除的差不多,
但ffdshow出現了一些圖像失真(artifacts)。
您可以看到madVR去除色帶的品質較ffdshow自帶的去色帶功能好,
LAV雖然沒有ffdshow的一些後處理功能,但在單純輸出解碼影像的部分十分稱職,
且LAV的開源計劃目前處於活躍的狀態,新的版本持續在對解碼效率優化,並支援
更多功能,ffdshow則已成熟更新次數較少,基本上相對較不活躍,詳細您可以查看
LAV與ffdshow的changelog。
從結果來看欲獲得高品質輸出 madVR + LAV是最佳組合,若原PO GPU不夠力的話
再考慮使用ffdshow的後處理濾鏡,而除了ffdshow自帶的後處理濾鏡外,ffdshow
也可使用AviSynth腳本外掛做即時運算,您只要安裝AviSynth與需要的濾鏡即可,
其中比較接近madVR去色帶品質的AviSynth filter是flash3kyuu_deband,根據madVR
作者在討論版的說明,madVR去色帶是以flash3kyuu_deband的算法為基礎,因此您若
使用f3kdb(該濾鏡的簡稱),或許可以獲得類似madVR去色帶的效果,除了f3kdb外,您也
可以試試GradFun2db等,AviSynth有許多的處理filter可以玩,壓制影片時的前處理
也常會用到這些濾鏡,對於壓制影片的人來說,如何使用這些濾鏡壓出
最佳效果是一門學問xd
PS: 關於截圖中,應用程式的標題列內容會有 [#] 符號包起來是因為使用了
沙盒來執行程式,在沙盒中執行程式可以避免裡面的程式影響到沙盒外
"真實世界"的運作情況與設定,簡單來說就是試爆場,若怕一些奇怪的
軟體搞壞電腦,或者需要同個軟體多種不同設定互不干涉,可使用沙盒。
PS2: 測試使用的影片是透過AviSynth腳本以一張256灰階的PNG圖片檔為來源,
將其放大至1280x720,並由RGB轉為YV12連續影像,因為影像由
RGB full range壓縮成YV12 tv range,精度下降之下無法呈現原本的
256灰階,我們透過在這個過程中產生的色帶影像來進行去色帶測試。
作者: roex0608 (BorEXE)   2015-03-09 11:26:00
不行啊!我一開madvr,影片就整個卡住了,果然是我的GPU太渣了http://i.imgur.com/iiq7fb2.jpg我還是用AVS濾鏡好了
作者: s25g5d4 (function(){})()   2015-03-09 21:40:00
這配備...你還是用 ffdshow 好了
作者: johnmeng82 (多啦A夢)   2015-03-14 11:29:00
感謝web大的詳細解說。在下在這之前只知道用預設的EVR現在改用madVR,並在網路上爬文參考設定,畫面變漂亮不只一個檔次。順便附上小弟爬到的教學文,解說很直白也很詳細:http://ppt.cc/zhfy
作者: pussycat2009 (我不是女的)   2015-03-14 18:01:00
推教學文
作者: goldie (阿良)   2015-03-16 17:39:00
很棒的介紹與教學文,推~
作者: Norther   2015-03-16 23:56:00
別再用爛縮址爛圖床ppt了好嗎 http://imgur.com/2Gi7uU0

Links booklink

Contact Us: admin [ a t ] ucptt.com