2010/05/06

DXVAを使う

mp4がなにげに重いのでDXVAを使う
ついでに
PowerDVD10(CLCvd.axで検索すると…)
MPC-Standalone Filters(MPCVideoDec.ax)
http://sourceforge.net/projects/mpc-hc/files/
ffdshow DXVA
http://sourceforge.net/projects/ffdshow-tryout/files/
を比較してみた

axファイルの導入法は
適当なところにaxファイルを置いて
DirectShow Filter Tool
http://hp.vector.co.jp/authors/VA032094/DFTool.html
でフィルター登録後Win7DSFilterTweaker 3.1で設定
(場合によってはメリット値を変える必要があるかも)

ffdshow DXVAの設定は
DXVA Video decoder configurationを起動後
DirectShowのコントロールで
「以下でのみffdshowを使用する」のところにQonohaを追加
Hardware accelaration(DXVA)optionsの
DXVA codecs enabledのところのチェックボックスをon
設定後上記と同じようにWin7DSFilterTweaker 3.1で設定する
Qonohaでの確認はmp4の再生中に画面右クリック->情報
設定したコーデックが表示されていれば成功
このままコーデックをWクリックすると詳細画面が表示される

上記3つのCPU使用率を比べてみたところ
PowerDVD10
MPC-Standalone Filters
ffdshow DXVA
の順で軽いようだ
3つとも効果が劇的だったのでかなりの驚きだった

注意:QonohaのビデオレンダラはEVRにすること


Mission Complete R.T.B




win7での動画再生設定

標準のWMP12はどうにも使いづらいのでいまだにQonohaを使ってるのだが
こいつをwin7に導入した時はほんとに苦労した
調べてみるとMicrosoft DTV-DVD Video Decoderが絶対に使われるようで
メリット値を変えても無駄
やりやがったなマイクソめ!ってな感じで回避法を探し回り
見つけたのがこれ
Win7DSFilterTweaker 3.1
使いたいコーデックを選んでApplyしていくだけ
いやー簡単簡単、悩んでたのがうそのようだ

mp4再生にはHaali Media Splitterが必要なので注意

Mission Complete R.T.B

2010/04/12

avisynth:インターレース解除&24fps化(逆テレシネ) その3

インターレース解除簡易比較

オリジナルソース
















IT(fps=30,ref="TOP",diMode=1)
















TDeint(mode=0, order=1, field=-1, type=2, mtnmode=3, sharp=false , full=true, chroma=false, tryweave=true, link=1, slow=2)
















TomsMoComp(1,5,0)   
















TomsMoComp(1,5,1)                                             
















実写はTomsMoCompが適しているが場合によって、
ジャギーが出たりぼやけたりするのでアニメ系はTDeint、ITがいいと思います

Mission Complete R.T.B

2010/03/28

avisynth:インターレース解除&24fps化(逆テレシネ) その2

お勧めの24fps化(逆テレシネ)フィルターは以下の通り

TIVTC24P2
間引きの誤爆は少ないが激しい動きは破綻しがち、安定性に欠ける

関数
function TIVTC24P2(clip clip){
Interp = clip.AssumeTFF().SeparateFields().SelectEven().EEDI2(field=1)
Deinted=clip.TDeint(order=1,field=1,edeint=Interp)
clip = clip.TFM(mode=6,order=1,PP=7,slow=2,mChroma=true,clip2=Deinted)
clip = clip.TDecimate(mode=1)
return clip
}
フィールドオーダー:トップ->ボトム=order=1 ボトム->トップ=order=0
書式:TIVTC24P2()

必須プラグイン
EEDI2.dll
TDeint.dll
TIVTC.dll

TDeint + TIVTC
かなり安定している24fps化フィルター
書式:TDeint(mode=0, order=1, type=3, tryweave=true).TDecimate(mode=1, hybrid=0)
フィールドオーダー:トップ->ボトム=order=1 ボトム->トップ=order=0
必須プラグイン
TDeint.dll
TIVTC.dll

Mission Complete R.T.B

2010/03/26

avisynth:インターレース解除&24fps化(逆テレシネ) その1

エンコードの設定で一番大事なのはフレームレートの設定だと思う
いくら綺麗でもフレーム数がずれていたら元も子もない
ということで簡単なフレームレートの判別方法を紹介
まずはインターレース解除のフィルターを使いVirtualDub(日本語化パッチ)Aviutl等で読み込む

インターレース解除フィルター
IT(fps=30, ref="TOP", blend=false, diMode=1)#トップ->ボトム
IT(fps=30, ref="BOTTOM", blend=false, diMode=1)#ボトム->トップ

ソースによってフィールドオーダーが違うので
上記2つを使い分ける(判別方法はコマ送りしてカクカク不自然ならフィールドオーダーが間違っていることになる)
エンコソフトでソースを読み込んだら1コマづつ進めていき、
同じコマがないなら30fps
5コマ中2コマが同じなら24fps
というふうになる
まぁ、こんなことしなくてもaviutlに下記のavsファイルを放り込んで
フレームレートの変更はせず、インタレ解除の設定だけして
読み込めば簡単にできる
この場合、aviutlにはavsinp.auiが必須となる
avisynth.info (旧 AviSynth Wiki)参照


DGDecode_MPEG2Source("XXX.d2v",upConv=0,idct=5,cpu=0)
IT(fps=30, ref="TOP", blend=false, diMode=1)
return last


Mission Complete R.T.B

2010/03/23

avisynth:ソースの読み込み その4

DGIndexの拡張パラメーター
idct
iDCTアルゴリズムをパラメーターで指定する場合に使用
cpu
ソースの状態が悪い場合に使用するとかなり改善する
各パラメータを使用した例
DGDecode_MPEG2Source("XXX.d2v",upConv=1,idct=5,cpu=4)

Mission Complete R.T.B

2010/03/18

avisynth:ソースの読み込み その3

avisynthのDGIndex読みソースを他のエンコソフトに投げる場合、
気をつけなきゃならないのが色空間
aviutlはYV12読込みは非対応なので、
前回のスクリプトのまま投げると当然RGB読みになる
このときに有効なのがupConv、これで色空間を変える
aviutlの場合ならupConv=1でYUY2になり、
スクリプトはDGDecode_MPEG2Source("XXX.d2v",upConv=1)
ちなみに
0:ストレート(YV12のまま)
1:YUY2
2:RGB24
となる、詳しくはDGDecode Manual参照

Mission Complete R.T.B