dubhater / vapoursynth-mvtools

Motion compensation and stuff
181 stars 27 forks source link

MFlowInter crashes with certain combination of blksize, overlapv, divide and thscd1 #35

Closed zorrozork closed 5 years ago

zorrozork commented 5 years ago

The crash occurs with a certain combination of parameters: MAnalyze with blksize=16, overlapv=4 and divide=1 or 2. MFlowInter with thscd1=200 or larger.

The source video affects which thscd1 threshold triggers the bug. Changing the overlapv to any other valid value 0, 2, 6 or 8 makes the bug disappear. Using divide=0 makes it go away too. It's possible to trigger the bug with other block sizes, for example using blksize=32 and overlapv=8.

This bug is basically identical to one I reported to Pinterf's Avisynth MVTools. He mentioned that the bug was fixed in this update.

I have attached a small script which triggers the crash, just change the source video. My system is Windows 10, VapourSynth R45 64-bit (I'm using the portable FATPACK) and latest MVTools version.

mvtools_error.zip

dubhater commented 5 years ago

Thanks for the report. I copied pinterf's fix. Please try this MVTools DLL.

zorrozork commented 5 years ago

This one works, crash is gone (tested with 10 000 parameter combinations.). This was quite common problem when I ran MVTools with random parameters, so thanks a lot for the fix!