Log in

View Full Version : SmoothAdjust [v3.20 - Update 2015/11/15]


Pages : 1 2 3 4 5 6 [7] 8 9 10

LaTo
10th October 2011, 14:20
It throws a few exceptions when parameters cross a certain range. LaTo, can you please have a look at this effect?
OK, what SmoothCurve's call throws an exception?

sven_x
10th October 2011, 16:16
Failure in my script.
It must be checked that the combined offsetsRGB + offset R,G,B will not reach certain limits (not below 0, not above 255, not bigger as the point offsets of point P0 and P1.

LaTo
12th October 2011, 17:02
v2.00 prere:
fixed a bug with TVrange
added grid in debug view
Download here: > SmoothAdjust v2.00 prerelease < (http://latoninf.free.fr/d9/SA/SmoothAdjust-v2.00prere.zip)

:cool:

Dogway
13th October 2011, 17:10
Thanks for the update!
Could you make for next version limiter=2 be an active parameter? Sometimes I like to add smoothlevels(limiter=2) at the end of my script to save bits for encoding.

Also could you allow ecenter for lmode 2 and 3? So we can choose what darks or what brights we want to bring back?

Also when using show=true in 16 bit version it could possibly be a good idea to stack a black clip below with same height, so we don't need to comment out ditherpost to see the full screen

TheSkiller
13th October 2011, 17:21
Sometimes I like to add smoothlevels(limiter=2) at the end of my script to save bits for encoding.
Doesn't AviSynth's internal Limiter() do exactly that? It clips anything that is not in the 16-235 range for luma and 16-240 range for chroma.
Hm, while we're at it, if I use SmoothLevels(preset="pc2tv") does it convert full range input (luma and chroma both 0-255) to 16-240 for chroma and luma to 16-235?

Dogway
13th October 2011, 17:26
Thanks TheSkiller, nice to know that, although at the same time Im wondering if x264 trash out of TVrange values when encoding in this range, or is only a display flag.
About SmoothLevels(preset="pc2tv"), yes it converts both, you can turn chroma=0 so only luma is processed.
My concern is when TVrange is slightly off and I want to fine tune it. So I switched to manual mode but:

SmoothLevels(preset="tv2pc")
has a different chroma than:
SmoothLevels16(16,1.0,235,0,255)

edit: no problem : ) tv2pc uses chroma=84 as default

LaTo
13th October 2011, 19:58
Thanks for the update!
Could you make for next version limiter=2 be an active parameter? Sometimes I like to add smoothlevels(limiter=2) at the end of my script to save bits for encoding.
As TheSkiller said, use avisynth's Limiter()

Also could you allow ecenter for lmode 2 and 3? So we can choose what darks or what brights we want to bring back?
Use "Lmode=1,BrightSTR=0" for Lmode=2 and "Lmode=1,DarkSTR=0" for Lmode=3.
Like that you can tune Ecenter.

Also when using show=true in 16 bit version it could possibly be a good idea to stack a black clip below with same height, so we don't need to comment out ditherpost to see the full screen
Hum, I don't know... This will add problem for people who doesn't use ditherpost.

Dogway
13th October 2011, 20:54
-Yes, I didn't know of Limiter() existence I will use that.
-Yes I compared Lmode 3 with Lmode 1 tweaking ecenter and brightstr and darkstr. But still lmode 3 prevents more brightening on brights than using lmode 1 brightstr=0 and ecenter at 20 for example (which is a very extreme value), check yourself please.. At the moment there is no possiblity to limit dark brightening further down to the darks (same with brights).
-People who don't use ditherpost won't likely use smoothXX16()
These are open suggestions based on daily use so you can improve the plugin

LaTo
14th October 2011, 19:11
-Yes I compared Lmode 3 with Lmode 1 tweaking ecenter and brightstr and darkstr. But still lmode 3 prevents more brightening on brights than using lmode 1 brightstr=0 and ecenter at 20 for example (which is a very extreme value), check yourself please.. At the moment there is no possiblity to limit dark brightening further down to the darks (same with brights).
As I said, you can emulate Lmode=2 & 3 with Lmode=1.

Lmode=2 is the same as: "Lmode=1,BrightSTR=0,Ecenter=255"
Lmode=3 is the same as: "Lmode=1,DarkSTR=0,Ecenter=0"

Dogway
16th October 2011, 19:16
ah well, that makes sense. So the darkest darks that can be brightened are indeed lmode=3, which equals to ecenter=0 in lmode=1. That means that with lmode=1 from ecenter=0 you can only go "worse", in terms of you can only go up brightening more towards brights, and not the opposite, limiting more the darks, which was my original intention. Not too worried about it, I don't need it in any specific situation, just wondering and suggesting.

LaTo
24th October 2011, 11:02
ah well, that makes sense. So the darkest darks that can be brightened are indeed lmode=3, which equals to ecenter=0 in lmode=1. That means that with lmode=1 from ecenter=0 you can only go "worse", in terms of you can only go up brightening more towards brights, and not the opposite, limiting more the darks, which was my original intention. Not too worried about it, I don't need it in any specific situation, just wondering and suggesting.

In this case you should try to play with BrightSTR

Dogway
24th October 2011, 20:28
Something like BrightSTR=200 (...)? It looks like it works (limits the brights further). I always had the notion it was a 0-100 parameter.
I was a bit confused because in the debug screen using lmode=3 for example, has different darkstr and ecenter than using its lmode=1 counterpart, although the result is the same. If lmode 2 and 3 are indeed lmode 1 shortcuts, wouldn't make more sense to unify the debug outputs? so probably it is easier to read and understand. Unless lmode 2 and 3 do things lmode 1 can't, that is...
The name is also confusing dark strength instead of dark limiting or something, I always need to look twice to make sure what I am doing. yikes

LaTo
6th November 2011, 22:00
v2.00:
added Avisynth 2.6.x support
added Y8, YV411, YV16, YV24 support
added 16bits support with stacked MSB/LSB
added SmoothCustom filter
added TVrange parameter
added AVX optimization

improved smoothing algorithm
improved debug view
improved startup delay
improved speed with smoothing OFF

added decimals support in SmoothCurve
fixed interp scaling in SmoothCurve
changed defaults in SmoothLevels
fixed gamma clamping bug in SmoothLevels

fixed crash with mod4 clip
fixed freeze in debug view
deleted Smode parameter
switched from ICL11 to ICL12
cleaned a lot the code
updated the documentation


Finally, here is the final version 2.00 after more than six months of development. It only contains minors fixes and documentation update since the prerelease.
With version 2.00 the plugin has made ​​a lot of quality, speed and functionality improvement.
It has been a lot of work and I hope this plugin will be useful to many people.

Now I will try to focus a bit on my avisynth scripts to update them a little. Then I will spend my time on other ideas for new filters.
So SmoothAdjust will be put a little aside but I still have some ideas of improvements, no worry.

Also my main PC has died from surges, but fortunately the hard drives and data are intact. I work now with an old mono-core CPU.
This issue gave me the idea to set up possibility to make donations, all the necessary informations are in the zip archive.
If you often use this plugin and you like it, please feel free to consider donating. It's really fast, easy and secure.

This will help me a lot to find time to continue updating and creating plugins during my free time.
In fact after my job change, I now have much less free time, that's why the latest versions of development have been so slow to come out.

The zip archive is in the first post of this thread.
Please feel free to give me your comments and ideas for further development.
Happy Version 2.00 :D


edit: @Dogway: this version will output stacked MSB/LSB clip with show=true in 16 bits filters ;)

