HDRAGC
From Avisynth wiki
Abstract | |
---|---|
Author | paviko |
Version | v1.8.7 |
Download | Hdragc-1.8.7.zip |
Category | Levels and Chroma |
License | Closed source |
Discussion | Doom9 Thread |
Contents |
Description
High Dynamic Range Automatic Gain Control - this plugin increase dynamic range of video clips (enhance shadows). It's "simply" gaining (brightening) dark areas of image without causing blow of highlights and is doing it by simulating the work of our eyes. Amount of gain is calculated automatically but you can also influence on it by parameters.
Requirements
- [x86]: AviSynth+ or AviSynth 2.5.8 or greater
- Supported color formats: YUY2, YV12
Syntax and Parameters
- HDRAGC (clip, float "max_gain", float "min_gain", float "coef_gain", float "max_sat", float "min_sat", float "coef_sat", int "avg_window", int "response", int "debug", int "mode", int "protect", int "passes", int "shift", bool "shadows", int "shift_u", int "shift_v", float "corrector", float "reducer", int "corrector_mode", int "avg_lum", float "black_clip", int "freezer")
- clip =
- Input clip.
- clip =
- float max_gain = 3.0
- Maximum gain value which can't be passed by auto control.
- float max_gain = 3.0
- float min_gain = 1.0
- Minimum gain.
- float min_gain = 1.0
- float coef_gain = 1.5
- How to change auto calculation of gain. Default is 1.0, if you set 1.5 then if previously plugin was finding 2.0 gain, now it will 2.5 (1.0 + (2.0 - 1.0) * coef_gain).
- float coef_gain = 1.5
- float max_sat = 9.0
- Maximum gain for saturation (default 9.0, 1.0 means no saturation enhancement, below 1.0 - desaturation).
- float max_sat = 9.0
- float min_sat = 0.0
- Minimum saturation enhancement.
- float min_sat = 0.0
- float coef_sat = 1.0
- How saturation control is connected with gain control, sat = (gain - 1.0) * coef_sat (default 1.0 - means that if pixel is gained by factor 2.0, saturation is also gained 2.0). When setting coef_sat below 1.0, look also at min_sat parameter
- float coef_sat = 1.0
- int avg_window =
- Number of frames for averaging gain value (default one second = 25 frames for PAL, 30 frames for NTSC, etc).
- int avg_window =
- int response = 100
- How much gain value can differ between frames (default 100%, there is no pumping effect, so it's needed only in special cases).
- int response = 100
- int debug = 0
- Value 1 displays calculated gain value for frame (default 0).
- int debug = 0
- int mode = 2
- Algorithm to use:
- 0 : algorithm from 0.2 version
- 1 : new algorithm
- 2 : new algorithm with some float precision (default), 30% slower than mode = 1
- Algorithm to use:
- int mode = 2
- int protect = 2
- Protection mode:
- 0 : no protection for highlights
- 1 : protects highlights from blowing
- 2 : plugin automatically choose between 0 (off) and 1 (on) - (default)
- Protection mode:
- int protect = 2
- int passes = 4
- Number of iterations for mode 0 (values from 1 to 9, default 4).
- int passes = 4
- int shift = 0
- every luminance value x is shifted down by shift (x = x - shift), helpful in low-light, some camcorders brighten image by getting black more gray (default 0).
- int shift = 0
- bool shadows = true
- Default true - not only gain but also enhance shadows.
- bool shadows = true
- int shift_u = 0
- int shift_v = 0
- Parameters for sublte white balance correction, shift_u < 0 - removes blue tint, shift_u > 0 - removes yellow tint, shift_v < 0 - removes red tint, shift_v > 0 - removes green tint (default 0).
- int shift_u = 0
- float corrector = 0.0
- Auto correction, recommended values 0.8 - 1.0, default 0.0. The lower value then less bright parts of image are gained (help for high values of gain).
- float corrector = 0.0
- float reducer = 0.5
- Default 0.5, values from 0.0 to 2.0. The higher value the more noise is removed from gained shadows.
- float reducer = 0.5
- int corrector_mode =
- Undocumented parameter.
- int corrector_mode =
- int avg_lum = 128
- Average luminance to which video should be gained.
- int avg_lum = 128
- float black_clip = 0.0
- Value in percents, that force to treat first x% darkest pixels as black pixels (works as auto shift), recommended values 0.0 - 1.0 (default 0.0).
- float black_clip = 0.0
- int freezer = -1
- Number of the frame (from 0), that will be taken to calculate all parameters, the parameters are then constant in time (default -1, which means that parameters will be calculated for every frame).
- int freezer = -1
Most Important Parameters
coef_gain
(default 1.0) - increase parameter to get brighter image, decrease to limit auto brighteningcoef_sat
(1.0) - increase to bring more saturation
Tips
1. I'd like to have brigther results.
- Try increasing coef_gain and/or min_gain
2. Image lacks colours saturation after brightening
- Try increasing coef_sat parameter
3. I would like to operate only in luma (without changing chrominance channels)
- Set max_sat to 1.0
4. When I set coef_sat lower that 1.0, bright area of image are loosing saturation
- Set min_sat to 1.0 (default value id 0.0)
5. Bright areas of image are too much gained
- Try corrector parameter - recommended values are (0.8 - 1.0), the lower value then less gain is applied to brighter part of image
6. Gained parts have too much noise
- Try increasing reducer parameter. Default value is 0.5, max is 2.0
Examples
AviSource("blah.avi") HDRAGC()
Changelog
Version 1.8.7 - 10.09.2006 - fixed crash when black_clip is not used Version 1.8.6 - 09.09.2006 - added 'freezer' parameter - number of frame that is chosen to calculate gain parameters Version 1.8.5 - 10.06.2006 - added auto shifting (black_clip parameter) - avg_lum parameter is back - new mode (mode = 2), which is using float precision for some calculations (best quality, now mode = 2 as default) - fixed behaviour of coef_gain (for coef_gain > 1.0 it works as in previous versions) - tweaked corrector (by default it's not a bit lower, so if you were using previously x, now try x + 0.1) Version 1.8.1 - 13.05.2006 - fixed crash for black frame (thanks to Boulder) Version 1.8 - 13.05.2006 - huge jump in version, huge jump in quality ;) - improved old algorithm from version 0.2.1 (mode = 0), new algorithm (mode = 1) that even for high gains give natural picture - added support for YV12 and YUY2, removed RGB32 - 3 times faster (but still without MMX, SSE, SSE2 optimizations) - 10 times less memory usage - better handling of saturation - new parameters for sublte color correction (shift_u, shift_v) Version 0.2.1 - alpha - 25.10.2005: - fixed sharpening/denoising (they were turned off when gain was not applied to image) - fixed protect mode Version 0.2.0 - alpha - 23.10.2005: - completely new lighting routine (sigma parameter not needed) - new mode (mode = 2) in which radius is deceptively chosen, this removes artifacts as much as I was able to do ;). Slow, but faster and much, much better than mode = 0 - mode = 1 is again 2 times faster (and will be faster later, still no MMX, SSE optimization) - new parameter - protect - for value = 1 it can help in some situation with blowing highlights (default on) - new parameters - contrast, limit - for denoising/sharpening, almost for free - no slow down (experimental) Version 0.1.5 alpha - 21.05.2005: - improvements - 4 times faster with significantly reduced halo artifacts (if you want old behaviour use parameter mode = 0) Version 0.1.2 alpha - 30.04.2005: - changed lightness distribution routine (less plastic look - midtones have higher contrast) - new value for auto control of saturation - calculated gain is independent of avg_lum parameter Version 0.1.1 alpha - 29.04.2005: - fixed bug with avg_lum (thanks to AVIL) - small c optimization (thanks to tsp) - new parameters (coef_gain, min_sat, circle) Version 0.1 alpha - 25.04.2005 - first release
Archived Downloads
Version | Download | Mirror |
---|---|---|
v1.8.7 | Hdragc-1.8.7.zip | |
v0.1.2 alpha | hdragc_5F25_dll_20050521.zip | hdragc_25_dll_20050521.zip |
- v0.1.2 alpha includes source code.
External Links
- hdragc.htm - official archived documentation (note: some parameters are listed out of order).
Back to External Filters ←