查看: 7304|回覆: 14
收起左側

[分享] madVR v0.78 簡介

[複製連結]

發表於 2011-11-8 20:14:26 | 顯示全部樓層 |閱讀模式

馬上註冊,結交更多好友,享用更多功能,讓你輕鬆玩轉社區。

您需要 登錄 才可以下載或查看,沒有賬號?註冊

x
本文章最後由 pureland 於 2011-11-8 20:24 編輯

madVR官方論壇
madVR相關設定

這不是教學帖~
只是想推廣一下madVR而已~
因為在0.78的版本加入了重大的功能~
也就是DXVA2 deinterlacing的支援~
這樣以後播放交錯式的影片就不必再外掛ffdshow raw video filter來去交錯了~
祝賀ing~~~灑花ing~~~(自High中XD)
附上madVR作者madshi的說明~
順便翻譯了一下,翻得不好請勿見笑喔^^"

* added support for DXVA2 deinterlacing
* added option to enable/disable automatic activation of deinterlacing
* added option to force off deinterlacing for 48i sources
* added option enable/disable performing deinterlacing in a separate thread
* added auto 4:2:2/4:4:4 to 4:2:0 conversion when using DXVA2 deinterlacing
* added OSD deinterlacing information
* Ctrl+Alt+Shift+D turns deinterlacing on/off
* Ctrl+Alt+Shift+F switches deinterlacing field order (auto, top, bottom first)
* changed gamma decrease key combo from Ctrl+Alt+Shift+F to Ctrl+Alt+Shift+B
* increased decoder queue size to 12 frames
* added support for h264 10bit 4:2:2 decoding
* improved frame stepping
* improved internal frame locking mechanism
* removed warning "creating 10bit render texture failed, used 8bit instead"
* updated libav/ffmpeg dlls

added DXVA2 Deinterlacing

no support for DXVA2 Decoding, just to avoid any misunderstandings

Some things to note:

(1) Deinterlacing requires DXVA2 to be present. On XP you probably need to install .NET 3.0 (or higher) to get DXVA2.
(2) Using DXVA2 deinterlacing means that potentially all the nasty GPU algorithms like noise reduction and edge enhancement are introduced to madVR. So make sure you have all this stuff turned off in your GPU driver's control panel. Of course madVR only uses DXVA2 if deinterlacing is needed. So for progressive stuff (or if you deinterlace externally) nothing changes compared to older madVR versions.
(3) At this point in time madVR mostly does the same that VMR and EVR do. Which is not ideal in some cases. E.g. MPEG2 flags are trusted, so movie deinterlacing might not always be correct, especially with MPEG2 DVDs and broadcasts. I might improve that in a future version.
(4) madVR is less picky than other renderers about which color spaces you can send. madVR will happily deinterlace all 8bit YCbCr formats. Even 4:2:2 and 4:4:4, which madVR then converts down to 4:2:0 for DXVA2 deinterlacing.
(5) ATI users please activate the switch "Advanced Color -> Dynamic Range" and set it to "Limited (16 - 235)". This will make sure that BTB and WTW are not cut off by DXVA2 deinterlacing.
(6) I've removed the Intel software decoder DLL from the madVR zip in order to cut down the zip file size, and because most people probably use the libav decoders, anyway. If you want to use the Intel decoders, you can download the dll separately here. Just copy it to the madVR folder and the Intel decoders should start working again.
(7) This is a first experimental version, bugs are to be expected.

FEEDBACK:

I need to know...

(a) ... how deinterlacing quality and performance compares to LAV CUVID, could you please check that? If LAV CUVID looks or performs better, maybe there's room for me to improve, too.
(b) ... whether the option "perform deinterlacing in separate thread" makes things better or worse for you. Ideally I hope it will be better or worse for everybody so that I can then hard code the "right" setting and remove the option. On my PC it seems that having this option off works better for windowed mode, but having it on works better for exclusive mode.


加入DXVA2 Deinterlacing
不支援DXVA2 Decoding,為了避免任何錯誤

一些需要注意的事:

(1)Deinterlacing需要DXVA2的存在,XP使用者需要安裝.NET 3.0(或更新版)去獲得DXVA2