leeperry
6th November 2011, 22:41
I hope this plugin will be useful to many people.
It is, TYVM for your efforts :cool:

Personally, I'd love a plugin version of GrainFactory3(actually I slightly modified it in order to specify grain patterns) :o

Dogway
6th November 2011, 23:49
Thanks for that and the final version.
Maybe for future versions you might want to have a look at saturation (http://forum.doom9.org/showthread.php?p=1526997#post1526997) and probably add Vibrance as in a recent thread to round it up, not that I need it, I already wrapped a vibrance function with lsb support.

For "new" filters what it'd be very very cool if you could have a look at stabilise (http://forum.doom9.org/showthread.php?t=100396&highlight=celstabilise), its a wonder plugin but very old and under-developed. Despite it could not fill your motivation, but asking just in case hehe

TheSkiller
7th November 2011, 12:45
It has been a lot of work and I hope this plugin will be useful to many people.For me it absolutely is, I couldn't live without SmoothLevels anymore. :cool:
Thanks for your great efforts on this.

Yellow_
14th March 2012, 22:23
hi, I have a 16 point curve in a text file for a LOG to LIN (scale not linear light) adjustment, can I use it with SmoothCurve or SmoothCustom?

LaTo
16th March 2012, 21:13
hi, I have a 16 point curve in a text file for a LOG to LIN (scale not linear light) adjustment, can I use it with SmoothCurve or SmoothCustom?

Yes, should be OK.

Yellow_
4th July 2012, 14:04
If I understand correctly tools like After Effects map an 8bit source into 32bit, centering 8bit level 0 at 0.5000 in the 0.0000 - 1.0000 range. is this possible with SmoothAdjust?

**EDIT** Sorry to clarify this was for the 16bit stacked functions

stoffal
7th July 2012, 22:33
Coming back to post #63 :
Is there some kind of auto mode included in smoothlevels?
Something similar to autolevels?

kutjong
10th July 2012, 08:23
What would the syntax look like if I simply want to convert a clip with PC range luma to TV range? Would it be as simple as:

ffvideosource("file.avi")
Smoothlevels(preset="pc2tv")


Input is YV12, btw.

I'm still quite a noob at Avisynth, so please excuse me for such novice questions. :)

matfra
13th August 2012, 14:36
Hi Guys,
I would like to know if someone code a function of smoothadjust in AVSP.
Smoothadjust is Reall good. But there is so mutch parameter.
I would be nice to have Slider and in AVSP to test live the effect.

LaTo
13th August 2012, 14:53
Hi Guys,
I would like to know if someone code a function of smoothadjust in AVSP.
Smoothadjust is Reall good. But there is so mutch parameter.
I would be nice to have Slider and in AVSP to test live the effect.

A QT-GUI for SmoothAdjust was planned just after v2.00 but I'm tired about this community so I gave up... Too bad it would have been nice.

I will release a new version soon (I hope) with a new plugin. The code is almost finished, just need motivation to end it.

The ultimate release will be after this one, when avisynth 2.6 final will come out. So it might not be before a long time.

matfra
13th August 2012, 16:19
I hope you find the motivation to do it.
You are a master of AVISynth

Yellow_
14th August 2012, 22:05
Hi Guys,
I would like to know if someone code a function of smoothadjust in AVSP.
Smoothadjust is Reall good. But there is so mutch parameter.
I would be nice to have Slider and in AVSP to test live the effect.

You can define the sliders in avsp for any avsynth functions, plugins, scripts etc:

From avspmod Options -> Avisynth Function Definition

Choose function, plugin or script from the tabs, define sliders, fill in the values.

If you copy paste this into a text file and use the import settings from file option under Avisynth Function Definition, then open a script with some smoothadjust functions in it you should see the sliders for the functions defined below, it's a start anyway, just smoothcurve missing but 16bit versions are there.

[PLUGINS]

SmoothAdjust_SmoothCurve16(
clip,
string Ycurve="0-0;65536-65536" (""),
string Ucurve="0-0;65536-65536" (""),
string Vcurve="0-0;65536-65536" (""),
int interp=100 (0 to 100 by 1),
bool limiter=False,
int TVrange=0 (0 to 2 by 1),
int smooth=100 (0 to 200 by 1),
int dither=50 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=False
)

SmoothAdjust_SmoothCustom16(
clip,
string Yexpr="0-0;65535-65535" (""),
string Uexpr="0-0;65535-65535" (""),
string Vexpr="0-0;65535-65535" (""),
bool limiter=False,
int TVrange=0 (0 to 2 by 1),
int smooth=100 (0 to 200 by 1),
int dither=50 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=False
)

SmoothAdjust_SmoothLevels(
clip,
int input_low=0 (0 to 255 by 1),
float gamma=1.0 (0.0 to 5.0 by 0.1),
int input_high=255 (0 to 255 by 1),
int output_low=0 (0 to 255 by 1),
int output_high=255 (0 to 255 by 1),
int chroma=100 (0 to 200 by 1),
int limiter=0 (0 to 2 by 1),
bool TVrange=False,
string preset="Default" ("fullrange"/ "pc2tv"/ "tv2pc"),
int Lmode=0 (0 to 3 by 1),
int darkSTR=100 (0 to 500 by 1),
int brightSTR=100 (0 to 500 by 1),
int Ecurve=0 (0 to 1 by 1),
int Ecenter=128 (0 to 255 by 1),
int protect=-1 (-1 to 255 by 1),
int smooth=100 (0 to 200 by 1),
int dither=-1 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=True
)

SmoothAdjust_SmoothLevels16(
clip,
int input_low=0 (0 to 65535 by 1),
float gamma=1.0 (0.0 to 10.0 by 0.01),
int input_high=65535 (0 to 65535 by 1),
int output_low=0 (0 to 65535 by 1),
int output_high=65535 (1 to 65535 by 1),
int chroma=100 (0 to 200 by 1),
int limiter=0 (0 to 2 by 1),
bool TVrange=False,
string preset="fullrange" ("fullrange"/ "pc2tv"/ "tv2pc"),
int Lmode=0 (0 to 3 by 1),
int darkSTR=100 (0 to 200 by 1),
int brightSTR=100 (0 to 200 by 1),
int Ecurve=0 (0 to 1 by 1),
int Ecenter=32768 (0 to 65535 by 1),
int protect=-1 (-1 to 65535 by 1),
int smooth=100 (0 to 200 by 1),
int dither=50 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=False
)

SmoothAdjust_SmoothTweak(
clip,
int brightness=0 (-255 to 255 by 1),
float contrast=1.0 (0.0 to 10.0 by 1),
float saturation=1.0 (0.0 to 10.0 by 1),
int hue1=0 (-255 to 255 by 1),
int hue2=0 (-255 to 255 by 1),
bool limiter=False,
bool TVrange=False,
int smooth=100 (0 to 200 by 1),
int dither=50 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=False
)

SmoothAdjust_SmoothTweak16(
clip,
int brightness=0 (0 to 65535 by 1),
float contrast=0.0 (0.0 to 10.0 by 0.1),
float saturation=1.0 (0.0 to 10.0 by 0.1),
int hue1=0 (-65535 to 65535 by 1),
int hue2=0 (-65535 to 65535 by 1),
bool limiter=False,
bool TVrange=False,
int smooth=100 (0 to 200 by 1),
int dither=50 (-1 to 100 by 1),
int useMT=-1 (-1 to 16 by 1),
int useOPT=-1 (-1 to 2 by 1),
bool show=False,
int screenW=-1 (-1 to 1 by 1),
int screenH=-1 (-1 to 1 by 1),
bool scale=False
)

matfra
15th August 2012, 00:22
Thanks Yellow,
I knew that is was possible to do it manually. But I just wasnt too sure the parameter for this plugin. Thank you very mutch.
Is there a ( Database ) on the internet where people create the script for all kind of mods in avsp ? It would be useful.

leeperry
15th August 2012, 00:44
I'm tired about this community so I gave up... Too bad it would have been nice.

I will release a new version soon (I hope) with a new plugin. The code is almost finished, just need motivation to end it.
Yay, sorry to hear that! To me your filter is as important as madVR or Reclock because it drastically increases the enjoyment I get from using my HTPC :cool:

A new version would be full of win, :thanks:

leeperry
17th November 2012, 16:01
Hi LaTo, any news on an updated build by any chance please? I still adore your plugin on CRT/DLP, it's only on LCD that it seems to be fighting against their controller dithering(6bit?) :o

LaTo
17th November 2012, 17:18
Hi LaTo, any news on an updated build by any chance please? I still adore your plugin on CRT/DLP, it's only on LCD that it seems to be fighting against their controller dithering(6bit?) :o

A new version is in development, but I don't know when I will release it...

(check your MPs)

LaTo
3rd March 2013, 19:08
Version 2.50 is almost finished, some features requests before releasing?!?

Didée
3rd March 2013, 19:49
One thing that would be nice to have: Autolevels, with max.change limiting, and taking the input min/max from a separate analysis clip. Current Autolevels in Coloryuv is too crude / too simple, and not (not always) temporally stable.

AutoLevels(clip, analyse_clip, darklimit, brightlimit)

analyse_clip would be an (optional) user-provided preprocessed clip to take the frame's present min & max values from.
- possibly: spatial smoothing to eliminate stray pixels that are very dark / very bright, but are not relevant.
- possibly: temporal smoothing to make operation temporally stable, i.e. avoiding jumping-around of black level.
-- but that's up to the user.

darklimit & brightlimit are clamping the maximum change. I.e. if darklimit=16,brightlimit=20, then a frame covering [20,230] would be spread to [16,235], but a frame covering [50,200] would be spread to only [50-16,200+20).

TV_range switch to specify wether to spread to [16,235] or to [0,255].


Just a rough outline, all points are open for discussion. :)

