とりあえず、わかる範囲で調べて推理してみる。
Avisynthの動作イメージ
Avisynth は、フレームサーバーということで、読み込みは大まかに下記のようになっているはず。
- 32bit ApplicationでAVSファイルを読み込む
- 32bit Applicationからの呼び出しなのでAvisynthも32bitのほうが呼ばれる(Windowsの動作)
- avisynth.dll(32bit)は、レジストリに記録されているプラグインフォルダをオートロードする
- avisynth.dll(32bit)は、AVSファイルに書かれているソースを読み込み、AVSファイルの記述どおりに処理をしながら32bit Applicationにデータを返す
Avisynthのレジストリアクセス先
こちらもこんな感じになっている
Avisynth 2.5.8
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth] (規定) = C:\AviSynth 2.5 |
インストールパスを格納 |
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth]plugindir2_5 = C:\AviSynth 2.5\plugins | プラグインのパスを格納 |
Avisynth 2.5.8 MT 64bit
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth] (規定) = C:\AviSynth 2.5\plugins |
プラグインのパスを格納 |
[HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth] plugindir2_5 = C:\AviSynth 2.5\plugins64 |
プラグインのパスを格納 |
Avisynth 2.6
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth] (規定) = C:\AviSynth 2.5 |
インストールパスを格納 |
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\AviSynth] plugindir2_5 = C:\AviSynth 2.5\plugins |
プラグインのパスを格納 |
上記を見てのとおり、Avisynth 2.5.8とAvisynth 2.6は完全に衝突している。(ま、そうだろうね。現時点でAlpha5だし。)
逆に、Avisynth 2.5.8 MT 64bitは64bitのためレジストリも64bit側が呼ばれるため独立しているからそのままでよさそう。
というわけで、Avisynth 2.5.8とAvisynth 2.6のavisynth.dll内のレジストリキー指定箇所を探してみる。