ちょいと機能追加。
・VapourSynth読み込み(要VapourSynth r19以降)
・シーンチェンジ検出・VQPの改良
・プロファイルの追加とか
とか。
VapourSynth読み込み
VapourSynth r19 のVSScript.dllを使ってvpyを直接読み込む。もちろんVapourSynthのr19以降をインストールしてください。avi(vfw)読みよりは若干速いかも。
yv12(VapourSynthでいうところのYUV420P8)読み込み専用なのでyv12以外の場合は自動的にavi(vfw)読みに変更される。(というよりavs/vpy読みでなんらかのトラブルが起これば自動的にaviに回して再チャレンジする、割と適当な作りになってる)
結局LoadLibraryしてるのは、VapourSynthインストールされてないとQSVEncCが起動しなくなるので。(VCの遅延ロードという手もあるけれど)
1.05の時点でコードはできていたので、簡単にいけると思ったら、
正式版になってvsscript_evaluateFileってのが追加されてもっと簡単に書けそうじゃね?
↓
なぜか動かない
↓
あ…これファイル名UTF-8でないと開けないのか…
↓
IMultiLanguage2でS-JIS→UTF-8変換しよう→これで解決
↓
結局コード簡単になってない…
あれ~?
まあ面倒といってもたいしたことはないけども。
シーンチェンジ検出・VQPの改良
シーンチェンジ検出やVQPはある程度効果はあるのだけど、これまでは入力がプログレッシブ(非インタレ)である必要があった。
これをごちょごちょいじって、入力がインタレであってもvppのnormalかbobでインタレ解除している場合にはシーンチェンジ検出やVQPを使えるようにした。
VPPのインタレ解除はIT(24fps化)は残念だけど、normalとbob化はそれなりに使えるので、この辺りでシーンチェンジ検出ができるようになったのは大きいかな、と。
相変わらず「MFX_FRAMETYPE_xIDR」を送ると死んでしまうので、インタレ保持 + シーンチェンジ検出ができない…。
QSVEncのプロファイル
何パターンか追加しておいた。
QSVEnc ダウンロード>>Intel Media SDKのソフトウェア用dllはfull版にのみ含めるようにしてみました。
電源死んだ…とかいうトラブルもあったりしたけども、電源は買い直してPCは無事復活。お金は飛んでったが…。
この電源、もともと残念な個体だったのか、冷却が不十分だったのか…。
最近の電源ってやたらファンの回転数落とすので、不安になってしまう。多少うるさくてもいいんだけど…。もちろん新し目のケースなら、電源は下に設置するのが多くて、CPUの排熱を受けたりしないけど、昔のケースだと電源を上に設置するから、CPUクーラーで熱くなった空気しか来ないので、その分ファンを回さないと…と思う。そういう点でも簡易水冷のほうがいいのかなあ…。