(2)使用DXVA2 deinterlacing意味著會開啟潛在的所有令人討厭的GPU運算法
    像是noise reduction與edge enhancement將會帶到madVR
    所以,確認將你的GPU driver's control panel所有的這些功能關閉.當然,madVR只有在需要去交錯時才會使用DXVA2
    所以對於progressive的材料(或當你使用外部去交錯)那將與舊版的madVR無任何差別.

(3)此時此刻madVR跟VMR與EVR幾乎能做相同的事.不理想的情況例如:
    MPEG2旗標是可信的,所以影片去交錯可能不完全正確,特別是MPEG2的DVD與電視訊號.我將會在未來的版本做改善.

(4)關於你所指定的那種色彩空間,madVR跟其他渲染器來比算是很少挑剔的.
    madVR會非常樂意的去交錯在所有8bit YCbCr的格式上.甚至4:2:2與4:4:4,madVR在DXVA2 deinterlacing時將會轉換到4:2:0

(5)ATI顯卡使用者請設定"Advanced Color -> Dynamic Range" and set it to "Limited (16 - 235)"
    這能確定在DXVA2 deinterlacing時Blacker than black(0-15)與Whiter than white(236-255)不會被切斷.

(6)為了縮減壓縮檔的大小,我已移除madVR壓縮檔裏的Intel software decoder DLL
    總而言之,因大多數人可能都使用libav decoders
    如果你想使用Intel decoders,可以在此下載分離出來的DLL檔.

(7)這是第一個實驗性的版本,bugs在所難免.

評分

參與人數 2名聲 +8 精幣 +8 收起 理由
squallsqu + 6 + 6 精品文章 ^^
clubaudition + 2 + 2 精品文章

查看全部評分


 樓主| 發表於 2011-11-16 21:49:56 | 顯示全部樓層
更新至madVR v0.79
加強改善了DXVA2 deinterlacing的品質與功能~
並增加一些相關的選項~
設定請參考http://wp.me/PrgSo-vn

* modified deinterlacing logic to save GPU RAM
* added resource manager to save GPU RAM and a little bit of GPU performance
* added information about used / total GPU RAM to debug OSD (Ctrl+J)
* added new options to choose decoder and GPU queue sizes
* added automatic adjustment of queue sizes, based on GPU RAM size
* corrected queue sizes with deinterlacing turned on (size 1 too high in v0.78)
* improved deinterlacing quality at the start of playback and after seeks
* improved the way madVR calls DXVA2 (now more similar to EVR)
* moved some eventually CPU intensive code from render to separate thread
* optimized performance of DXVA2->PixelShader texture conversion for some GPUs
* optimized internal libav decoder format conversion logic
* movie frame rate overwrite via file name now also set deinterlacing on/off
* option "perform deinterlacing in separate thread" is now "on" by default
* MPC-HC OSD text "Pausa" is now blocked (to avoid disappearing subtitles)
* fixed: source cropping (J.River MC) could result in corrupted chroma channel
* fixed: IMediaSample allocator wasn't fit for decoder queue size of 12 frames

評分

參與人數 1名聲 +10 精幣 +10 收起 理由
clubaudition + 10 + 10 我很贊同

查看全部評分

回覆 支持 反對

使用道具 舉報


發表於 2011-11-16 22:05:17 | 顯示全部樓層
回覆 支持 反對

使用道具 舉報


發表於 2011-11-17 00:45:20 | 顯示全部樓層
喔喔~0.79出了
0.78解交錯吃記憶體吃太兇了
動不動就撐爆9800GT的512MB
視窗化時還會LAG
看TS檔一定要全螢幕
來看看0.79有沒有改善
回覆 支持 反對

使用道具 舉報


發表於 2011-11-18 17:50:53 | 顯示全部樓層
請教樓主,讓我問個可能很笨的問題.....

我都是讓LAV Video Decoder作deinterlace,而且效果我很滿意,madVR上的decoder功能我都是關閉的......

deinterlace不是交給Video Decoder做就好了嗎?
回覆 支持 反對

使用道具 舉報


