2011/12/04

Avisynthが偶に落ちる問題がSetMemoryMax()で解決した

avs2yuv.exeが落ちる事があるのを解決できたのでメモ。

以前にも、avs2yuv.exeがエンコード中に偶に落ちる事がありました。
その時はavs2yuv.exeがメモリを2GB近辺まで使用していたので、AVSに必要なメモリが2GBより若干多いのかと思い、avs2yuvのソースをPAE拡張有効で自コンパイルして使う事にしました。

これで1年程度特に問題なくエンコードしてきたのですが、
最近、avs2pipemod.exeで特定の簡単な (殆どメモリを使用しない) AVSを読ませると途中で落ちるのを解決できずにハマってしまいました。

結局妙にメモリを消費しているのが怪しいと思い

SetMemoryMax(512)

をAVSの先頭に記述してAvisynthの最大メモリ使用量を512MBに制限したところ落ちなくなりました。

どのサイズで安定するかは処理するAvisynthのスクリプトやバージョン、環境によると思いますので試してみて下さい。

関連記事

エンコード関連記事一覧