PDA

View Full Version : AviSynth 2.5.3 Released


sh0dan
11th November 2003, 19:47
Hi folks!

AviSynth 2.5.3 has finally been released!

This is a major stability and feature release compared to AviSynth 2.52. Many bugs has been fixed, and DirectShow support has been seriously upgraded.

As always the new Release can be downloaded from Sourceforge (http://sourceforge.net/project/showfiles.php?group_id=57023).


Complete changelist:

Additions:

* Added audio support to DirectShowSource.
* Added seeking support to DirectShowSource.
* Added .GRF file loading to load filter graphs from GraphEdit. Be sure there is an open pin, to which AviSynth is able to connect, otherwise expect "the filter graph won't talk to me".
* Added optional coring=true/false to Levels and Tweak. both true by default, as previously.
* Added Histogram(mode ="levels") and Histogram(mode = "color") which displays levels histogram and YUV color placement.
* AviSynth now properly converts to and from 24bit audio. WAV-files exported from vdub are compatible with at least WinAmp and CoolEdit.
* German documentation.
* Added DV type 1 video input, using AviSource(). Video only!
* DirectShowSource() is now capable of properly opening audio with more than 2 channels. Tested with AC3Filter.
* DirectShowSource() now accepts and properly decodes float-precision samples. Tested with AC3Filter.
* Added checks for samplerate and framerate in Splice.
* SwapUV(), UToY(), VToY() and YToUV() now also works in YUY2 mode.
* Added C-style plugin support (still in testing) to allow plugin writers to use other compilers than MSVC.
* Added Invert(), ShowAlpha().
* Added default parameters to ColorBars.
* Extensive updates of German documentation.
* DirectShowSource capable of opening audio only. WAV/AC3/MP3 can be opened using DirectshowSource.
* Added experimental "align=true/false" to crop - this will realign frames if they aren't already. Alignement is 16 for SSE2 machines, 8 for others.
* Added "Overall PSNR for Compare()" - thanks to temporance.
* ResampleAudio now accepts any number of channels.
* Added "after_frame=true/false" option to FrameEvaluate. This determines if the script should be evaluated before (default operation) or after the frame has been fetched from the filters above.


Bugfixes:

* Fixed memory leak in Plugin name export.
* Incorporated file lock fix in AviSource by WarpEnterprises.
* Minor fixes to field information in Info().
* Fixed occational hangs in DirectShowSource.
* Fixed crashbug in Compare, when logfile was specified.
* Fixed overflow in ResampleAudio (Thanks to IanB!). [Bug 770853].
* Fixed MergeChannels broken with more than 2 channels.
* Made adjustments for longer sample support in ResampleAudio.
* Fixed crash in ResampleAudio, if no audio was present.
* Fixed crash in MonoToStereo().
* Fixed: Normalize(show = true) displaying invalid value, and added a dB amplification indication.
* Fixed minor issues in audio routines with very long samples.
* Fixed wrong colors in ShowSMPTE YV12 mode.
* Corrected several performance problems in Limiter, YUY2 mode (thanks again ARDA!).
* Fixed YUY2 FlipHorizontal giving garbage/crashing.
* GeneralConvolution now properly processes 5x5 matrices. Thanks IanB? for the patch.
* Fixed minor stuff in TemporalSoften.
* (Hopefully) fixed precision in PointResize.
* ConvertBackToYUY2 now throws an error if non-RGB is delivered.
* Fixed occational crashbug in conditional Plane stats.


Optimizations:

* Added heavily optimized memory copy mode, that will be used in some blits.
* Conditional unroll of fetch/unpack loop in dynamic compiled resizer. Now only unrolls if 1) Athlon 2) Source width < 512.


Changes:

* Further clarification in Info() regarding field information.
* Minor changes to Limiter code (block prefetch).
* ApplyRange now accepts startframe = stopframe. This will only process the specified frame.
* ApplyRange now supports audio and processes it to the end of stopframe.
* Reenabled function name export for VDubMod syntax highlighting - I'm not sure if it had much effect on stability.
* Corrected ParseMultiplication so it parses from left to right.
* The default luma range in Limiter is corrected to 16-235 (it was 16-236).
* Temporarily disabled plugin function export for VDubMod. I'm suspecting this of the "crash+disappear" of VdubMod.
* Removed HSIAdjust().
* Removed ffvfw from installation.
* ShowSMPTE does no longer require fps parameter - only if the current fps cannot be used.
* Made thread-safety changes to frame reference counting.
* Exposed internal cache filter for plugins to use. Use it after an Invoke to cache frames.

