View Full Version : AviSynth 2.04 service release.


sh0dan
7th August 2002, 12:01
Here is a bugfix-release that helps some problems, and a bonus.


Changes from 2.03
- Compressed audio support in AVISource, AVIFileSource and OpenDMLSource. Boolean parameter after clip turns it off.
- Compile fix in temporalsoften.



Hope this release is a bit better!

Wilbert
7th August 2002, 12:40
I thought that the decomb-package was removed, but it is still in it. If my memory doesn't fail Donald didn't mind leaving in the Tweak plugin as a build in function.

Guest
7th August 2002, 12:48
Yes. I'm about to release a new version of Decomb and the current Avisynth won't be able to run it! That is not good. Please expedite the resolution of this issue. Thank you.

Richard Berg
7th August 2002, 12:54
The actual files were only removed about an hour ago, but I'm pretty sure Decomb will not run without a plugin in 2.03 or 2.04 (I commented out its inclusion in avisynth.cpp a couple days ago).

Edit - yep, "Avisynth error: there is no function named Telecide."

sh0dan
7th August 2002, 16:06
So we're cool?

fisix
8th August 2002, 14:18
a quick question... i have a p4-2.4GHz to put around on for a couple days, and i wondered what kind of speed increses i should see over a p3-1GHz. i've tested a little with avisynth-> cce and saw a lot less of a speed up than i thought i should. are sse2 opts. something that will someday enter avisynth? i've read some posts on how hard it seems to be to code everything for mmx AND sse (2 code paths), so i'm wondering what kind of gains i might see if i get a p4 for myself... so far it seems (if i stay with trying to do mpeg2) that my best bet is to max out on a tulatin..

in any event, i have the p3 and the p4 to test with..

any particular scripts you want benched against each other?

-fisix

vidiot
8th August 2002, 15:04
Fisix,

...maybe I´m wrong, but I thinkthe speed will be limited more by the speed of Ram then by the CPU speed.

I recognized by myself only a "little" speed increase by changing from my Duron 800 to a TB 1900+.

And most of the speed is because of using DDR Ram with 133 Mhz Board Speed instead of the "old fashioned" 100 Mhz Ram my Duron uses...

It depends of course on your filtering chain:
If you use a clar DVD Source without filtering you will see of course a bigger difference than for example using a spatial smoother with a big radius...

Harald

fisix
8th August 2002, 15:44
that all seems to follow what i thought, but the memory i'm using is PC800 which should be a pretty good pop compared to 133. either way, cpu or memory limited, there should be a bigger jump. IF, however, it is hardrive limited, then i'm just fighting myself because the p4 has one of the slow (but nicely quiet) seagates in it, and my p3 has the damn fast western digital bb drives in it. shrug.

what i did to test was to generate a simple avs that cropped and resized only, then used virtualdub to 'fast recompress' to an avi file. not a huge difference, maybe from 12-18fps on the 1GHz to 15-22fps on the p4. maybe i should try some heavy filtering... something that will keep most of the data in the cpu cache. wav->mp2 encoding was better than 2xp3 on the p4.

i also did a quick test on 2.01 vs. 2.04 on the p4 and there was a slight but noticable difference in total encode time with the newer version being a bit faster. maybe it would be more pronounced on the p3.

i've downloaded the latest intel compiler so i'm going to see if it might speed up the end binaries on a p4... if i can get avisynth to compile. too bad i can't auto compile the plugins i like to use as well. talk about an endless point and click project..

-fiz

trbarry
8th August 2002, 15:55
I added sse2 support paths to the save-oe versions of dvd2avi and mpeg2dec, based mostly upon some donated code, and also added some sse2 to SimpleResize and Xvid (IDCT,SAD16). (though I never released the Xvid code due to some nasm issues)

IIRC, it can make a net difference of 10-20% when I am using all of my own versions through the mpeg2dec/avisynth/vdub/xvid path though I have not done that recently. This is on the same P4 at the same clock speed.

OTOH, in my TomsMoComp filter I wrote an entirely different path in sse2 about 3 times and failed to get any performace improvement, so I deleted it. So it seems to depend a lot upon what you are doing.

- Tom

Richard Berg
8th August 2002, 16:24
what i did to test was to generate a simple avs that cropped and resized only, then used virtualdub to 'fast recompress' to an avi file. not a huge difference, maybe from 12-18fps on the 1GHz to 15-22fps on the p4.
What codec are you compressing to? Even if it's HuffYUV, at 22fps you're still not going to be disk-bound on a CudaIV. If it's an MPEG4 variant, obviously that's where the bulk of the work is being done. Avisynth is mostly integer math, which the P4 will do ok on without SSE2, but MPEG4 encoding requires lots of FPU work which the P4 sucks at.

tuco
8th August 2002, 16:25
Changes from 2.03
- Compressed audio support in AVISource, AVIFileSource and OpenDMLSource. Boolean parameter after clip turns it off.
- Compile fix in temporalsoften.

