View Full Version : Bug in invert() ?
krieger2005
13th October 2006, 22:56
Hallo,
i used a script and with this script VDub close just after opening the script. No Message, nothing. This is the Script:
crop(0,0,1,0).invert()
Input-Colorspace is RGB32. The croping work fine and give me a clip with the right resolution back. But when i call after this "invert()" VDub close.
I use Avisynth 2.5.7 RC-1 (160906).
Guest
13th October 2006, 23:01
Is there a typo?
crop(0,0,1,0) specifies width 1 and height 0!
krieger2005
13th October 2006, 23:12
With an input of 720x432 i get with this command a 1x432-clip, so: i use exacly this script to get this problem.
EDIT: With this script
crop(0,0,1-width,height).invert()
i get just the same problem
EDIT2:
with this Script also:
crop(0,0,1,height).invert()
Guest
13th October 2006, 23:44
What final size are you aiming at? You don't appear to understand the syntax of crop.
krieger2005
14th October 2006, 00:50
1x432 ;). I get exactly what i want. i want the left row of the frame, so only a Frame with a width of 1 width and the same heigth as the input. How would you crop to get such results?
However. The crop-command alone result in an output of a frame, which i want. But after calling invert() (in RGB32-Colorspace) VDub crash.
foxyshadis
14th October 2006, 02:23
What happens if you use align=true in crop?
IanB
14th October 2006, 02:54
@krieger2005,
Thanks. Yes you have found another bug from a very much younger Arda/Sh0dan. They did one loop first then test for the end. I'll add it to the to be fixed list.
Current minimum width will be 4*8=32 bytes. i.e. 8 RGB32 pixels, 16 YUY2 pixels and 64 YV12 pixels (32 UV plane).
Use this as a workaroundcrop(0,0,8,0).invert().crop(0,0,1,0)
@Neuron2,
Crop width <= 0 is interpreted as (Input WIDTH)+width, likewise with Height. THe resizer core now works the same way as well for negative input crop values.
@foxyshadis,
Crop(... align=True) only repairs left side misalignment. In this example the left size alignment is unchanged.
krieger2005
14th October 2006, 02:54
crop(0,0,1,height,align=true).invert()
Result: VDub close, same as before. Can nobody reproduce this?
EDIT: @IanB: Thanks for the workaround.
Didée
14th October 2006, 03:03
Dunno how AS 2.57 is supposed to act ... at least AS 2.56 usually gets death ill with frame dimensions below 16, hardly manages to cough one last "Access violation!" before going six feet under.
Edit: grrr ... too late for the joke being funny.
IanB
14th October 2006, 03:13
@Didée,
Yes there is much code that chokes and dies with small widths. Perhaps a cheap solution might be to hack in a minimum pitch of say 32 bytes in to env->NewVideoFrame() to protect all the bad filters from themselves.
ARDA
16th October 2006, 12:07
@krieger2005
If you compile avisynth with this fast fixed I think it will work
http://www.iespana.es/Ardaversions/ConvertFrame_MMX_Row.7z
It needs a minimum row of 4 bytes
Warning you must rename the function!
@IanB
My apologizes to have been so far for so long time and haven't answered to this thread faster.
All SSE2 invert's codes I sent you some months ago should be fixed as well; maybe in a few days.
I don't know if it is posible or necessary to fix smaller than 4 bytes row; this was a fast fix. Warning not tested!
Greetings Arda
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.