sh0dan
11th November 2003, 19:57
For those very helpful people here, the changes from the last (November 10th) CVS Binary:

* DirectShowSource now always throws "could not detect fps", even if audio could be opened.
* Made DSS error messages report both audio and video, if neither can be opened.
* AviSynth now properly converts to and from 24bit audio. WAV-files exported from vdub are compatible with at least WinAmp and CoolEdit.
* Added Histogram(mode ="levels") and Histogram(mode = "color") which displays levels histogram and YUV color placement. YV12 only:

http://cultact-server.novi.dk/kpo/modelevels.jpg
http://cultact-server.novi.dk/kpo/modecolor.jpg

jorel
11th November 2003, 20:44
big thanks for tons of additions and bugfixes!
very power-full. ( 24bit audio )
:cool:

Soulhunter
11th November 2003, 20:57
Yeah !!!

Also big THX to the "Dark Side of the Moon" inhabitant... :D

Bye

sh0dan
11th November 2003, 21:14
Originally posted by Soulhunter
Also big THX to the "Dark Side of the Moon" inhabitant... :D


You wouldn't believe the ping-times I'm getting from uphere! ;)

kempfand
12th November 2003, 01:23
Great work sh0dan. You really push the limits and help us go 'where noone has been before'.

Kind regards,

Andreas

arkoko
12th November 2003, 07:06
Hi!
Installed 2.5.3 avisynth.dll (279040 bytes, 11.11.2003) version in file properties still show 2.5.2.0
Forgotted to change?

AK

Tuning
12th November 2003, 07:59
Thanks sh0dan,
Its working really as you expected.Great work!

Si
12th November 2003, 09:03
[EDIT]
Sorry - didn't read post properly.
Didn't even realise Window's gave version info on dll's

regards
Simon

sh0dan
12th November 2003, 09:07
Originally posted by arkoko
Hi!
Installed 2.5.3 avisynth.dll (279040 bytes, 11.11.2003) version in file properties still show 2.5.2.0
Forgotted to change?
AK

Yeah - this will be fixed in version 2.5.4 ;)

lighty
12th November 2003, 21:04
Well, this version seems to throw me exception when exiting VirtualDub and VirtualDubMod, also when trying some scripts like this


LoadPlugin("C:\Program Files\AviSynth 2.5\plugins\MPEG2Dec3dg.dll")
LoadPlugin("C:\Program Files\Avisynth 2.5\plugins\decomb510.dll")
MPEG2Source("C:\temp\tng.d2v", idct=2)

function FOrder(clip c){
fo = GetParity(c)? 1:0
return fo
}


Telecide(FOrder(),guide=1,post=0,debug=true)

When I reverted back to Avisynth 2.5.2 evrything works fine again.

sh0dan
12th November 2003, 21:11
If you have avisynth_c.dll or smartdecimate.dll in your plugin directory, try removing it.

lighty
12th November 2003, 22:49
Yup. That solved my problem.:) Wonder why it acts like that when SmartDecimate plugin isn't called in script? :confused:

Cyberia
13th November 2003, 01:44
Could you make the Avisynth installer check the registry for where AviSynth is installed and install to that folder? I never install it to the default location, and I always come THAT close to clicking OK before I realize it. Sooner or later disaster will happen :)

