Re: [請問] 請問LAV、MADVR、顯卡去交錯的差別是?

看板AVEncode (影音編碼技術)作者 (Ghost的呢喃)時間11年前 (2013/02/25 13:51), 編輯推噓13(13032)
留言45則, 11人參與, 最新討論串2/2 (看更多)
※ 引述《lukia0326 (Stephen)》之銘言: : 在下一直搞不懂LAV DECODER MADVR 顯卡的去交錯功能彼此的關係 : 如果影片掛載LAV DECODER搭配MADVR渲染,然後MADVR的去交錯打開 : 這樣應該有去交錯吧? : 但是這時候是哪一邊的去交錯在作用?? LAV video decoder本身有兩種去交錯作法 第一種為 Hardware Deinterlacing (CUVID only) LAV video decoder設定裡右邊中間的那項 這個只有nvidia的卡能用 選了之後 遇到interlaced的影像時 會透過N卡的CUDA進行Deinterlacing處理 屬於硬體去交錯 第二種是 Software Deinterlacing(YADIF) LAV video decoder設定裡右邊下面的那項 這個是軟體去交錯 用的是YADIF這個去交錯演算法 由CPU處理 這兩種使用其中一種都會作去交錯處理 而當去交錯處理完的視訊傳給madVR時 madVR就不會再作去交錯處理 此時madVR OSD的Deinterlacing會顯示off 而如果decoder沒有作去交錯處理的話 madVR遇到interlaced的視訊串流 會透過DXVA呼叫顯卡做Deinterlacing 這也是屬於硬體去交錯 此時madVR OSD的Deinterlacing會顯示on 這邊強調一點 LAV video decoder左上角的Setting for deinterlacing只是"判斷方法" 判斷完視訊是interlaced之後 要由LAV自己做Deinterlacing 或是交給renderer透過DXVA去呼叫顯卡做deinterlacing 就看你如何設定而已 要注意如果LAV自己已經做了Deinterlacing 就不要把madVR的DXVA deinterlacing強制打開 否則就會變成做兩次去交錯 : 如果把LAV DDECODER的去交錯選項改成"Disable",MADVR維持開啟 : 這個時候播放影片就會無法成功去交錯,畫面會鈍鈍 Deinterlacing Mode選擇"Disable"的話 LAV會讓視訊串流被視為progressive 本身不做去交錯處理 madVR也不會自動呼叫顯卡做去交錯處理 : 但如果掛載沒有特別去交錯功能選項的DECODER掛載MADVR(開啟去交錯) : 則能夠成功去交錯 LAV的Deinterlacing Mode你選擇AUTO 或Aggressive或Force應該也是一樣結果 但建議選AUTO 或Aggressive 選Force的話連progressive的視訊也會被去交錯處理 : 還有顯卡的去交錯,是甚麼情況下才會作用? 透過DXVA的話 是當renderer(EVR or madVR)去呼叫它時 透過CUDA的話 是當decoder(LAV)去呼叫它時 : 用POTPLAYER掛載MADVR時用的去交錯功能是顯卡的去交錯功能嗎?? 非N卡的話 只看OSD的Deinterlacing是ON還是OFF就知道了 : 然後,在我播放DVD電影時,MADVR有個功能可以將29.97的格率手動轉 : 換成24P,忘記叫甚麼名字了,要按Shift+Ctrl+T 應是Shift+Ctrl+ALT+T 此熱鍵為切換去交錯方法(DXVA or IVTC) : 那這個功能跟去交錯有關係嗎? 有 這個要解釋有點長 我們知道影像檔基本上有循序式(或稱逐行掃描)跟交錯式(或稱隔行掃描)兩種, 循序式(Progressive)如480p、720p、1080p這種後面有個"p"的都是, 交錯式(Interlaced)如480i、1080i這種後面有個"i"的都是。 遇到交錯式影像,必須要進行去交錯處理(Deinterlacing), 否則會有明顯的橫向掃描線, 而交錯式影像基本上又可分成兩大類─Video跟Film, Video通常指原生的交錯式影像,為攝影機以60i模式拍攝(以美規NTSC來說), 一秒60個場(field),場是指半個畫面,也就是半個幀(frame), 這種沒辦法還原成一個完整的圖像, 只能靠各種去交錯演算法去模擬出完整的畫面,讓其變成30p或60p。 而Film是指原生為循序式影像, 把每個圖像經過拆場並重新排列讓其變成一秒60場(60i)的交錯式影像, 這個過程稱為Telecine, 常見於電影或動畫(原生24p的影像)經過3:2pulldown的處理後變成60i的交錯式影像, 這種影像可以完美的還原為24p的循序式影像, 只需將每兩個場交疊並去掉多餘的場即可, 這種方法稱為Inverse Telecine(IVTC 即反向Telecine)。 而madVR偵測到交錯式影像,就會呼叫顯卡去做硬體去交錯(DXVA deinterlacing), 不過madVR目前並不會判斷它是video還是film, 而一律視為video並呼叫DXVA deinterlacing, 這會變成使用顯卡的內建去交錯演算法, 雖然顯卡本身也有IVTC這種演算法, 但有時候顯卡並不能正確的判斷影像內容並執行IVTC, 而會把它錯當成原生交錯式影像處理。 我們如果知道播的是film內容的交錯式影像, 可以手動使用Ctrl+Alt+Shift+T這個指令將其切換為film, 這時madVR就會用CPU執行它自身的IVTC算法, 而我們就會得到完美的原生24P影像。 : 如果這時候是用LAV DECODER解碼,那去交錯功能要不要打開?? Deinterlacing Mode選擇AUTO 或Aggressive 其他都自動就好 頂多需要時自己轉IVTC : 這問題困擾我很久,不知有沒有神人能幫忙XDDD -- 實用播放軟體設置與教學 http://lysandria1985.blogspot.com/ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.32.83.104

