Log in

View Full Version : AviSynth 2.5.5 CVS Releases. [August 26th]


Pages : [1] 2 3 4

sh0dan
30th January 2004, 16:32
Hi!

I created this thread, for general discussion of the CVS binaries that are being released. Here would be a good place to post if you have new problems with CVS releases that you don't experience with the official releases.

I will also post here every time a new binary is released. So here goes:

August 26th Release Candidate 3 - all changes from 2.5.4:

- Reenabled optimizations. RC2 broke plugins.
- Fixed duplicated line in resize+crop operations (beta regression)
- Fixed "Unknown exception" in conditional filter expressions. (August 17th regression)
- Updated docs.
- Added: ImageReader/ImageSource now accepts relative paths in all configurations.
- Fixed: ImageReader now no longer reports errors/info upside-down.
- Added: DirectShowSource now requests interlaced material to avoid internal (crappy) WMV9 deinterlacer. (Thanks to Russel Lang)
- Fix: Huge stability fix by IanB. This should remove a bunch of "Evaluate: Unregnized exception", and crashes on reload in vdub.
- TDPDeliver: Simplification and cleanup. Planar pitches handled more consistently.
- Fix: DirectShowSource properly relasing filters on unload.
- Added: BlankClip now has color_yuv, that allows setting and YUV color for YUV clips.
- Added a huge list of color presets (http://www.avisynth.org/ColorPresets), that can be used instead of colors.
- Fixed problems causing random crashes and excessive memory problems in July 13th binary.
- Fixed errors in NON-MMX ColorKeyMask.
- Fixed Loop() when called with no video (stickboy)
- Added AssumeFPS(clip [, sync_audio=true/false]) (stickboy again).
- AssumeFPS: Added sanity check to ensure that denominator isn't zero.
- Fixed error not being thrown in Conditionalfilter on an invalid operator.
- Added first version of compression for TCPdeliver. LZO, Huffman and GZIP Huffman algorithms added. Docs here (http://www.avisynth.org/TCPDeliver).
- Fixed MergaLuma not giving correct results in some cases.
- Fixed DirectShowSource not releasing Graph/Files on unload/reload.
- Added TCPDeliver. (TCPServer/TCPSource) More info here (http://forum.doom9.org/showthread.php?s=&postid=460200#post460200) .
- Centre PointResize image.
- Fix VideoFrameBuffer cache corruption.
- Added FrameRate Numerator & Denominator script functions.
- General Convolution updates:
* fix matrix string env corruption
* roll divisor into iCountDiv logic - fix overflow problem
* make divisor a float
* add auto option to control autoscaling/normalizing feature
* support legacy syntax
* tidy indentation
- Fixed bug in PointResize.
- Turn: Fix concurrent use of RGB/YUY2 turnleft/right in same script.
- TurnLeft: Fix 1 pixel offset down in yuy2.
- Added: Turn180() function.
- Loop should now support all kinds of audio.
- Fixed wrong weights in interlaced YUY2 -> YV12 conversion.
- Added MMX optimizations to Overlay mode lighten+darken with opacity=1.0, with no mask.
- Removed overflow bug in ssrc upsampler.
- Fixed Audio cache crash if no audio.
- Cleaned up ApplyYV12 in textoverlay.
- Fixed float audio in Dissolve.
- Fixed audiobits clip properties now returning bits and not bytes.
- Added IsAudioFloat() and IsAudioInt() as clip properties.
- Added experimental "after_frame=true/false" to ScriptClip.
- Added FOURCC parameter to AviSource by stickboy.
- ImageReader: tweaked default parameters.
- ImageReader: made ColorBars parameters optional (like docs claim!)
- ImageReader: No more "Image not in range". First frame is ALWAYS frame 0.
- SSRC now has aligned data (slightly faster and SSE ready).
- Fixed ConditionalReader inaccuracies on integer interpolation.
- Updated SoftWire codegenerator to latest version.
- Fixed Mask() problem with footage with different pitches.
- Added Lanczos4Resize().
- Added french documentation.
- Added SSE float to int audioconversion.
- Added 3DNOW! optimizations to sample-type conversions int to float, and float to int. Much faster.
- Added float audio and multiple channels support to Dissolve.
- Subtract now clamps errors instead of overflowing.
- Added faster MMX to Invert by ARDA.
- Added WriteFile, WriteFileIf, WriteFileStart, WriteFileEnd. (WarpE)
- ImageReader: Static image support.
- ImageReader: Floating-point FPS.
- ImageReader: Aliased to ImageSource.
- ImageReader: Frames automatically flipped when necessary.
- ImageWriter: Optional "info" parameter to show filename.
- ImageReder/Imagewriter: All errors returned as text clips.
- AviSynth will no longer resize to non-mod4 widths in YV12 mode!
- Added MMX/ISSE chroma convertion to Overlay with YV12 input.
- Added MMX function for Overlay(mode="blend"), when a mask is used and opacity = 1.0.
- Dissolve can now handle audio input with different sample types.
- Dissolve now checks if samplerates are the same.
- Trim/Dissolve: Better error reporting.
- Added specific (and simpler) stereo mode to TimeStretch - no more drifting.
- Made ISSE YUY2 HorizontalReduceBy2() more "safe".
- Fixed missing plane in temporalsoften.
- Corrected some quirks in temporalsoften scenechange on artificial sources.
- Fixed IsParityKnown() in avisynth.h - thanks to stickboy.
- Random in scalemode is not returning limit value - thanks you stickboy!
- Added dll-name prefix to plugins as per {http://forum.doom9.org/showthread.php?s=&threadid=72235}.
- - Syntax is DLLNAME_function(), where DLLNAME is the filename of the dll containing the function.
- Updated DevIL libs; removed unneeded DevIL components; improved error reporting in ImageReader/ImageWriter.
- Added automatic audio cache.
- Added RGB24, YUY2 and YV12 MMX Invert() function.
- Fixed: Trim audio could crash, if sample types were different.
- Fixed crash-on-exit in SSRC, if rateconversion was skipped.
- Fixed one frame missing in temporalsoften.
- Fixed chroma moving half a pel in Overlay() with YV12-input mode.
- Updated Overlay(mode="multiply") to work more logical. Old functionality is no more!
- Added dotted lines at zero levels to view bias in Histogram(mode="stereo").
- Added CPU stuff to Info().
- Added generalconvolution divisor.
- Added audio cache after EnsureVBRMp3Sync.
- Fixed frame 0 bug in PlaneDifference
- Fixed Dissolve MMX was not accurate on very small overlaps.
- Dissolve: Dissolve throws an error if handed a negative overlap.
- Added TimeStretch (http://www.avisynth.org/index.php?page=TimeStretch). This filter can change speed of the sound without changing the pitch, and change the pitch of a sound without changing the length of a sound.
- Disabled avisynth_c plugin autoloading (no longer a compatible way to do so).
- DirectShowSource is now a plugin, and is automatically placed in the plugin directory by the installer.
- Fixed minor glitches in audio cache (out of range requests)

Chainmax
30th January 2004, 17:22
Originally posted by sh0dan:
Disabled avisynth_c plugin autoloading
Does that mean that plugins can't be autoloaded in this version?

Wilbert
30th January 2004, 17:33
Shodan refers to C-plugins (written in C instead of C++). You know, plugins of Kevin, Fizick and others.

sh0dan
30th January 2004, 19:31
... exactly! The plugins usually state they require the "avisynth_c" plugin to load.

Si
31st January 2004, 10:47
Just interested to know why you've made DirectShowSource a plugin :confused:

regards
Simon

K-Dash
31st January 2004, 11:47
Cool thx :D

sh0dan
31st January 2004, 14:06
Originally posted by siwalters
Just interested to know why you've made DirectShowSource a plugin :confused:

regards
Simon
To make AviSynth easier to compile. The DirectX SDK is no longer needed, and the platform SDK should be needed either.

Chainmax
1st February 2004, 23:40
Originally posted by Wilbert:
Shodan refers to C-plugins (written in C instead of C++). You know, plugins of Kevin, Fizick and others.
Originally posted by sh0dan:
... exactly! The plugins usually state they require the "avisynth_c" plugin to load.
Ok, I get it now. Thx for the explanation :).

niiyan
2nd February 2004, 16:48
When I installed AviSynth_300104.exe, something strange happened.

By default, Install Location was ...

C:\Program Files\Avisynth2

So I tried to change the folder to ...

C:\Program Files\Avisynth 2.5

I clicked [Browse] button and selected "Avisynth 2.5" folder.
And then, back to installer, Destination Folder became ...

C:\Program Files\Avisynth 2.5\Avisynth 2.5

P.S. On other PC (AviSynth2 folder didn't exist), Destination Folder was "C:\Program Files\Avisynth 2.5" by default.
---
niiyan

Bogalvator
8th February 2004, 03:18
Timestretch is an excellent addition, I'm sure many people will find this useful.

Quick query:
Adjusting "Rate" is equivalent to using AssumeSampleRate and ResampleAudio, but at very high quality.

How do you mean "very high quality"? Higher than using AssumeSampleRate and SSRC?

By the way, is 'AssumeSampleRate' lossless in the same way that AssumeFPS() is? I.e. does AssumeSampleRate(50050).AssumeSampleRate(48000) return the exact wav file as the source?

sh0dan
8th February 2004, 12:41
If you can use SSRC, use it, but prefer TimeStretch over ResampleAudio.

You might also be able to reach higher precision, as rate is a float parameter, and not bound by interger round-offs like AssumeSampleRate and SSRC/Resampleaudio.

Otherwise you could do some ABX tests, and tell us, what you found to be the best, so we can update the docs.

And yes - AssumeSampleRate doesn't touch your samples - only the playback rate.

sh0dan
3rd March 2004, 08:59
New alpha March 3rd - actually I got quite surprised, when I saw the length of the changelist:
- Updated DevIL libs; removed unneeded DevIL components; improved error reporting in ImageReader/ImageWriter.
- Added automatic audio cache.
- Added RGB24, YUY2 and YV12 MMX Invert() function.
- Fixed: Trim audio could crash, if sample types were different.
- Fixed crash-on-exit in SSRC, if rateconversion was skipped.
- Fixed one frame missing in temporalsoften.
- Fixed chroma moving half a pel in Layer() with YV12-input mode in Overlay.
- Updated Layer(mode="multiply") to work more logical. Old functionality is no more!
- Added dotted lines at zero levels to view bias in Histogram(mode="stereo").
- Added CPU stuff to Info().
- Added generalconvolution divisor.
- Added audio cache after EnsureVBRMp3Sync.
- Fixed frame 0 bug in PlaneDifference
- Fixed Dissolve MMX was not accurate on very small overlaps.
- Dissolve: Dissolve throws an error if handed a negative overlap.

stickboy
3rd March 2004, 12:01
That off-by-one problem with Dissolve (http://forum.doom9.org/showthread.php?s=&threadid=70096) should be fixed too, right?

sh0dan
3rd March 2004, 13:34
Yes! (Wow - changelist is getting even longer :) )

Didée
3rd March 2004, 16:32
originally posted by Didée

/* walks away in a blissful mood, one arm wrapped around the new MaskTools, the other around the freshly bugfixed AviSynth */
;)

Thank you, sh0dan.

- Didée

Richard Berg
4th March 2004, 06:52
Speaking of Dissolve, I almost forgot -- need to try to find the access violation that Dissolve creates when fed by the ISSE version of HorizontalReduceBy2.

Also, if we're to point out bugs in the buglist (;)), "Fixed chroma moving half a pel in Layer() with YV12-input mode" should refer to Overlay(), I think.

sh0dan
5th March 2004, 14:55
@Richard: I could not reproduce the problem, but I tried eliminating a few "risky" operations in HorizontalReduceby2. I comitted the code - could you test?

Wilbert
5th March 2004, 15:25
Shodan, could you include the chm-files with the next CVS release (instead of the html docs)? They can be found here:

http://cvs.sourceforge.net/viewcvs.py/avisynth2/avisynth/distrib/docs/

Then we can find out if people prefer the html docs or the chm-files or both.

edit: perhaps it is a good idea to make this thread sticky?

sh0dan
5th March 2004, 16:20
@Wilbert: Stuck thread (and unstuck some old/dead ones)

I will replace the docs in the installer. This will probably make the installer a bit smaller.

Edit: I just looked at it - and to be honest, I don't find it nearly as good as the plain html version. The thread interface on the left is a major annoyance - it eats up too much space - it has to be unfolded on each startup. Futhermore I find it nice to have access to the documentation in my favorite browser.

I don't mind changing the installer, but are there any advantages, beside having documentation as a single file?

Wilbert
8th March 2004, 14:08
Edit: I just looked at it - and to be honest, I don't find it nearly as good as the plain html version.
That's a pity ...

The thread interface on the left is a major annoyance - it eats up too much space
That's true, but it is only a little bit more as it was previously (as in index.htm). You can make it smaller though. Maybe it is also possible to do that before compiling the chm file.

it has to be unfolded on each startup.
True.

Futhermore I find it nice to have access to the documentation in my favorite browser.
Ok, that's not possible in this case.

I don't mind changing the installer, but are there any advantages, beside having documentation as a single file?
You can search in all the documents at once. Besides that, I don't know.

Maybe you can include both (only for this cvs version), to find out what other people think about it? If people don't like it (or prefer the htmls), we can always upload the chm-files in a zip-file on sourceforge.

Richard Berg
14th March 2004, 09:33
@sh0dan - the HRB2 code in the CVS no longer generates a violation. For reference, my script:

colorbars(320,240)
converttoyuy2
trim(0,30)
horizontalreduceby2
fadeout(15)

sh0dan
14th March 2004, 13:09
New CVS binary up.

- AviSynth will no longer resize to non-mod4 widths in YV12 mode!
- Added MMX/ISSE chroma convertion to Overlay with YV12 input.
- Added MMX function for Overlay(mode="blend"), when a mask is used and opacity = 1.0.
- Dissolve can now handle audio input with different sample types.
- Dissolve now checks if samplerates are the same.
- Trim/Dissolve: Better error reporting.
- Added specific (and simpler) stereo mode to TimeStretch - no more drifting.
- Made ISSE YUY2 HorizontalReduceBy2() more "safe".
- Fixed missing plane in temporalsoften.
- Corrected some quirks in temporalsoften scenechange on artificial sources.
- Fixed IsParityKnown() in avisynth.h - thanks to stickboy.
- Random in scalemode is not returning limit value - thanks you stickboy!
- Added dll-name prefix to plugins as per {http://forum.doom9.org/showthread.php?s=&threadid=72235}.
- - Syntax is DLLNAME_function(), where DLLNAME is the filename of the dll containing the function.

AmiRage
14th March 2004, 14:45
Originally posted by sh0dan
AviSynth will longer resize to non-mod4 widths in YV12 mode!
There seems to be a simple "no" missing somewhere. ;)

But thanks anyway for this new CVS binary. :)

Manao
14th March 2004, 18:51
I tested dll-prefixes and resizing, both work well. However, when feeding non mod 4 resolutions to a resizer, the error message is the following : Unrecognise exceptionIt could imho be changed to Do not use non mod 4 resolution for resizingwhich is more comprehensible.

sh0dan
14th March 2004, 20:46
Strange - in debug mode it correctly throws a "Resize: YV12 width must be mutiple of 4." (including the spelling error ;)), but it bombs out with an access violation in Release mode.

sh0dan
20th March 2004, 20:26
March 20th:

- Added Lanczos4Resize().
- Added french documentation.
- Added SSE float to int audioconversion.
- Added 3DNOW! optimizations to sample-type conversions int to float, and float to int. Much faster.
- Added float audio and multiple channels support to Dissolve.
- Subtract now clamps errors instead of overflowing.
- Added faster MMX to Invert by ARDA.
- Added WriteFile, WriteFileIf, WriteFileStart, WriteFileEnd. (WarpE)
- ImageReader: Static image support.
- ImageReader: Floating-point FPS.
- ImageReader: Aliased to ImageSource.
- ImageReader: Frames automatically flipped when necessary.
- ImageWriter: Optional "info" parameter to show filename.
- ImageReder/Imagewriter: All errors returned as text clips.

AmiRage
20th March 2004, 21:18
Originally posted by sh0dan
- Added Lanczos4Resize().
Thanks again for a new version, but I've got a simple and maybe stupid question: What is Lanczos4Resize? :)

Edit: Just read somewhere that LanczosResize is Lanczos3?

Edit2: So Lanczos4 uses a different interpolation? Does it more sharpen/soften?

sh0dan
20th March 2004, 21:59
It's from this thread (http://forum.doom9.org/showthread.php?s=&threadid=72174). Lanczos3 is 3-tap, Lanczos4 is 4-tap. As noted in the thread the difference is very small.

Feel free to test and post your results!

DDogg
20th March 2004, 22:18
Added WriteFile, WriteFileIf, WriteFileStart, WriteFileEnd. (WarpE) Any reference threads on this? Search didn't turn up anything for me.

stickboy
20th March 2004, 22:33
Check the new documentation that's included with the binary. (BTW, I like the new look.)

TimeStretch docs are still missing though (though those are on avisynth.org). :(

DDogg
21st March 2004, 04:00
Yeah, Wow - examples and everything. Hats off to whomever did these new style docs. Really nice work! They look very professional.

stickboy
21st March 2004, 08:07
Originally posted by sh0dan
- Fixed missing plane in temporalsoften.
- Corrected some quirks in temporalsoften scenechange on artificial sources.Hmm... using the same TemporalSoften settings on a capture of traditional 2D animation, I'm encountering more ghosting now than I did before with 2.5.4. I suppose that's a necessary side-effect? Maybe the recommended settings in the docs should be adjusted?

sh0dan
21st March 2004, 21:55
@stickboy: You might want to decrease radius (first parameter) by one.

Richard Berg
21st March 2004, 23:34
@sh0dan -- I think there is an access violation in Antialiaser::ApplyYV12. Can you reproduce? E.g. when using the helper function like ApplyMessage(&frame, vi, "message", vi.width/4, 0xf0f0f0,0,0 , env)

sh0dan
22nd March 2004, 09:16
@Richard: I haven't had any crashes directly linked to this funtion, but I'll walk through it anyway.

Edit: I looked through the function (and cleaned up the code), but couldn't find anything obviously wrong.

Which line?
Video size?

Manao
22nd March 2004, 09:47
A small bug : In Compare(), to test whether both clip are in the same colorspace, the test made is ( vi.pixel_type != vi2.pixel_type ). It should be changed to !vi.IsSameColorspace(vi2) as you once advised me to do with YV12Subtract in the MaskTools.

sh0dan
22nd March 2004, 09:50
Originally posted by Manao
A small bug : In Compare(), to test whether both clip are in the same colorspace, the test made is ( vi.pixel_type != vi2.pixel_type ). It should be changed to !vi.IsSameColorspace(vi2) as you once advised me to do with YV12Subtract in the MaskTools.
Thanks!

I updated error reporting in compare!

Richard Berg
22nd March 2004, 23:37
The bug was a memory corruption from elsewhere in the code, fixed.

Manao
27th March 2004, 12:20
Another bug, found by kurtnoise : the following script raises an "unrecognized exception"source = MPEG2Source("R:\foo.d2v").converttorgb32()
return source.coloyyuv()Whereas, in the source code ( Avisynth 2.5.4 ), the first test made on the constructor of ColorYUV is : if (!vi.IsYUV())
env->ThrowError("ColorYUV: requires YUV input");
Any rgb colorspace raises the exception. Without the converttorgb(), it works fine.

Mug Funky
27th March 2004, 18:45
Subtract now clamps errors instead of overflowing.

w00t!

:)

and the fixed timestretch helps. haven't got a chance to test at the minute - recording audio :(

hartford
28th March 2004, 00:37
On short captures (50000 frames), Trim() works fine.

I did a capture 307070 frames in length. I get Trim()
errors when:


AVISource("e:\movie.avi").ConvertToYUY2.ConvertFPS(29.970)
Trim(11455,46215)+ \
Trim(51917,72984)+ \
Trim(80492,103373)+ \
Trim(109226,132161)+ \
Trim(139674,161373)+ \
Trim(166324,180310)+ \ # Incorrect first_frame
Trim(187806,209075)+ \ # Incorrect first_frame
Trim(214795,237133)+ \
Trim(244631,266036)+ \ # Incorrect first_frame
Trim(272786,290229)+ \ # Incorrect first_frame
Trim(296830,307044) # Incorrect first_frame



Each incorrect first_frame starts 24 frames before it should.
They all end at the correct frame.

If I remove the ".ConvertToYUY2.ConvertFPS(29.970)" the frame
count is correct.

Anyone else have this problem?
:confused:

esby
28th March 2004, 01:02
mmmm a stupid question before, harford

You are saying that you got Trim() errors
when using ConvertFPS(29.970)

so my <stupid> question is:
do you calculated the trim position with the convertFPS() or not...

If yes, it might be a bug indeed,
if not, it is not...
(convertFPS affects framerate,
and you might have some decals between the original clip and the convertFPS one)


esby

stickboy
28th March 2004, 01:47
Originally posted by hartford
On short captures (50000 frames), Trim() works fine.

I did a capture 307070 frames in length. I get Trim()
errors when:


AVISource("e:\movie.avi").ConvertToYUY2.ConvertFPS(29.970)
...
What's the original frame-rate and colorspace format?

It would be easier to reproduce if you gave an example like:
BlankClip(length=307070, fps=23.976, pixel_type="yv12")
ConvertToYUY2()
ConvertFPS(29.970)
ShowFrameNumber()
Trim(11455,46215)+ \
Trim(51917,72984)+ \
Trim(80492,103373)+ \
...

hartford
28th March 2004, 03:05
"do you calculated the trim position with the convertFPS() or not..."

No, I did not.


The original framerate is 29.968 fps Huffy


I did not realize that ConvertFPS() changed the frame count.

esby
28th March 2004, 03:12
You could probably use AssumeFPS() instead of convertFPS() here

esby

hartford
28th March 2004, 22:26
Thankyou, esby!

That works perfectly :D

LigH
1st April 2004, 11:30
The AviSynth 2.5.5 alpha 2004-03-20 is not available from SourceForge - almost 2 weeks later. What prevents it from being listed?

sh0dan
1st April 2004, 12:58
@Ligh: :confused: - Where is it not being listed?

LigH
1st April 2004, 14:11
Ah, damn it - looking at "200304", I read "2003-04" or "20..04".

A date format like "2004-03-20" would probably be

a) more percise, easier to read at the first glance
b) even well arranged for alphabetic sorting

Sorry for looking only in a hurry.

Sigmatador
12th April 2004, 19:50
the smallest bug:

Lanczos4Resize() doesn't appears green in vdm :D