發表於 2011-11-18 18:59:24 | 顯示全部樓層
madVR是在渲染上有比較好的表現 但是相對的硬體的要求也比較高一點
小妹是偏向LAV CUVID Decoder 而不去使用 Video Decoder  也不刻意設定反交錯
1.LAV CUVID Decoder 比 LAV Video Decoder CPU更為省力
2.開啟deinterlace 反而不好察覺影片原始好壞
3.deinterlace 只需要在Video Decoder 一次就好 deinterlace 再次 deinterlace 不就變回了interlace ?
回覆 支持 反對

使用道具 舉報


 樓主| 發表於 2011-11-18 20:46:56 | 顯示全部樓層
回覆 5# Pepsi
我記得這問題在madVR的論壇滿多人問過很多遍了~
不過臨時要找也找不到XD
有興趣的話可以去找找~

首先,LAV Video Decoder只會做decode並不會deinterlacing
deinterlacing是EVR做的~
不相信的話,強制讓LAV Video Decoder YV12輸出就知道了~
LAV Video Decoder目前並無deinterlacing的功能~
不過開發者nevcairiel說未來會加入~
而且nevcairiel現在也讓LAV Video Decoder強制NV12輸出了~
這樣的話保證讓顯卡可以做後處理的工作(像是deinterlacing)

再者,madVR的DXVA deinterlacing的功能是最近才加入的~
以前並沒有,也就是說如果用舊版的madVR
遇到交錯式的影片還需要用ffdshow raw video filter去deinterlacing
當然,madVR本身也有decode的功能,而且可以解10-bit的影片~
要注意的是,千萬不要把decode與deinterlacing混在一起了~
這兩樣沒弄清楚的話,真的就不用玩了XD

最後,顯然目前deinterlacing主要有三種方法可以選擇~
1.LAV CUVID Decoder (N卡專用)
2.EVR/madVR 的DXVA deinterlacing
3.ffdshow raw video filter 的deinterlacing
其中前兩者是交由顯卡來deinterlacing
後者是交由CPU來deinterlacing
當然CPU deinterlacing的效果絕對比不上DXVA deinterlacing
這也是nevcairiel為何要讓LAV Video Decoder強制NV12輸出的其中一個很重要的原因~
看自己的需求做選擇吧!!
我不再推薦哪一個最好了~
這樣只會招來不必要的言論與批評而已
回覆 支持 反對

使用道具 舉報


發表於 2011-11-18 21:15:34 | 顯示全部樓層
01.jpg
個人不清楚到底會不會deinterlacing 因為這個選項從不會勾選
如果不會 那麼圖中的選項是做何用處呢?可否解釋一下?
打從一開始LAV便是由您開始推廣的 現在又說另一套 文章是在暗示什麼?






回覆 支持 反對

使用道具 舉報


 樓主| 發表於 2011-11-18 21:52:08 | 顯示全部樓層
回覆 8# clubaudition
lll.jpg

依上圖來看,您已經開啟去交錯了~
Force Deinterlacing是對Progressive的影片用的~
請參考http://www.hd.club.tw/redirect.php?goto=findpost&ptid=114514&pid=1209289
大姊的態度真是傷透我的心...
以後再這樣回覆我也不會回答了!!
傷心透頂................哭哭
回覆 支持 反對

使用道具 舉報


發表於 2011-11-18 23:17:36 | 顯示全部樓層
回覆 9# pureland
抱歉我剛語無倫次 請無視同時開啟兩篇文章 複製來複製去結果搞錯了 sorry
回覆 支持 反對

使用道具 舉報


 樓主| 發表於 2011-11-19 17:25:33 | 顯示全部樓層
nevcairiel已有意在LAV Video Decoder 0.40加入YADIF deinterlacing
也就是說以後LAV Video Decoder本身可用YADIF去deinterlacing
這樣的話ffdshow raw video filter的deinterlacing就可以拋棄了~
再簡單整理如下:
1.LAV CUVID屬於Hardware deinterlacing
2.YADIF屬於Software deinterlacing
3.EVR/madVR屬於Renderer deinterlacing
至於要用哪一種,就請自行選擇吧~
例如:
使用LAV CUVID deinterlacing就不會用YADIF或EVR/madVR的deinterlacing
假如停用LAV CUVID deinterlacing就會使用YADIF去deinterlacing
如再停用YADIF就會使用EVR/madVR去deinterlacing
如再停用madVR的deinterlacing就完全不會去交錯了~
所以您會看到畫面有一條一條的橫紋~
這就是影片沒有deinterlacing的現象~
流程大概如此,並非我要長篇大論~
這些東西本來就不是三言兩語能解釋的~
在下已經盡量精簡了~
如嫌累贅就請直接去doom9論壇看人家英文的討論吧...
lll.png
回覆 支持 反對

