QSVEnc 3.01
Intel Media SDK 2018 R1 (API v1.26)に対応、それからAviutlプラグインのQSVEnc.auoをx264guiEx/x265guiEx同様にエンコーダを別プロセスとして起動するようにした。それだけといえばそれだけなんだけど、えらい時間かかった…。
Aviutlは32bitプロセスなため、4GBまでしかメモリを使用できないので、なるべく本体のメモリ使用量を削減したい。そこでQSVエンコーダをプロセスとして外出しすることで、Aviutl本体のメモリ使用量を削減する、というのが今回の目的。
そのほか、VQP/シーンチェンジ検出/extbrcなど、QSVの機能拡張により不要となってきたり、あまり効果がなかったりする機能を削除。結構コード上面倒なことになっているので、すこしすっきりしたかった。
あと、設定ファイルの形式も大きく変えたけど、一応互換性を残しているはず…。かなり大きな改変となったので、それなりにテストはしたけど、まだバグは残ってるかも。
※そのうち、NVEncでもやります…。
[共通]
・Intel Media SDK 2018 R1 (API v1.26)に対応。
・VQPモードを廃止。
ICQなどの登場により役目を終えた。
・extbrcオプションを廃止。
・シーンチェンジ検出を廃止。
あまり目立った効果はなかった。
[QSVEnc.auo]
・エンコーダをプラグインに内蔵せず、QSVEncCにパイプ渡しするように。
Aviutl本体プロセスのメモリ使用量を削減。
・設定画面のレイアウトが崩れてしまうのを修正。(QSVEnc 3.01)
120dpiで設定画面を作ると崩れる問題。96dpiベースで作り直した。
・簡易インストーラを更新。
QSVEncCの場所は簡易インストーラが自動的に設定する。
[QSVEncC]
・API 1.26で追加されたHEVC関連のオプションを追加。
--tskip, --sao, --ctu など。
基本的には、今後登場するCPU用(要はCannonlake用…らしい)。そのため、API 1.26に対応している5018ドライバなどを入れても、KabylakeやCoffeelake世代では使用できないみたい。
ただ、そのCannonlakeはいつ出るの? という問題が…。
・HDR関連metadataを設定するオプションを追加。
--max-cll, --master-display など。
例えば、下記のように指定する。
--max-cll 1000,300 --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
・rotationのmetadataが入力ファイルに存在すればコピーするように。
・"%"を含む出力ファイル名で出力しようとすると落ちるのを修正。
・"%"を含む出力ファイル名で--logを指定すると落ちるのを修正。
・yv12(10bit)->p010[AVX2]では、AVX2が使用されていなかったのを修正。
・avswのデコーダのスレッド数を16までに制限。
QSVEnc ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。
QSVEncBenchmark.zipはベンチマーク用です。(重いので注意)。run_benchmark.batをダブルクリックで実行です。
QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>
ソースはこちら
Aviutlは32bitプロセスなため、4GBまでしかメモリを使用できないので、なるべく本体のメモリ使用量を削減したい。そこでQSVエンコーダをプロセスとして外出しすることで、Aviutl本体のメモリ使用量を削減する、というのが今回の目的。
そのほか、VQP/シーンチェンジ検出/extbrcなど、QSVの機能拡張により不要となってきたり、あまり効果がなかったりする機能を削除。結構コード上面倒なことになっているので、すこしすっきりしたかった。
あと、設定ファイルの形式も大きく変えたけど、一応互換性を残しているはず…。かなり大きな改変となったので、それなりにテストはしたけど、まだバグは残ってるかも。
※そのうち、NVEncでもやります…。
[共通]
・Intel Media SDK 2018 R1 (API v1.26)に対応。
・VQPモードを廃止。
ICQなどの登場により役目を終えた。
・extbrcオプションを廃止。
・シーンチェンジ検出を廃止。
あまり目立った効果はなかった。
[QSVEnc.auo]
・エンコーダをプラグインに内蔵せず、QSVEncCにパイプ渡しするように。
Aviutl本体プロセスのメモリ使用量を削減。
・設定画面のレイアウトが崩れてしまうのを修正。(QSVEnc 3.01)
120dpiで設定画面を作ると崩れる問題。96dpiベースで作り直した。
・簡易インストーラを更新。
QSVEncCの場所は簡易インストーラが自動的に設定する。
[QSVEncC]
・API 1.26で追加されたHEVC関連のオプションを追加。
--tskip, --sao, --ctu など。
基本的には、今後登場するCPU用(要はCannonlake用…らしい)。そのため、API 1.26に対応している5018ドライバなどを入れても、KabylakeやCoffeelake世代では使用できないみたい。
ただ、そのCannonlakeはいつ出るの? という問題が…。
・HDR関連metadataを設定するオプションを追加。
--max-cll, --master-display など。
例えば、下記のように指定する。
--max-cll 1000,300 --master-display G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,1)
・rotationのmetadataが入力ファイルに存在すればコピーするように。
・"%"を含む出力ファイル名で出力しようとすると落ちるのを修正。
・"%"を含む出力ファイル名で--logを指定すると落ちるのを修正。
・yv12(10bit)->p010[AVX2]では、AVX2が使用されていなかったのを修正。
・avswのデコーダのスレッド数を16までに制限。
QSVEnc ダウンロード>>
ダウンロード (ミラー) >>
OneDriveの調子がいまいちの時はミラー(GDrive)からどうぞ。同じものです。
QSVEncBenchmark.zipはベンチマーク用です。(重いので注意)。run_benchmark.batをダブルクリックで実行です。
QSVEncCのオプションについてはこちら。
QSVEncCオプション一覧>
ソースはこちら
スポンサーサイト