acrespo
13th November 2003, 17:31
I detect a strange bug since 2.52 version (I didn't test 2.5 and 2.51 versions). I capture animes with analog device. My capture settings:

Resolution:320X480
Codec: Divx 5.1
Divx Settings: 1st quality based quantizer 2, Fastest, no BFrame, no Psy, Keyframe = 1

Problem:
I created a AVS script with only AviSource("d:\capture.avi") line.
The codec used to decode the video was DivX 5.1. Sometimes I see a full green frame (with a yellow dot). If I change VIDC.YV12 = "divx.dll" to VIDC.YV12 = "xvid.dll" in registry, and I open video again, the problem was gone. If I open video with VirtualDubMod directly (without AVS script) the problem is not occuring.

I captured a video with Xvid codec and back registry to decode with divx.dll. The problem is the same.

In other words, the problem of full green frame is occuring in the combination of AviSynth 2.52/2.53 and Divx 5.1 decoder with a resolution of 320X480.

JuanC
13th November 2003, 17:53
Originally posted by acrespo
...
I created a AVS script with only AviSource("d:\capture.avi") line....

I noticed (using the latest CVS snapshots and now the just released 2.53 in my config.) there's a big difference between AVIsource and OpenDMLSource when dealing with DivX sources (And using DivX5.1.x decoders), being the latter as much as twice faster than AVIsource. Have you tried that?

OpenDMLsource would give me very similar behavior and speed as VirtualDub[Mod], when I just play the video clip. While AVIsource would be like half the speed. ??? Can anyboday confirm that?

acrespo
13th November 2003, 18:12
I will try OpenDMLSource, but I have a problem: My captured files are bigger (more than 2Gbytes) and I think OpenDMLSource could not open my files, isn't it?

JuanC
13th November 2003, 18:22
Originally posted by acrespo
I will try OpenDMLSource, but I have a problem: My captured files are bigger (more than 2Gbytes) and I think OpenDMLSource could not open my files, isn't it?
To the contrary, here's the definition of OpenDML in avisynth.org (http://www.avisynth.org/index.php?page=OpenDML):

OpenDML is an extension to the original Video for Windows (VfW) file format.
It was drawn up to overcome the original 2GByte file length restrictions in avi files.

acrespo
13th November 2003, 19:18
Thanks, I didn't see avisynth docs. I will try OpenDMLSource more later and I will post the results here.

DDogg
13th November 2003, 20:08
DirectShowSource now always throws "could not detect fps", even if audio could be opened. Perhaps I don't understand, but just in case, I used DirectShowSOurce to open a realvideo.ram file, but forgot to specify the fps. WMP opened and played the audio without video and did not throw an error. Is this as expected?

sh0dan
13th November 2003, 20:25
It should only be thrown on cases where video is detected and the framerate cannot be determined. Your RAM file doesn't have video - so naturally it just opens the sound (otherwise it would just be silly) :)

DDogg
13th November 2003, 22:55
er, of course I knew that...Congratulations, you passed the test :D

cweb
14th November 2003, 13:01
Originally posted by sh0dan
If you have avisynth_c.dll or smartdecimate.dll in your plugin directory, try removing it.

I had avisynth_c.dll in c:\windows\system, so I'll remove it there. I had the same problem. Win98 throwed up a blue screen for me upon closing the avs file within Vdubmod (after saving the resulting avi/mkv etc).. fatal error 0E in VXD VWIN32(05).

I tried to comment out the filters in my script, leaving a bare-bones version... basically now instead of crashing windows, it crashes just virtualdubmod (latest version), telling me:


VIRTUALDUBMOD caused an invalid page fault in
module MPEG2DEC3DG.DLL at 015f:01dc69e5.
Registers:
EAX=01df0078 CS=015f EIP=01dc69e5 EFLGS=00010286
EBX=00000000 SS=0167 ESP=0095f27c EBP=0095f298
ECX=ffcf0150 DS=0167 ESI=01f1233c FS=33bf
EDX=00000000 ES=0167 EDI=00000002 GS=0000
Bytes at CS:EIP:
89 5a 04 8b 55 0c 89 4d fc 8b 5a 04 8b 52 08 89
Stack dump:
02001d04 01f12340 00000007 01df05c4 00000000 00000151 ffcf0150 0095f2b0 01dc4527 01ef000c 01c0248c 0200005c 00000040 bff74365 01dab479 01f12340

I tried running it again and the results were consistent..

VIRTUALDUBMOD caused an invalid page fault in
module MPEG2DEC3DG.DLL at 015f:01dc69e5.
Registers:
EAX=01df0078 CS=015f EIP=01dc69e5 EFLGS=00010286
EBX=00000000 SS=0167 ESP=0095f27c EBP=0095f298
ECX=ffcf0150 DS=0167 ESI=01f1233c FS=1aff
EDX=00000000 ES=0167 EDI=00000002 GS=0000
Bytes at CS:EIP:
89 5a 04 8b 55 0c 89 4d fc 8b 5a 04 8b 52 08 89
Stack dump:
02001d04 01f12340 00000007 01df05c4 00000000 00000151 ffcf0150 0095f2b0 01dc4527 01ef000c 01c0248c 0200005c 00000040 bff74365 01dab479 01f12340

Could the source of the problem be in Neuron2's mpeg2dec3dg ?
I'll try to switch back to NIC's just to check if the problem goes away...


With NIC's v 1.10 there is the same problem:
VIRTUALDUBMOD caused an invalid page fault in
module MPEG2DEC3.DLL at 015f:01eb5f83.
Registers:
EAX=01ee0078 CS=015f EIP=01eb5f83 EFLGS=00010287
EBX=8e8dffff SS=0167 ESP=0095f430 EBP=0095f44c
ECX=ae0de950 DS=0167 ESI=0200233c FS=238f
EDX=00000170 ES=0167 EDI=00000002 GS=0000
Bytes at CS:EIP:
89 5a 04 8b 55 0c 89 4d fc 8b 5a 04 8b 52 08 89
Stack dump:
020f14fc 02002340 00000007 01ee05c4 ae3ee800 00000151 ffcf0150 0095f464 01eb443a 01fe000c 01cf248c 020f005c 00000040 bff74365 01e9b628 02002340

JasonFly
14th November 2003, 18:24
Great work for this new release.Thank you Shodan and all avisynth people.

Now, I have a question but it's a little off-topic(altough related to avisynth).

Shodan, what is the program used to create avisynth installer. Is it free? I find it simple and itr seems to be efficient.

Leak
14th November 2003, 19:51
Originally posted by JasonFly
Shodan, what is the program used to create avisynth installer. Is it free? I find it simple and itr seems to be efficient.


I'd hazard a guess that it's the Nullsoft (as in WinAmp) Scriptable Install System that's being used; it's GPLed and available at http://nsis.sourceforge.net/ ... :)

np: Kow Otani - Ripples By The Drop (Haibane Renmei OST Hanenone)

XoDiuS
14th November 2003, 23:54
does it speed up the big 3 with a P4 HT enabled?:rolleyes:

wotef
15th November 2003, 14:06
directshowsource owns all! congrats, shodan

sh0dan
15th November 2003, 17:49
Originally posted by XoDiuS
does it speed up the big 3 with a P4 HT enabled?:rolleyes:
:confused: :confused: What do you mean?

@cweb: Are you using DVD2AVI 1.76 or another version?

I have no possibility to test on Win98, but it could very well be the cause - anyone else having problems on Win98?

XoDiuS
15th November 2003, 19:48
@ shodan

i was asking if it runs faster on a p4 3.0ghz with hyper treading,
is beacause i have read that sometimes the avisynth is the bottle neck to cce cuz it has no dual procesor suport, so i was wondering if
with the new realise it will work? ohh and how would it effect with the big 3 (doit4u, docce4u, reauthorist). im might try it better to see, but don want to mess up my config. :)