使用道具 舉報


發表於 2011-11-20 21:47:22 | 顯示全部樓層
感謝樓主的說明,因為我自己是用Nvidia的卡,所以從LAV (CUVID) Filter出來之後,簡直爽呆了,這樣的效果我已經很滿意....

為什麼這麼說呢,以往碰到1080i的source,在HTPC上實在有點麻煩,但LAV (CUVID) Filter卻把一些拉哩啦雜的設定整合的很方便.

晚點我拍個以往我測試Video Decoder片段給大家參考,就能體會在HTPC上要看到高品質的1080i以前有多麻煩.....
回覆 支持 反對

使用道具 舉報


發表於 2011-11-20 22:06:52 | 顯示全部樓層
簡單用幾張圖說明一下,片段是Q-Tec那張測試片中的Monoscope畫面,這段畫面是H.264 1080i的格式

我只是要說明不同Decoder的效果差異,所以我有稍微把圖縮小(為了抓圖方便....sorry),因此稍微影響到動態的解像度

我比較的重點在於
1. 動態解像度
2. 畫面順暢度


首先這是PotPlayer內建的H264 Decoder解出來的結果.
結果應該不用說吧......悲慘~~~~

PotPlayer 內建的Decoder

PotPlayer 內建的Decoder


這是MainConcept的decoder解出來的效果
靜態畫面看起來OK,但實際畫面並不順暢,畫面會一頓一頓的進行(不是CPU跑不動)

MainConcept Decoder

MainConcept Decoder


這是LAV Video Decoder效果,在我的PC上跑起來動態解像度只有稍微降低,但畫面順暢度很好
不過同樣的設定,我在效能較差的PC上播放時會有明顯的不順暢感

LAV Video Decoder

LAV Video Decoder


這是LAV Vode Decoder(CUVID啟動),動態解像度也是只有稍微降低,順暢度也很好,所以我都是用這個模式

LAV Video Decoder (CUVID)

LAV Video Decoder (CUVID)
回覆 支持 反對

使用道具 舉報


 樓主| 發表於 2011-11-20 23:15:23 | 顯示全部樓層
感謝Pepsi版大提供相關測試資訊^^
硬要比較deinterlacing的效果的話~
LAV CUVID deinterlacing勝於DXVA2 deinterlacing勝於CPU deinterlacing
不過LAV CUVID只有N卡才能使用,因為它使用CUDA API
其他顯卡的使用者頂多只能使用DXVA2 deinterlacing了~
另外補充一下deinterlacing的level
decoder-->renderer-->post-processing
雖然我在本帖所提供的資訊還不少~
但肯定還有不詳盡之處~
希望大家如有疑惑之處歡迎留言討論~
要不然寫這些東西也沒意思了...
回覆 支持 反對

使用道具 舉報


 樓主| 發表於 2011-12-19 11:33:19 | 顯示全部樓層
本文章最後由 pureland 於 2011-12-19 11:34 編輯

更新至madVR v0.80
加入IVTC運算法~
使用方法詳見madshi的說明~
* added IVTC algo with decimation and support for 3:2, PAL and Anime cadences
* Ctrl+Alt+Shift+T switches between video (DXVA) and film (IVTC) content type
* fixed: moving media player to another monitor made DXVA deinterlacing crash
* fixed: DXVA deinterlacing produced wrong colors (only with HD videos + ATI)
* fixed: after a refresh rate change the composition rate didn't update
* fixed: calculation of consumed GPU RAM was wrong
* fixed: minimizing ZoomPlayer with playing video made some problems
* fixed: v0.79 didn't always detect external refresh rate changes
* fixed: some h264 AVI files made madVR crash, depending on the splitter
* fixed: improved internal decoder MPEG2 timestamp handling
* fixed: zooming video extremely small made madVR close the media player
* fixed: video was positioned wrong when media player cropped top/left
* fixed: a couple of small Direct3D related bugs
* fixed: a little resource leak
* improved presentation timestamp correction a bit
* improved "IMadVRExclusiveModeInfo::IsExclusiveModeActive"
* improved "IMadVRExclusiveModeControl:: DisableExclusiveMode"
* added window size checks to detect to-be-expected exlusive mode failures
* added new interface "IMadVRDirect3D9Manager" for XBMC (work in progress)
* modified automatic queue sizes
* improved logging during media player shutdown

