amate / InputPipePlugin

L-SMASH_Works File Reader(lwinput.aui)を別プロセスで実行してあげることによって aviutlのメモリ使用量削減を目論む、aviutlの入力プラグインです
Other
129 stars 1 forks source link

avi読み込みでエラー #10

Open onogau opened 3 months ago

onogau commented 3 months ago

有益なツールの開発に感謝いたします。

以下の条件でエラーが発生しているので報告いたします。

OS:Windows11Pro 23H2 RAM:32GB InputPipePlugin:v2.0 【v1.9では発生しません】 ハンドルキャッシュ:有効 プロセス間通信:有効 データ交換方式:共有メモリ L-SMASH:L-SMASH-Works_r1118_Mr-Ojii_Mr-Ojii [Build-2024-05-19-01-26-29] /[Build-2024-04-16-01-18-07]

エラー内容: aviを読ませると以下のエラーが出ます。 (debug info file : patch.aul (r43_ss_58) )


code : EXCEPTION_ACCESS_VIOLATION (0xc0000005) address : 0x5ca985d8 (InputPipePlugin.aui + 0x000285d8) plugin_name : InputPipePlugin func_name : INPUT_PLUGIN_TABLE::func_open() read/write : 0 accessed address : 0x00000000

または

code : * C++ exception (0xe06d7363) address : 0x750c98b2 (KERNELBASE.dll + 0x001498b2) plugin_name : InputPipePlugin func_name : INPUT_PLUGIN_TABLE::func_open() Information[0] : 19930520 class_name : .?AVsystem_error@std@@ exception ptr : 00cfb7f4

エラーは出ますが、一応動画は読み込めます。 しかし、フレームを変えるたびに同様のエラーが発生します。

また、aviによっては読み込まれた画像が緑色になります。 他スレに緑色問題が挙がってますが、これと同じ現象だと思います。 この場合、以下のエラーが追加で出ているようです。

code : * C++ exception (0xe06d7363) address : 0x750c98b2 (KERNELBASE.dll + 0x001498b2) plugin_name : InputPipePlugin func_name : INPUT_PLUGIN_TABLE::func_read_video() Information[0] : 19930520 class_name : .?AVsystem_error@std@@ exception ptr : 00cfb89c

試したaviファイルは以下です。 codec:MotionJPEG YUV420 fps:60.000240 size:599x768・・・緑色になる / 1256x861, 1280x720・・・緑色にならない どれも同じキャプチャソフトで記録したものです。

他の情報が必要であればおっしゃってください。 よろしくお願いいたします。

onogau commented 3 months ago

すみません。 プロジェクトファイルが古かったせいで整合性がとれていなかったようです。 InputPipePluginを最新にした状態でプロジェクトを新規からやりなおしたら問題なくなりました。 お騒がせしました。

onogau commented 3 months ago

度々すみません。 不具合の再現性をチェックしなおしました。

結果、InputPipePlugin v2.0/v1.9 どちらにおいても問題が発生することを確認しました。 InputPipePluginを削除すると正常に読み込めます。

ただ、キャプチャしたavi(MJPEG.YUV420)が一般的でないのが問題な気もします。 mp4なら問題は発生していません。 今後はmp4でキャプチャするソフトを使って対処してみます。

以降、念のため不具合再現手順を報告します。 ・同一のキャプチャソフトでMJPEG/YUV420で記録したaviを2種用意  a:先の報告で普通に読めたavi  b:先の報告で緑になっていたavi ・新規プロジェクト作成 ・真っ新な状態から以下のパターンを試行  (1)aを参照する動画オブジェクト生成 -> bを参照する動画オブジェクト生成   結果:問題なし  (2)bを参照する動画オブジェクト生成   結果:緑になる。プロジェクト閉じる際にエラー(下記)  (3)(1)の後にプロジェクト保存 -> プロジェクトを読み直し   結果:問題なし。  (4)(1)の後にaを削除してbのみにした状態(この時点で緑にはならず)でプロジェクト保存 -> プロジェクトを読み直し   結果:緑になる。プロジェクト閉じる際にエラー(下記)

エラーの内容: code : EXCEPTION_ACCESS_VIOLATION (0xc0000005) address : 0x6446940a (InputPipePlugin.aui + 0x0002940a) plugin_name : InputPipePlugin func_name : INPUT_PLUGIN_TABLE::func_close() read/write : 0 accessed address : 0x00000000

aviでもL-SMASHで読まれていることはlwiが生成されることで確認しています。 lwiは毎回削除して新規作成させています。

以上です。