先週更新したのですが、今まで使用していて何ら問題がなければ r935 に更新したからといって特に気にする必要は無いはず……。と、これだけでは素っ気ないので、更新された主な部分を3点ほど。NVDEC については、これといった日本語記事が見当たらなかったため、少しだけボリューム増で書いてみた。
こういう映像に出会った記憶が無いため、再現された映像と条件を見てこういう事が起こり得るのかと勉強になった。
NVDEC は CUDA による GPU アクセラレータではなく CUDA コアとは別に実装された H/W ロジックなので、デコード処理をしながら CUDA コアを GPU 本来のグラフィックス処理や GPGPU としてほぼフル活用できるところに利点がある。
ただし、同じアーキテクチャの GPU であっても対応表どおりの実装をしているとは限らず、例えば Pascal の GP100 および GP104 コアは表どおりのコーデック対応だけれど、GP102、GP106、GP107 コアの Pascal は NVDEC による VP8 デコードをサポートしていない。詳しくは NVDEC Support Matrix *4 にて確認できるので、所持または購入予定の NVIDIA 製ビデオカードがどのコアでコーデックの対応状況はどうであるか、予めチェックしておくといいかもしれない。
で、使用方法は Readme.txt の Preferred decoders(AviSynth は decoder) に書いてあるとおりで
H.264/AVC → h264_cuvid
H.265/HEVC → hevc_cuvid
MPEG-2 → mpeg2_cuvid
VP8 → vp8_cuvid
VP9 → vp9_cuvid
このような指定をします。
3a. NVDEC(CUVID) のデコード性能
NVIDIA が公表しているデータのひとつとして Tesla M60(Maxwell 2nd Gen [GM204] x2) と Tesla P40(Pascal [GP102] x1) における H.264/AVC YUV4:2:0 8bit depth(H.264 として広く使われている標準的なフォーマット)のデコード性能を示したものがある。
↑ H.264 のデコード性能*3
Profile と Level で表記すれば良くない? と思わなくもないけれど、4k 解像度で Tesla M60 は 120fps にやや満たない位、Tesla P40 で 150fps 少々のパフォーマンスが出ているので、マクロブロック(16x16)の処理性能を Tesla M60 が約 370万~380万 Macroblocks/s 、Tesla P40 は約 500万 Macroblocks/s 前後と見積もると──
- ・Tesla M60(GM204) = Main or High Profile Level 5.2 (Level 6 に少し届かない)
- ・Tesla P40(GP102) = Main or High Profile Level 6 (Level 6.1 には及ばない)
相当のデコード性能か。フル HD 映像であれば純粋に4倍近いデコード速度が得られるかもしれない(NVDEC の演算器以外の部分に大きなオーバーヘッドがなければ)。
なお、Pascal(GP102) を載せたビデオカードは GTX 1080 Ti や Pascal 世代の TITAN X 、Maxwell 2nd Gen(GM204) 搭載ビデオカードが GTX 980/970 の前世代ハイエンドクラスではあるけれど、NVDEC の実装は GPU アーキテクチャごとに差があるものの、同アーキテクチャ間ではミドル・ローエンドでもデコード速度にそれほど差は無い模様。自身で確認できないため確定的な書き方はできないけれど、Pascal 世代の GP10x 系であれば Tesla P40 と同程度のパフォーマンスを期待できるかもしれない。
期待どおり「動けば」だけど。
■ 出典・参考文献(外部リンク)
*1 [FFmpeg-devel] [PATCH] mpeg2dec: fix decoding field pictures
*2 まるも製作所 MPEG-2 VIDEO VFAPI Plug-In ver. 0.7.10
*3 NVIDIA VIDEO CODEC SDK | NVIDIA Developer
*4 Video Encode and Decode GPU Support Matrix | NVIDIA Developer
AVIUTLに入れてもダメなんだけど・・・。
L-SMASH Works r917をD.Lしたいのですが、見つかりません
手順通りにAviUtlに入れたのですがきちんと入っていません、lwinput.auiというファイルが320KBしかないのですが正常なのですか