View Single Post
Old 22nd September 2012, 11:10   #11  |  Link
martin53
Registered User
 
Join Date: Mar 2007
Posts: 407
StainlessS,
yes, I contacted the author. Currently, he cannot concern himself with the matter, but maybe in some weeks, he said.

IanB,
brilliant! I must admit, I'm a bit ashamed.
- VirtualDub shows the preview as expected. But afterwards, for example when I just want to close the video, VirtualDub crashes with this error message:
An out-of-bounds memory access (access violation) occurred in module 'ntdll'...
...reading address 06DD001F...
...while starting filter "General Quadrilateral Transform (v0.98)"
I remember that I wondered about a VirtualDub Crash later that evening, but was too tired to give it attention, and did not combine things.

- your padding example gives the same result, but
- ColorBars().ConvertToRGB32().BicubicResize(128,128).AddBorders(128,128,128,128).Crop(128,128,-128,-128).ScriptClip(...) made one core go to 100% CPU load (in the AvsPmod preview) until I lost patience. I'm going to change the quadrilateral parameters appropriately and play around with some more configurations.

EDIT
Although I think we understand the problem now, that hopefully the plugin can be reviewed, these are my test results.
Code:
LoadVirtualDubPlugin("D:\avs\avi\Quadrilateral.vdf", "QuadrilateralVDF",0)
ColorBars().ConvertToRGB32().BicubicResize(129,103)
#AddBorders(8000, 8000, 8000, 8000, $FFFF00) # Pad frame
#Crop(8000, 8000, -8000, -8000) # Mask padding
QuadrilateralVDF(1, 1, 1, 0, "0 139 0 139 126 126 0 0 0 139 0 139 126 126 0 0")
#Scriptclip("""QuadrilateralVDF(1, 1, 1, 0, "0 139 0 139 126 126 0 0 0 139 0 139 126 126 0 0")""")
- up to width 128, height 103, the result looks good and both quadrilateral alternatives work stable.
- with the non-RTE line active, starting from width 129, the result looks faulty towards the right edge, there is a tiny additional, mostly black column (although the quadrilateral x coordinates should support up to width 140). With the RTE line active, there is a tiny error message that I cannot read.
- starting from width 130 or height 104, one core (allow me to say "the Avisynth thread", although i guess AvsPmod & AviSynth use lots of threads) hangs at 100% forever.
- with reasonable clip dimensions, e.g. 640x480, see earlier posts.
- I could not identify a benefit from (even heavy) padding outside the RTE.
- With a multiline ScriptClip (with copies of the padding functions inside the RTE), I was able to increase the with, and read the error message: "ScriptClip: Function did not return a video clip with the same width as the source clip!" This error disappears with commenting out the quadrilateral function.
... so maybe it is not so much invalid read access in the input frame, but an invalid (too wide) frame being generated.

Last edited by martin53; 22nd September 2012 at 12:30. Reason: details about max. clip dimension tests
martin53 is offline   Reply With Quote