What do you think about that? Feasable? Too much work / too little time?

Kisa_AG
5th March 2013, 10:57
Version 2.50 is almost finished, some features requests before releasing?!?

Hello LaTo!

It would be interesting to have cross-reference between Y, U and U in SMOOTHCUSTOM.

I mean the possibility to use any of three plans (Y, U, V) in any three expressions (Yexpr, Uexpr, Vexpr).
Lets say, Uexpr=U+5*(Y/255).
Now it's not possible.

Yellow_
5th March 2013, 14:27
Version 2.50 is almost finished, some features requests before releasing?!?

Curve Editor?

Detail Level Adjustments ie: image frame separated into say 5 detail levels, Coarse to Fine ability to apply SmoothAdjust adjustments individually to each level to tweak contrast?

Generate contrast, luma and saturation masks, apply SmoothAdjust Curve and Tweak through them. http://goodlight.us/writing/tutorials.html

ajp_anton
6th March 2013, 08:58
Version 2.50 is almost finished, some features requests before releasing?!?Custom histogram (as good as it can be simulated with finite bitdepth input).
Give a function between 0 and 1, the filter normalizes it and adjusts the levels.

LaTo
10th March 2013, 12:03
One thing that would be nice to have: Autolevels, with max.change limiting, and taking the input min/max from a separate analysis clip.

