將上面的 script 載入 VirtualDubMod,然後按方向右鍵一張一張看過去,看到有 Decomb IVTC 錯誤的部分,就把錯誤的 frame 編號,例如 10730,還有要修改的方法,例如改成用和 c match,然後強制對這個畫面做去交錯,把這些修正,寫到 120fps.tel.avs 裡面
10730 c <-- 強制和 c match
10730 + <-- 強制做去交錯
如果某個畫面要強制它不要做去交錯,用 "-" 這個符號。
用這個控制,所有的去交錯都是單張去交錯,不會有良好的畫面也無辜的被去交錯到。
又例如
8158,8453 pccnn
代表從 8158 到 8453 這幾個 fame,用 pccnn 這個 pattern 來做 match。
10857,10921 b 2
代表從 10857 到 10921,做完一般的 match 之後,還要再做 backward match,所以加上 "b",後面的 2 代表,無論一般組合組合完畢之後,結果的交錯情況如何,都一定要再做 backward match。
如果設為 b 1,代表一般組合組合完畢以後,如果結果的交錯量還是大於設定的參數,才要再嘗試做 backward matching,否則就直接省略。
為什麼這個覆蓋檔要取名為 120fps.tel.avs,tel 是 telecide 的意思,為什麼後面還要再加一個 .avs 呢?它又不是 avisynth 的 script。
因為加上 .avs 的附檔名,這個檔案可以直接用 VirtualDubMod 的 script editor 開啟,script editor 這個文字編輯器有許多快速鍵和 VDMod 連結,例如修改完畢以後按 Ctrl + S 就會存檔,按 F5 會重新載入 avs,這樣修改、觀看結果比較快速、方便。
show=true 這個參數的意思是讓 Decomb 在畫面上 overlay IVTC 的資訊,它會告訴你目前畫面它是用哪一種 matching,三種組合的 v_threshold 分別是多少等等,這些有用的資訊讓你 debug 的時候比較好做判斷。
修改完以後,script 變成下面這樣
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\MPEG2Dec3dg.dll")
LoadPlugin("c:\Program Files\AviSynth 2.5\plugins\decomb510.dll")
clip=Mpeg2Source("120fps.d2v")
clip=clip.Telecide(order=1,post=
2,vthresh=83,dthresh=13,blend=true,ovr="120fps.tel.avs")
.freezeframe(8321,8321,8322).freezeframe(8336,8336,8337)
.freezeframe(8352,8352,8353)......
post 改回 2,真的做去交錯,不是只顯示交錯的資訊。=3 顯示交錯的資訊是前面幫助我們 debug 的時候用的,現在修正完了,要記得改回來。
同時 show=true 也要記得去掉。
什麼是 freezeframe(8321,8321,8322)?
這是 Avisynth 內建的指令,它的作用是把一個範圍內的 frame 都置換為你指定的某一個 frame。這裡 (8321,8321,8322) 代表把從 8321 到 8321 的 frame,也就是只有 8321 這個 frame,把 8321 這個 frame 用 8322 這個 frame 代替。
這個功能等於 TMPGEnc 的 copy frame。
不同的是,TMPGEnc 的 copy frame 只能 copy 前面的 frame,直前的那一個 frame,這裡 freezeframe 可以指定任意一個前面或後面的 frame 來 copy。
有時候有些畫面是怎麼補都補不回來的,怎麼補都會有交錯,所以我們會用 copy frame 的方式,把爛掉的那一張 frame 用鄰近完好的 frame 代替。
上面的做法只有一張 frame 需要 copy,只有一張 frame copy,其實 Avisynth 有另外的指令可以做到,語法比較簡潔,不用寫那麼多數字。
當然,這樣的做法還是很笨,為了要讓工作更方便,你可以自己寫一些做這種 copy 動作的 function,例如 Doom9 上有一位 mf 兄,各位可以看看他寫的 script
http://forum.doom9.org/showthread.p...highlight=yatta
看完以後,你就會覺得我寫的 script 一點都不可怕,一點都不辛苦,他的 script 那才真的是變態 :P
Doom9 的這一篇討論是在討論 Anime 的去交錯,mf 冒出來說,如果對自動 IVTC 的效果不滿意,可以和他一樣,手動寫 script 補正,或者用一個叫做 YATTA! 的工具輔助。
YATTA! 這個工具後面再說明。
接下來有人說這樣一個一個補正不是很累嗎,一部動畫 30 frames*60 seconds*24 minutes = 43200 frames,全部手動處理?!
mf 就把他的 400 行手動 override 的 script 貼出來。
真的很恐怖 ^^;;