02/25 14:24, , 1F
好文推xd
02/25 14:24, 1F

02/25 14:32, , 2F
02/25 14:32, 2F

02/25 16:29, , 3F
又多學到東西了
02/25 16:29, 3F

02/25 17:58, , 4F
神人非推不可!!!!
02/25 17:58, 4F

02/25 17:59, , 5F
但在下還有一個問題,我有幾部很奇怪的影片,他的格式
02/25 17:59, 5F

02/25 18:00, , 6F
是屬於循序掃描,但是畫面卻有非常明顯的交錯掃描紋路,
02/25 18:00, 6F

02/25 18:00, , 7F
所以我把LAV的去交錯設調成"Force"之後居然成功把去交
02/25 18:00, 7F

02/25 18:01, , 8F
交錯的紋路給消除了,變成正常的影像,請問這是甚麼原因
02/25 18:01, 8F

02/25 18:01, , 9F
???
02/25 18:01, 9F
有可能是壓製錯誤 把interlaced壓成progressive但是又沒做去交錯處理 或是做了但選錯方法 沒處理好等等(註1.) 所以格式上會是progressive但是內容是interlaced 註1.有些interlaced內容非常難搞,前面提的兩大類只是最基本最常見的分法 實際上有些狀況更複雜 例如:hybird 不同幀率混合 i/p混合 原生交錯/非原生交錯混合 等等

02/25 18:02, , 10F
還有一個問題,你說如果不是N卡的話,LAV都是做軟體去
02/25 18:02, 10F

02/25 18:02, , 11F
交錯,那右下角的"Enable YADIF"到底要不要勾啊???
02/25 18:02, 11F
我覺得有點誤解我的意思XD 我的意思是 都沒勾的話 LAV會讓madVR去呼叫硬體去交錯 而勾了"Enable YADIF"的話 LAV會自己做軟體去交錯 我是比較建議讓madVR去呼叫硬體去交錯 ※ 編輯: coldcolour 來自: 114.32.83.104 (02/25 18:36)

02/25 18:53, , 12F
據國外使用者的經驗,YADIF反交錯品質比硬體去交錯好@@
02/25 18:53, 12F

02/25 18:57, , 13F
不過個人習慣也用硬體去交錯,因為YADIF解1080i吃CPU頗重
02/25 18:57, 13F

02/25 19:23, , 14F
我用A卡 它的硬體去交錯有5種方法 ccc選AUTO的話madVR
02/25 19:23, 14F

02/25 19:24, , 15F
會自動選擇vector adaptive 而我實際測試的結果
02/25 19:24, 15F

02/25 19:25, , 16F
vector adaptive是明顯優於其他四種 但是跟YADIF比起來
02/25 19:25, 16F

02/25 19:26, , 17F
就看不出來哪個比較好了...N卡的話我沒用過就不知道了~
02/25 19:26, 17F

02/25 19:31, , 18F
測試影片是用有一堆斜線的那個 不過也許正常的影片結果
02/25 19:31, 18F

02/25 19:31, , 19F
會不一樣 懶的測了 眼睛快脫窗了XD
02/25 19:31, 19F

02/25 19:38, , 20F
YADIF好像好那麼一點點點 但是差別真的很小~~
02/25 19:38, 20F

02/25 19:39, , 21F
你是指"向量適應"吧?但是我在CCC選擇強制向像適應的話
02/25 19:39, 21F

02/25 19:40, , 22F
畫面似乎會抖動,超怪的= =
02/25 19:40, 22F

02/25 19:43, , 23F
那就是你的影片內容不能用向量適應 還是選自動吧
02/25 19:43, 23F

02/25 19:46, , 24F
原因可能是影片裡有film內容(不一定全部 有可能是混合)
02/25 19:46, 24F

02/25 19:47, , 25F
原來如此,太感謝你了~你真的超強的!!
02/25 19:47, 25F