It was on my to-do list, but I wanted to do everything inside the plugin (no external clip used).
It introduced a lot of work: need to build a robust scene change detector, temporal stabilizing and put aside the not relevant values with spatial smoothing (as you said).
In the end, too much work compared to my free time.

Using an external clip simplifies things a lot. In a first time, why not make a standalone filter that can be integrated later into SmoothAdjust if it is convincing. But this introduces an incompatibility with SmoothTools (in version 2.50) and it bothers me a little.


It would be interesting to have cross-reference between Y, U and U in SMOOTHCUSTOM.
Sorry, this can't be done in SmoothAdjust.


Curve Editor?
I was planning a QT-Gui but too much work for now.


Detail Level Adjustments ie: image frame separated into say 5 detail levels, Coarse to Fine ability to apply SmoothAdjust adjustments individually to each level to tweak contrast?

Generate contrast, luma and saturation masks, apply SmoothAdjust Curve and Tweak through them. http://goodlight.us/writing/tutorials.html
If I understand correctly, all this can be done in an avisynth script :)


Custom histogram (as good as it can be simulated with finite bitdepth input).
Give a function between 0 and 1, the filter normalizes it and adjusts the levels.

I don't really understand, can you elaborate please?

LaTo
10th March 2013, 19:23
v2.50:
added SmoothTools
improved SmoothTweak
improved dithering
tweaked memory usage
tweaked multithreading
cleaned various stuff