Does this mean any compress audio? I use to use adpcm (I think, may have misspelled it :) ) when I would capture but stopped since I couldn't pass it through avisynch.

sh0dan
8th August 2002, 16:31
If I understand it correctly, you'll be able to open any file Virtual Dub is capable of opening - otherwise, just try it out, and post the results :)

fisix
8th August 2002, 17:45
yeah, i'm just compressing back to huffyuv. i guess i can build up an intensive internal to avisynth avs and try some tests that way.

in the process of trying to compile avisynth, i get hung up on needing the windows 2000 platform sdk, because there is an undefined environment variable.. i've downloaded about 200megs so far of platform sdks and gotten no closer...

any hints? if need be, i'll post back with the envvar, but i think you could probably just do a search on win2k platform sdk (it's commented in) and you'd see the area i'm having problems with. its some sort of work around an ms dv rez issue.

-fiz

Blight
8th August 2002, 17:48
Here's a way to make avisynth go mental (vanish off the desktop)

Create an avsfile "whatever.avs"

Then add an entry:
AVISource("whatever.avs")

Opening this file will make the running application vanish off the desktop. Might want to make a loop check.

I would also like to make a comment,
With the current support for Audio, AVISynth could make an interesting real-time post processor for video. However there is one issues that seriously impedes this. DirectShow decoder support.

Without a DirectShow decoder, DirectShow is unable to enable Overlay Mode for the decoded data, giving a massive CPU hit for playback.

vlad59
8th August 2002, 17:56
@fisix

You also need the DirectX SDK.

Hope this helps

Blight
8th August 2002, 17:59
Ok, here's a correction...

You only lose Overlay if the output is RGB (32/24) (which it is if you ConvertToRGB...), it seems directshow can't handle RGB, so it throws in a color convertor filter which converts it to RGB16 of all things, which isn't supported by the overlay hardware!

Now, if only we had a YUY2 native WarpSharp filter...

fisix
8th August 2002, 18:21
hmm, installed the directx 8.1 sdk...

still trying

-fiz

fisix
9th August 2002, 01:17
ok, i've gotten rid of the external reference not defined error by manually setting the include options to look in the microsoft sdk include folder first, then the regular ones. did any of you have to do this manually, or is there some setup issue i don't know about?

in any event, i still don't get a complete compile, now i'm at this:

Linking...
xilink6: executing 'C:\PROGRA~1\MICROS~3\VC98\Bin\link.exe'
Creating library Profile/avisynth.lib and object Profile/avisynth.exp
source.obj : error LNK2001: unresolved external symbol _IID_IEnumPins
source.obj : error LNK2001: unresolved external symbol _IID_IGraphBuilder
source.obj : error LNK2001: unresolved external symbol _IID_IMediaPosition
source.obj : error LNK2001: unresolved external symbol _IID_IMediaSeeking
source.obj : error LNK2001: unresolved external symbol _IID_IMemInputPin
source.obj : error LNK2001: unresolved external symbol _IID_IPin
source.obj : error LNK2001: unresolved external symbol _IID_IBaseFilter
source.obj : error LNK2001: unresolved external symbol _IID_IMediaFilter
Profile/avisynth.dll : fatal error LNK1120: 8 unresolved externals
Error executing xilink6.exe.

avisynth.dll - 9 error(s), 1 warning(s)

hope someone can help a little

-fiz

Schultz
9th August 2002, 01:46
I am not totally sure on this but i think you will also have to set it up to look into the Lib directory for libraries so it can link with the latest libs outta the DirectX SDK

fisix
9th August 2002, 02:51
thanks, that was the ticket. poor me who doesn't know the ways of the sdk.

-fisix

sh0dan
9th August 2002, 09:22
We've all been there ;) Now I'm just happy it works :)

fisix
9th August 2002, 09:59
well, i'm still playing.

first try using the intel compiler (default speed optimations), i compiled avisynth and huffyuv, used them to open an avs (with vdub) that points at a 640x480 captured avi, crop, bicubicresize to 480x480, temporal smoother(2,2,2), then fast recompress save the avi to the same disk the capture is on. had some warnings about integer defines being too large when i compiled.

my compiled versions saved 2000 frames in 2:10, the downloaded ones in 1:50, both on the p4 2.4GHz.

so, obviously i need to look at the compiler switches.. and the next thing will be to use the straight up msvc++6.0 compiler and try to equal the speed of what you guys provide. from there i can twiddle with the intel compiler.

so, that aside, it still looks like just maxing out the GHz on a dual p3 tulatin setup would be good, relative to spending the cash on a p4rdram setup. i choose intel ONLY because i can make a reasonably silent pc with the low disipation cpus.

hmm. the p4 completly kicked butt vs p31GHz and xp2100 on a home made app that uses integer math to strip the skull and scalp and dura from an MRI image volume.. i expected more in the video manipulation realm.

-jig