Please note that the IVTC algorithm is brand new and has a number of limitations. It seems to work pretty well in my limited tests, but more broad testing by you guys is needed to find out whether it really works well enough. Here's a list of limitations:

(1) It currently runs single threaded on the CPU. I plan to eventually move this to the GPU, but I'll need to use CUDA/OpenCL for that, and from ATI I need a driver with full OpenCL 1.2 support, which is not available yet. So it might take quite a while before I can move this to the GPU. For now it will have to run on the CPU.

(2) Although I've written SSE2 assembler, it still consumes quite a bit of CPU power. If your CPU is already on the fence with HD decoding, you probably won't be able to use madVR's IVTC algorithm with h264/VC-1 HD content. It might still work with MPEG2 content for you, since that's easier on the CPU. It should definitely work with all SD content. If your CPU is plenty fast, there's no problem, of course.

(3) Although all possible cadences should be supported in theory, I've mainly tested 3:2 and 2:2, so Anime support might need some tweaking. It does generally seem to work well enough for a first version, from my limited tests with Anime sources.

(4) For now, madVR does not even try to detect whether a video is natively interlaced or telecined. As a result, madVR defaults to DXVA deinterlacing, because DXVA deinterlacing can handle all types of content reasonably well. You have to manually switch to madVR's new IVTC algorithm by pressing Ctrl+Alt+Shift+T twice ("T" stands for content [T]ype). Default is "video mode", which is deinterlaced by using DXVA. By switching the content type to "film mode", you activate madVR's new IVTC algorithm. In the future, I'm planning to add automatic detection for the content type, so you don't have to switch manually.

(5) The current version of the IVTC algorithm always expects the whole frame to be telecined content. Video mode overlays or mixed video/film (in one frame) content is not supported at the moment.

(6) Refresh rate switching does not currently take the decimation ability of the IVTC algorithm into account, so it won't switch to 24Hz mode automatically. Sorry about that. You can work around it by tagging your files with "24p" or "23p". The refresh rate changer will be improved in a future version to take IVTC into account.

Please report any problems you have with the IVTC algorithm. But before you report, please make sure that content you have is really telecined. I've found that most PAL Animes are field blended, which is an ugly mess and can't be IVTCed at all. The only way to handle such Anime content is to use video mode deinterlacing.


回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回文 登入 | 註冊

本版積分規則

熱門推薦

風暴StormAudio 家庭劇院巡禮 : 來自新加坡頂層公寓的聲音饗宴
風暴StormAudio 家庭劇院
風暴StormAudio 家庭劇院巡禮 : 來自新加坡頂層公寓的聲音饗宴
何止錦上添花!?Zidoo Neo Alpha的最佳Wingman - HD Fury Vrroom V3
何止錦上添花!?Zidoo Ne
何止錦上添花!?Zidoo Neo Alpha的最佳Wingman - HD Fury 8K VR
風暴StormAudio/Goldmund家庭劇院巡禮 "KazCorporation:為音樂愛好者實現家庭劇院夢想"
風暴StormAudio/Goldmund
風暴StormAudio/Goldmund家庭劇院巡禮"KazCorporation:為音樂愛
風暴StormAudio 4.6r0韌體釋出囉!
風暴StormAudio 4.6r0韌體
風暴StormAudio 4.6r0韌體釋出囉! 新功能和增強功能 系統控
劇毒!DIVA EX-7/EX-mini賢昆仲相汝以沫Hi-End音響網路交換器體驗心得分享
劇毒!DIVA EX-7/EX-mini
劇毒!DIVA EX-7/EX-mini賢昆仲相汝以沫Hi-End音響網路交換器體

聯絡我們| 問題反映| 小黑屋| 手機版| Archiver|  本網站特別聘請 蔡家豪律師 為本站法律顧問

快速回覆 返回頂部 返回列表