Finally a new version, many changes have been made since the last one.
So this version should be considered as beta because some bugs may occurs.

Just one more thing, the v2.00 final release have been downloaded nearly 6000 times in 18 months.
That's a lot but I have received only 4 donations, it's less than 0.001%...
Seriously I was expecting a bit more generosity, anyways thanks to donators!

So I don't know if I will still get involved much in this project,
because it does not seem to interest many people in the end.

That is, I stop complaining :)

Don't hesitate to report bugs if you find some and enjoy this release!

ajp_anton
11th March 2013, 09:57
I don't really understand, can you elaborate please?You write down a function, for example "1" or "x" or "-x*(x-1)". It will then create a curve that, as closely as possible, makes the new histogram the same shape as the desired function between 0 and 1.
I realize you can't make it exact with discrete values, peaks can only be moved and added but never split up. However, this is compensated with a gap with a width proportional to the peak's height, and dithering should partly combat this (plus the result will look about correct anyway).
I also realize there might be functions that mess up everything, but it's the user's fault if he uses one.

LaTo
11th March 2013, 22:22
One thing that would be nice to have: Autolevels, with max.change limiting, and taking the input min/max from a separate analysis clip. Current Autolevels in Coloryuv is too crude / too simple, and not (not always) temporally stable.

AutoLevels(clip, analyse_clip, darklimit, brightlimit)

