堺風の頭部

徘徊、カメラ、PC、その他。

RX470でVCEエンコード

 最近のビデオカードだと、動画のエンコードなどにGPUの支援機能を使える。

 

rigaya34589.blog.fc2.com

 ここでAMDGPU向けの、VCEを用いたH.264エンコードができるAviUtlプラグインを頂いて、例のRX470エンコードしてみた。
 こういう使い方は、出力のないビデオカードの本来の用途感あるな。

 

 

 使った動画は、御城プロジェクト:REのプレイ動画。(前にYoutubeに上げてある)
 1280x720ピクセル・30fps・6分37秒。

 これを、「拡張VCE出力」プラグインの標準設定(H.264 CQP標準)でエンコードした。

encoded 11916 frames, 190.54 fps, 2747.01 kbps, 130.07 MB
encode time 0:01:02, CPULoad: 10.4

 すると、190.54 fpsエンコード速度。6.3倍速くらいだ。

 

 が、同じ動画を、IntelのCPUで利用できるQuick Sync Video(QSV)エンコードしてみる。これもrigayaの日記兼メモ帳さんでAviUtl用プラグインをダウンロードできる。
 設定は標準(CQP(固定量子化量))で。
 CPUはCore i3-6100。Skylakeなので、QSVバージョン5になる。

encoded 11916 frames, 178.80 fps, 2410.62 kbps, 114.14 MB
encode time 0:01:06, CPULoad: 10.3

 これでも178.80 fpsも出た。5.96倍速。中級クラスのビデオカードに匹敵する速度を、CPUに内蔵されたオプション機能が叩き出しちゃうとは。
 出力された動画ファイルも、ファイルサイズも画質も似たようなものに思えた。

 

 単に動画をH.264エンコードするだけだと、RX470とCore i3-6100のQSVが同等の処理性能のようだ。

 ただ、QSVが速いのは、専用の回路をCPU内に組み込んでいるおかげらしい。だから、対応しているH.264 / 265とかVP8のエンコードだけしかできない。
 GPUはもう少し汎用性があるので、エンコード以外のフィルタ処理とかにもGPUを利用できる環境だったら有利になるはず。AviUtlでそういう環境を作れるかわからんけど。