thanks.

cweb
16th November 2003, 13:56
Originally posted by sh0dan
:confused: :confused: What do you mean?

@cweb: Are you using DVD2AVI 1.76 or another version?

I have no possibility to test on Win98, but it could very well be the cause - anyone else having problems on Win98?

Hi,

I solved my problem - it was due to corrupted frames in the source file. No other files gave problems. I just fixed the source with pvastrumento and the resulting file was properly converted.

I am using the fixed version by Neuron2. (Alternatively I use DVDAVIT3 but not in this case)

Thanks anyway.

killerhis
17th November 2003, 01:12
noo this aint funny, I get a error :(

Basicly the new avisynth crashes when I use:

YV12toYUY2()._2DCleanYUY2("settings").ConvertToYV12()
ConvertToYUY2.2DCleanYUY2("settings").ConvertToYV12()
ConvertToYUY2.2DCleanYUY2("settings")

With the old avisynth I used YV12toYUY2()._2DCleanYUY2("settings").ConvertToYV12(), which works perfect.

But now It crashes.. it doesn't crashes (yet) with:

YV12toYUY2()._2DCleanYUY2("settings")

but then some frames are fucked. I've tried installing the old avisynth again, but that one is now crashing too :( Anyone know what the problem is and more important how to fix it?? I know for sure it ain't 2dcleaner, cause without 2dcleaner it also crashes, but without collor conversion, it works perfect. (but I can't use 2dcleaner without collorconversion)

Please help me :(

acrespo
17th November 2003, 22:51
Originally posted by JuanC
I noticed (using the latest CVS snapshots and now the just released 2.53 in my config.) there's a big difference between AVIsource and OpenDMLSource when dealing with DivX sources (And using DivX5.1.x decoders), being the latter as much as twice faster than AVIsource. Have you tried that?

OpenDMLsource would give me very similar behavior and speed as VirtualDub[Mod], when I just play the video clip. While AVIsource would be like half the speed. ??? Can anyboday confirm that?


Well after some tests, the same problem is occuring with OpenDMLSource filter. The only answer for that question is a bug in AviSynth.

sh0dan
17th November 2003, 23:33
Originally posted by acrespo
Well after some tests, the same problem is occuring with OpenDMLSource filter. The only answer for that question is a bug in AviSynth.
What exactly?

acrespo
17th November 2003, 23:42
Originally posted by sh0dan
What exactly?

Please, read my first post on that thread. The same problem reported with AviSource() is occuring with OpenDMLSource().

I am using Xvid decoder because DivX decoder is buggy with AviSynth 2.53.

sh0dan
18th November 2003, 00:22
Sorry - you quoted JuanC, so I thought it was his OpenDML thing.

If you do a "Fast Recompress" to XviD is the green frame then present in the encoded material, when viewed in WMP for instance. If not then it's a DivX bug.

acrespo
18th November 2003, 04:30
Well I don't sure if you understood the problem.

The problem is occuring at decoding time. If your source is Xvid or DivX the problem is the same. When you use DivX to decode, the problem appear only if you use AviSynth to edit the video, open with AviSource or OpenDMLSource. Open the video with DirectShowSource of directly in Virtualdub, the problem is not occuring (but I can't use with DirectShowSource because I use 3 or 4 Trim() to cut commercials and audio is desync).

And, if you use Xvid to decode the problem is not occuring in any case.

Mischi
19th November 2003, 10:40
I've problems with the new directshow command. I record analog video with a canopus AVC-50 Capture Card, resulting in a standard DV Type 1 AVI File. Prior to avisynth 2.53 it was impossible to play such videos with audio.
Im very happy that the new avisynth can open theses files with sound. But there is one probleme: audio is recorded with 48kHz but avisynth's directshow command plays audio only with 32kHz resulting in very strange slow sounds.

sh0dan
19th November 2003, 14:07
Could you put up a small sample for us to download?

What happends if you try AssumeSampleRate(48000)?

Mischi
19th November 2003, 14:59
@sh0dan:

AssumeSampleRate(48000) works. I don't understand what happens if I use this command, upsampling to 48kHz or only internal correction of "false" flags ?
I will upload a small sample later today, so you can try for yourself.

sh0dan
19th November 2003, 16:58
My guess is that Directshow is somehow giving the wrong samplerate, but I would like to test it myself.

AssumeSamplerate is not touching your audio, only adjusting the playback rate.

Mischi
19th November 2003, 20:12
As far as I know, there a two possible dv audio formats: 2 channel with 48kHz and 4 channel with 32kHz. Maybe it's misdetected as 4 channel type audio ?

@sh0dan: look in your mailbox, i've send you a link with a test avi.

bb
19th November 2003, 22:13
For DV Audio there's 32 kHz 12Bits, 32 kHz 16 Bits, and 48 kHz 16 Bits. I'm not sure how the number of channels is linked to the sampling rate / resolution, but my camcorder supports 32 kHz 12 Bits 2 stereo channels and 32 kHz 16 Bits 1 stereo channel.

bb

sh0dan
19th November 2003, 22:46
Graphedit reports the audio as being 32khz, 16bit stereo. The input of the DV splitter being 12bit, 32khz audio. The splitter seems to upconvert 12->16 bit.

How does it sound in mediaplayer?

acrespo
20th November 2003, 04:18
Originally posted by acrespo
Well I don't sure if you understood the problem.

The problem is occuring at decoding time. If your source is Xvid or DivX the problem is the same. When you use DivX to decode, the problem appear only if you use AviSynth to edit the video, open with AviSource or OpenDMLSource. Open the video with DirectShowSource of directly in Virtualdub, the problem is not occuring (but I can't use with DirectShowSource because I use 3 or 4 Trim() to cut commercials and audio is desync).

And, if you use Xvid to decode the problem is not occuring in any case.

Shodan, do you have any news about this problem?

Guest
20th November 2003, 09:53
DirectShowSource audio doesn't work for me when I concatenate two clips together. Sound is broken, playing at about 1/2 times slower than it should be. Sampling rate is correct, thou... It plays for a couple milliseconds, breaks for a couple miliseconds, and plays again and keeps doing that. Here's what I have:

DirectShowSource("1.mpg")+DirectShowSource("2.mpg")

Also tried mp3 files. Broken.

When 3 clips are put together, the audio seems to be playing at 1/3 speed.

Despite this, video works like a charm.

Cheers,

sh0dan
20th November 2003, 09:55
Seems to be related to this (http://forum.doom9.org/showthread.php?s=&threadid=65340).

Thanks for the report.

Guest
20th November 2003, 10:08
My video is playing OK, althought a little bit jerky, but definitely at the correct rate. fps shows up correctly in WMP 6.4. The total play time does add up. However, it's just the audio. Ughhh..

Grab a couple mp3 files and you'll see what I mean.

Best regards,

sh0dan
20th November 2003, 10:16
Yeah - I've reproduced it. I'm just a bit amazed that it's possible. ;)

Guest
20th November 2003, 10:23
Hope it gets fixed soon. I'm leaving my VMware workstation idle until that day comes.

Cheers,

sh0dan
20th November 2003, 13:42
Try the new CVS binary, downloadable from the link in my sig. It should fix the slowdown on multiple sources.

Mischi
20th November 2003, 18:17
Originally posted by sh0dan
Graphedit reports the audio as being 32khz, 16bit stereo. The input of the DV splitter being 12bit, 32khz audio. The splitter seems to upconvert 12->16 bit.

How does it sound in mediaplayer?

Sound is normal ( 48kHz ) in mediaplayer for the avi.

Mischi
20th November 2003, 18:20
tried the new cvs binary, but dv audio is still at 48kHz. Should it only repair the multiple sources slowdown bug ?!

Guest
20th November 2003, 21:22
2.54alpha solved the multiple DirectShowSource audio problem. Cool!

Here's another problem:

DirectShowSource("test.01.mpg")
Loop(2)

Total time shown in WMP is doubled, but black screen/no sound after the midpoint. If I seek directly into the second half, sometimes it worked; but I can't get audio once I seek.

acrespo
20th November 2003, 21:36
Originally posted by Guest
2.54alpha solved the multiple DirectShowSource audio problem. Cool!

Here's another problem:

DirectShowSource("test.01.mpg")
Loop(2)

Total time shown in WMP is doubled, but black screen/no sound after the midpoint. If I seek directly into the second half, sometimes it worked; but I can't get audio once I seek.

I have a problem near yours. My script:

#the source is Divx or Xvid
#I put fps parameter because divx and xvid fps are not detected for
#divx and xvid files (in my tests)
DirectShowSource("capture.avi",fps=29.97)
Trim(45,7500)++Trim(8000,18000)++Trim(18500,36000)

After the first Trim audio is desync for 5-10 seconds!!

Guest
20th November 2003, 21:53
Did you try EnsureVBRMP3Sync() before th Trim()?

EnsureVBRMP3Sync(clip)

Corrects out-of-sync mp3-AVI's, when seeking ot trimming.

EnsureVBRMP3Sync is useful to avoid desync of VBR-compressed mp3-soundtracks. This will slow seeking down considerably, but is very useful when using trim() for instance. Always use before trim().

acrespo
21st November 2003, 18:16
The audio part is not MP3!! It's Stereo PCM 16 bits 44Khz!
Do you think this filter will help me?