analyse_clip would be an (optional) user-provided preprocessed clip to take the frame's present min & max values from.
- possibly: spatial smoothing to eliminate stray pixels that are very dark / very bright, but are not relevant.
- possibly: temporal smoothing to make operation temporally stable, i.e. avoiding jumping-around of black level.
-- but that's up to the user.

darklimit & brightlimit are clamping the maximum change. I.e. if darklimit=16,brightlimit=20, then a frame covering [20,230] would be spread to [16,235], but a frame covering [50,200] would be spread to only [50-16,200+20).

TV_range switch to specify wether to spread to [16,235] or to [0,255].


Just a rough outline, all points are open for discussion. :)

What do you think about that? Feasable? Too much work / too little time?
A first try: AutoGain-alpha1 (http://latoninf.free.fr/d9/AutoGain-alpha1.7z) :)

travolter
14th March 2013, 16:45
Hi!

Im using these Ylevels settings:

YLevelsg(1,0.65,255,1,255)
YLevelsc(1,0.5,255,1,255)
but I want to remove the banding

can I get same result with smoothlevels?

What smoothlevels settings are the equivalent for:
Ylevelsg
Ylevelsc

I ask because Im testing but I cannt get same results.. maybe Im missing some parameter.

ganymede
14th March 2013, 17:10
With version 2.50, my typical use of SmoothCurve always triggers an "Access violation" error.
SmoothCurve(YCurve="0-0;16-16;128-126;255-235")The error is like :
Avisynth: access violation at 0x0001E4D5 in C:\Program Files (x86)\AviSynth 2.5\plugins\SmoothAdjust.dll,
attempting to read from 0x00000000I'm using latest 2.6 MT from SEt (20130309) (http://forum.doom9.org/showthread.php?t=148782), under Win7 professional.
I tried both ICL and MSVC builds of SmoothAdjust.dll (x86 only). Enabling or disabling MT mode (with SetMTMode) doesn't change anything.
With SmoothAdjust-2.0, SmoothCurve is working fine.

Eluent
15th March 2013, 02:40
With version 2.50, my typical use of SmoothCurve always triggers an "Access violation" error.
Same thing here.

LaTo
15th March 2013, 21:56
With version 2.50, my typical use of SmoothCurve always triggers an "Access violation" error.
SmoothCurve(YCurve="0-0;16-16;128-126;255-235")The error is like :
Avisynth: access violation at 0x0001E4D5 in C:\Program Files (x86)\AviSynth 2.5\plugins\SmoothAdjust.dll,
attempting to read from 0x00000000I'm using latest 2.6 MT from SEt (20130309) (http://forum.doom9.org/showthread.php?t=148782), under Win7 professional.
I tried both ICL and MSVC builds of SmoothAdjust.dll (x86 only). Enabling or disabling MT mode (with SetMTMode) doesn't change anything.
With SmoothAdjust-2.0, SmoothCurve is working fine.

Fixed in next version, stupid last-minute copy-paste :)