02/25 19:54, , 26F
我不強 我只會一些基本的東西Orz
02/25 19:54, 26F

02/25 20:22, , 27F
這篇應該整理到精華區
02/25 20:22, 27F

02/25 23:25, , 28F
很強大的1篇解說文~推!整個來龍去脈說好清楚學了好多^^謝謝
02/25 23:25, 28F

02/26 00:18, , 29F
推好文
02/26 00:18, 29F

02/26 00:30, , 30F
連結裡面的reclock實在是太棒了 一解我多年來的困擾
02/26 00:30, 30F

02/26 01:55, , 31F
到底開啟MADVR的FRC之後還需不需要用RECLOCK?
02/26 01:55, 31F

02/26 07:25, , 32F
至少我覺得開了reclock聲音比較好聽
02/26 07:25, 32F
我先貼一段madshi的說明原文: Technically the FRC algorithm simulates a display with infinite refresh rate. Which means that every video frame is displayed exactly when the timestamps ask for it. Consequently the motion smoothness depends on proper timestamps. If the timestamps (or audio clock) contain jitter, the playback will contain jitter, too. So even if Reclock might not be needed to avoid frame drops/repeats, anymore, when using madVR's new FRC algorithm, you might still want to use Reclock, because it provides a stable and reliable audio clock with very low jitter, and it supports WSAPI exclusive mode, too. You can however slave Reclock to the audio hardware clock, if you want. Having Reclock fully enabled with audio resampling is still possible, though, it shouldn't harm madVR's FRC algorithm. 以下只是我個人見解: 關於使用FRC時要不要開Reclock,現在有三種可能的設置方式 狀況1. 不使用Reclock 狀況2. 使用Reclock,但設為Slave模式(不使用同步功能,只使用它的WASAPI輸出) 狀況3. 正常使用Reclock 狀況1跟狀況2只差在一個WASAPI輸出,當然WASAPI輸出對音質有正面幫助這就不說了 至於狀況3需不需要,取決於你的影片是否有一個正確的timestamps(幀呈現的時間點), 據madshi說法,FRC開啟時每一幀都會依timestamps精確的呈現, 如果timestamps或是audio clock(timestamps與audio clock有關) 有jitter(時基誤差 指與事件的理想時間的誤差)那麼播放時也會有jitter, 雖然不再需要靠Reclock來防止掉幀或重複幀,但Reclock提供了一個有極低jitter, 穩定的audio clock。 實際上用FRC時Reclock開或不開可能不太容易感覺得到差別,但基本上我還是開著, 除了WASAPI之外,之前也提到幀率跟螢幕更新率相近的狀況不適合開FRC, 所以像我在60Hz螢幕播放原生60i(video)的影片就讓Reclock作用,不使用FRC; 播放24p或非原生60i(film)做IVTC的影片再打開FRC,Reclock一樣讓它作用, 不會有不良影響,也不用把Reclock開開關關造成麻煩 FRC設置熱鍵開關要方便的多 當然如果你討厭Reclock造成的延遲或它對音訊resample造成的影響 也可以不要用 結論: 用不用都可以,看你高興XD ※ 編輯: coldcolour 來自: 114.32.83.104 (02/26 13:50)

03/02 00:59, , 33F
沒注意到你有回我,感謝精闢的解說!!不過我是用USB DAC
03/02 00:59, 33F

03/02 01:00, , 34F
作為我的播放裝置,而在我的系統下,我並沒有覺得WASAPI
03/02 01:00, 34F

03/02 01:01, , 35F
的音質有比較好就是了,我是透過USB ASIO來輸出,而且
03/02 01:01, 35F

03/02 01:01, , 36F
我也不是很喜歡獨佔模式,還是大大可以說明一下WASAPI
03/02 01:01, 36F

03/02 01:02, , 37F
比較好的原因呢XDDD
03/02 01:02, 37F

03/02 02:06, , 38F
比較好是跟預設的DS比較的結果 WASAPI跟ASIO都具有
03/02 02:06, 38F

03/02 02:07, , 39F
音訊低延遲輸出的特性 兩者的作用路徑也很像 就差在
03/02 02:07, 39F

03/02 02:10, , 40F
ASIO是各家自訂 WASAPI是微軟標準 如此而已
03/02 02:10, 40F

03/02 07:53, , 41F
WASAPI會亂砍峰值..
03/02 07:53, 41F

03/02 14:14, , 42F
砍峰值的說法有spec.或ref.?
03/02 14:14, 42F

03/02 18:41, , 43F
老實說沒有個幾十萬的系統或是萬元以上耳機都聽不出來
03/02 18:41, 43F

03/02 18:41, , 44F
不要走火入魔了。
03/02 18:41, 44F

06/27 22:13, , 45F
專業到嚇人 跪推
06/27 22:13, 45F
文章代碼(AID): #1HAllsRL (AVEncode)
文章代碼(AID): #1HAllsRL (AVEncode)