PDA

View Full Version : VFAPIConv bombs with non-mod32 width in 2,5


angelyote
7th March 2003, 02:44
Not wanting to shell out the cash for link2, or be stuck with 5fps with the demo, I'm using VFAPIConv to get avs scripts into stubborn programs.

The question I have is why does the width need to be a multiple of 32 to convert properly using avisynth 2.5 but I can use any resolutions using it with avisynth 2.07? If the width is not mod32 I get the standard vfapiconv error 'avs is not valid'.

I guess it shouldn't really make much difference but what I've been doing is trying to get perfect aspect ratio. I don't understand it very well so I've been opening my d2v, cropping, then setting the width/height multiples to 2. I find a perfect aspect ratio that way, then I find the next highest mod32 width and mod16 height. I then divde those each by 2 and those are the borders I add (making sure that if they come out odd that the left/top value gets 1 added and bottom/left gets 1 subtracted). I think I picked this up from -h in another thread. :)

So can someone help me figure this out? I really enjoy using 2.5 but the mod32 height in vfapiconv is making it harder to get just the right resolutions.

Dave

EDIT: Height can be anything and still open properly, even an odd number. Possibly as part of this is that tmpgenc doesn't like avs with non-mod32 width in avisynth 2.5. I get divide by zero error. If I go back to 2.07 everything is fine.

sh0dan
7th March 2003, 05:40
This might very well be because of the new alignment in 2.5.

I'm not using VFAPIConv - is it an input filter for 2.5, or a program opening AVS-files?

Could you post a faulty script and colorspace information?

As dfor TMPGEnc, it should very well be able to open any size AVS file. If not, try the "DirectX 8.1 fix" at the bottom of the CVS page in my sig, or end your script with ConvertToRGB24().

angelyote
7th March 2003, 06:54
VFAPIConv is an avi wrapper, much like link2. Essentially it opens an avs and creates a small avi that, I guess, frameserves through avisynth. This is really handy for me because I've been using windows media encoder but want to get the benefit of the great avisynth filters. I am keeping my fingers crossed for a wme9 codec that I can use in vdub. :)

This is a script that fails. Everything in yv12.
loadplugin("C:\program files\avisynth 2.5\plugins\mpeg2dec3.dll")
loadplugin("C:\program files\avisynth 2.5\plugins\decomb.dll")
mpeg2source("C:\noir_1\video_ts\noir-2.d2v")
telecide(guide=1)
decimate(mode=2)
crop(6,0,712,480)
LanczosResize(532,296)
addborders(6,4,6,4)

This is a script that works.
loadplugin("C:\program files\avisynth 2.5\plugins\mpeg2dec3.dll")
loadplugin("C:\program files\avisynth 2.5\plugins\decomb.dll")
mpeg2source("C:\noir_1\video_ts\noir-2.d2v")
telecide(guide=1)
decimate(mode=2)
crop(6,0,712,480)
LanczosResize(512,288)
addborders(6,4,6,4)

Interestingly if I install avisynth 2.07 the bad script works fine (with the adjustment of the plugins). Commenting out the resize will allow the script to work also.

Dave

sh0dan
7th March 2003, 19:01
(Sorry - this should actually have been in the Usage forum after all - I just assumed you were frameserving TO AviSynth, and it therefore was an internal issue).

Anyway - as far as I understand, VFAPI is working in RGB only, so you might as well convert your material to RGB at the end of the script. You still might get some speedup from the faster conversion, and in most cases faster internal processing.

I'm not sure if it's fastest to use RGB24 or RGB32 - you might try both and see which is the fastest.

WarpEnterprises
9th March 2003, 22:20
VFAPI needs RGB24 (RGB32 doesn't work - at least on my system)