ganymede
16th March 2013, 01:48
Fixed in next version, stupid last-minute copy-paste :)Thank you LaTo, will be happy to test and report.

LaTo
16th March 2013, 12:02
v2.51:
fixed crash in SmoothCurve

And another update of AutoGain: AutoGain-alpha2 (http://latoninf.free.fr/d9/AutoGain-alpha2.7z)

LaTo
16th March 2013, 12:07
Hi!

Im using these Ylevels settings:

YLevelsg(1,0.65,255,1,255)
YLevelsc(1,0.5,255,1,255)
but I want to remove the banding

can I get same result with smoothlevels?

What smoothlevels settings are the equivalent for:
Ylevelsg
Ylevelsc

I ask because Im testing but I cannt get same results.. maybe Im missing some parameter.

YLevelsS(gamma=xx) -> SmoothLevels(gamma=xx,Lmode=1,Ecurve=0)

YLevelsG(gamma=xx) -> SmoothLevels(gamma=xx,Lmode=1,Ecurve=1)

But for YLevelsC I don't know, the lut seems *special* :p

Reel.Deel
16th March 2013, 13:30
Finally a new version, many changes have been made since the last one.
Thank you very much for the update LaTo. :)

Just one more thing, the v2.00 final release have been downloaded nearly 6000 times in 18 months.
That's a lot but I have received only 4 donations, it's less than 0.001%...
Wow, those numbers are very sad. I hope you get the support you deserve.

And another update of AutoGain: AutoGain-alpha2 (http://latoninf.free.fr/d9/AutoGain-alpha2.7z)
I tried using AutoGain with default setting on a 720*480 source and I get the following error:
VirtualDub Error
---------------------------
Avisynth read error:
Avisynth: illegal instruction at 0x00001AF6 in C:\AutoGain.dll


Alpha1 worked fine with the same script, so I doubt I'm doing something silly.

Also, will AutoGain benefit from 16bit processing? If so, it would be nice to have 16 input/output.

LaTo
16th March 2013, 13:49
I tried using AutoGain with default setting on a 720*480 source and I get the following error:

Alpha1 worked fine with the same script, so I doubt I'm doing something silly.

Also, will AutoGain benefit from 16bit processing? If so, it would be nice to have 16 input/output.

Hi! :)

Alpha2 need SSE2 CPU, what is your processor?
16 bits should be easy to add, so maybe in the next version.

travolter
16th March 2013, 13:55
thanks alot for the help LaTo :)

SmoothLevels(gamma=xx,Lmode=2,Ecurve=1)
is exactly the same as YlevelsS :)

for YlevelsC Ill continue using the old YlevelsC (it does not add so much banding at all)

LaTo
16th March 2013, 14:00
thanks alot for the help LaTo :)

SmoothLevels(gamma=xx,Lmode=2,Ecurve=1)
is exactly the same as YlevelsS :)

for YlevelsC Ill continue using the old YlevelsC (it does not add so much banding at all)

No, in the new version 2.5x it's Lmode=1 (in v2.00 it's Lmode=2).

But if you want exactly the same result, simply translate YLevels expression into SmoothCustom.

Reel.Deel
16th March 2013, 14:14
Alpha2 need SSE2 CPU, what is your processor?
I have a Intel Core 2 Quad Q6600 which indeed does support SSE2. Also, I'm on Windows XP SP3, Using Avisynth MT 2012.05.16. (http://forum.doom9.org/showthread.php?t=148782)
16 bits should be easy to add, so maybe in the next version.
Thanks!