Skip to content

@pinterf pinterf released this Dec 20, 2018 · 143 commits to MT since this release

Avisynth+ r2772 (20181220)

https://forum.doom9.org/showthread.php?t=168856

  • Fix: Expr: possible Expr x64 crash under specific memory circumstances (AVX2 only)
  • Fix: Expr: safer code for internal variables "Store and pop from stack" (see: Internal variables at http://avisynth.nl/index.php/Expr)

Avisynth+ r2768 (20181218)

  • New: Expr: allow input clips to have more planes than an implicitely specified output format
    Expr(aYV12Clip, "x 255.0 /", format="Y32") # target is Y only which needs only Y plane from YV12 -> no error
  • New: Expr: Y-plane-only clip(s) can be used as source planes when a non-subsampled (rgb or 444) output format implicitely specified
    Expr(Y, "x", "x 2.0 /", "x 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
    Expr(Grey_r, Grey_g, Grey_b, "x", "y 2.0 /", "z 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
  • Fix: ConvertToYUY2() error message for non-8 bit sources.
  • Fix: Y32 source to 32 bit 420,422,444 (introduced in big the zero-chroma-center transition)
  • Fix: ShowY, ShowU, ShowV crash for YUV (non-YUVA) sources
  • Speedup: ConvertToY12/16... for RGB or YUY2 sources where 4:4:4 or YV16 intermediate clip was used internally
    (~1.5-2x speed, was a regression in Avs+, use intermediate cache again)
  • Fix: Allow ExtractY on greyscale clips
  • ImageReader/ImageSource: use cache before FreezeFrame when result is a multiframe clip (fast again, regression since an early AVS+ version)
  • Resizers: don't use crop at special edge cases to avoid inconsistent results across different parameters/color spaces
  • Fix: Histogram 'classic': rare incomplete histogram shown in multithreading environment
  • Fix: ImageReader and ImageWriter: if path is "" then it works from/to the current directory.
  • GeneralConvolution: Allow 7x7 and 9x9 matrices (was: 3x3 and 5x5)
  • GeneralConvolution: All 8-32 bit formats (was: RGB32 only): YUY2 is converted to/from YV16, RGB24/32/48/64 are treated as planar RGB internally
    Since 32 bit float input is now possible, matrix elements and bias parameter now is of float type.
    For 8-16 bit clips the matrix is converted to integer before use.
  • GeneralConvolution: Allow chroma subsampled formats to have their luma or chroma processed. E.g. set chroma=false for a YV12 input.
  • GeneralConvolution: new parameters: boolean luma (true), boolean chroma(true), boolean alpha(true)
    Default: process all planes. For RGB: luma and chroma parameters are ignored.
    Unprocessed planes are copied. Using alpha=false makes RGB32 processing faster, usually A channel is not needed.
  • GeneralConvolution: MT friendly parameter parsing
  • New: UTF8 filename support in AviSource, AVIFileSource, WAVSource, OpenDMLSource and SegmentedAVISource
    All functions above have a new bool utf8 parameter. Default value is false.
  • Experimental: new syntax element (by addewyd): assignment operator ":=" which returns the assigned value itself.
    (Assignment within an expression)
Assets 6

@pinterf pinterf released this Dec 18, 2018 · 149 commits to MT since this release

Avisynth+ r2768 (20181218)

https://forum.doom9.org/showthread.php?t=168856

  • New: Expr: allow input clips to have more planes than an implicitely specified output format
    Expr(aYV12Clip, "x 255.0 /", format="Y32") # target is Y only which needs only Y plane from YV12 -> no error
  • New: Expr: Y-plane-only clip(s) can be used as source planes when a non-subsampled (rgb or 444) output format implicitely specified
    Expr(Y, "x", "x 2.0 /", "x 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
    Expr(Grey_r, Grey_g, Grey_b, "x", "y 2.0 /", "z 3.0 /", format="RGBPS") # r, g and b expression uses Y plane
  • Fix: ConvertToYUY2() error message for non-8 bit sources.
  • Fix: Y32 source to 32 bit 420,422,444 (introduced in big the zero-chroma-center transition)
  • Fix: ShowY, ShowU, ShowV crash for YUV (non-YUVA) sources
  • Speedup: ConvertToY12/16... for RGB or YUY2 sources where 4:4:4 or YV16 intermediate clip was used internally
    (~1.5-2x speed, was a regression in Avs+, use intermediate cache again)
  • Fix: Allow ExtractY on greyscale clips
  • ImageReader/ImageSource: use cache before FreezeFrame when result is a multiframe clip (fast again, regression since an early AVS+ version)
  • Resizers: don't use crop at special edge cases to avoid inconsistent results across different parameters/color spaces
  • Fix: Histogram 'classic': rare incomplete histogram shown in multithreading environment
  • Fix: ImageReader and ImageWriter: if path is "" then it works from/to the current directory.
  • GeneralConvolution: Allow 7x7 and 9x9 matrices (was: 3x3 and 5x5)
  • GeneralConvolution: All 8-32 bit formats (was: RGB32 only): YUY2 is converted to/from YV16, RGB24/32/48/64 are treated as planar RGB internally
    Since 32 bit float input is now possible, matrix elements and bias parameter now is of float type.
    For 8-16 bit clips the matrix is converted to integer before use.
  • GeneralConvolution: Allow chroma subsampled formats to have their luma or chroma processed. E.g. set chroma=false for a YV12 input.
  • GeneralConvolution: new parameters: boolean luma (true), boolean chroma(true), boolean alpha(true)
    Default: process all planes. For RGB: luma and chroma parameters are ignored.
    Unprocessed planes are copied. Using alpha=false makes RGB32 processing faster, usually A channel is not needed.
  • GeneralConvolution: MT friendly parameter parsing
  • New: UTF8 filename support in AviSource, AVIFileSource, WAVSource, OpenDMLSource and SegmentedAVISource
    All functions above have a new bool utf8 parameter. Default value is false.
  • Experimental: new syntax element (by addewyd): assignment operator ":=" which returns the assigned value itself.
    (Assignment within an expression)
Assets 6

@pinterf pinterf released this Jul 2, 2018 · 187 commits to MT since this release

Avisynth+ r2728 (20180702)

https://forum.doom9.org/showthread.php?t=168856

  • Fix: Expr: expression string order for planar RGB is properly r-g-b like in original VapourSynth version, instead of counter-intuitive g-b-r.
  • Fix: Expr: check subsampling when a different output pixel format is given
  • Fix: ColorYUV: round to avoid green cast on consecutive TV<>PC
  • Fix: RGBAdjust memory leak when used in ScriptClip
  • Fix: RGB64 Turnleft/Turnright (which are also used in RGB64 Resizers)
  • Fix: Rare crash in FrameRegistry
  • Fix: couldn't see variables in avsi before plugin autoloads (colors_rgb.avsi issue)
  • Fix: LoadVirtualdubPlugin: Fix crash on exit when more than one instances of a filter was used in a script
  • New: Expr: implement 'clip' three operand operator like in masktools2
  • New: Expr: Parameter "clamp_float" (like in masktools2 2.2.15)
  • New: Expr: parameter "scale_inputs" (like in masktools2 2.2.15)
  • New: function bool VarExist(String variable_name)
  • New function: BuildPixelType:
    Creates a video format (pixel_type) string by giving a colorspace family, bit depth, optional chroma subsampling and/or a template clip, from which the undefined format elements are inherited.
  • Enhanced: Limiter to work with 32 bit float clips
  • Enhanced: Limiter new parameter bool 'autoscale' default false, parameters now are of float type to handle 32 bit float values.
  • Enhanced: RGBAdjust new parameter: conditional (like in ColorYUV)
    The global variables "rgbadjust_xxx" with xxx = r, g, b, a, rb, gb, bb, ab, rg, gg, bg, ag are read each frame, and applied.
  • Enhanced: RGBAdjust: support 32 bit float ('analyze' not supported, 'dither' silently ignored)
  • Enhanced: AviSource to support much more formats with 10+ bit depth.
  • Changed (finally): 32bit float YUV colorspaces: zero centered chroma channels.
    U and V channels are now -0.5..+0.5 (if converted to full scale before) instead of 0..1
  • New function: bool IsFloatUvZeroBased() for plugin or script writers who want to be compatible with pre r2672 Avisynth+ float YUV format:
  • Enhanced: Allow ConvertToRGB24-32-48-64 functions for any source bit depths
  • Enhanced: ConvertBits: allow fulls-fulld combinations when either clip is 32bits
    E.g. after a 8->32 bit fulls=false fulld=true:
    Y: 16..235 -> 0..1
    U/V: 16..240 -> -0.5..+0.5
    Note: now ConvertBits does not assume full range for YUV 32 bit float.
    Default values of fulls and fulld are now true only for RGB colorspaces.
  • New: LoadVirtualdubPlugin update: Update from interface V6 to V20, and Filtermod version 6 (partial)
  • Source: move to c++17, 'if constexpr' requires. Use Visual Studio 2017 (or GCC 7?). CMakeLists.txt changed.
  • Source: C api: AVSC_EXPORT to dllexport in capi.h for avisynth_c_plugin_init
  • Source: C api: avs_is_same_colorspace VideoInfo parameters to const
  • Project struct: changelog to git.
  • Include current avisynth header files and def/exp file in installer, when SDK is chosen

Avisynth+ r2664 (20180328)

Fix

YUY2 Sharpen overflow artifacts - e.g. Sharpen(0.6)
Levels: 32 bit float shift in luma
Merge sse2 for 10-14bits (regression)
AVX2 resizer possible access violation in extreme resizes (e.g. 600->20)
32bit float PlanarRGB<->YUV conversion matrix
VfW: fix b64a output for OPT_Enable_b64a=true

Enhanced

VfW output P010 and P016 conversion to SSE2 (VfW output is used by VirtualDub for example)
ColorYUV: recalculate 8-16 bit LUT in GetFrame only when changed frame-by-frame (e.g. in autowhite)
ConvertBits 32->8 sse2/avx2 and 32->10..16 sse41/avx2 (8-15x speed)

Avisynth+ r2636 (20180302)

Fix

Blur/Sharpen crashed when YUY2.width<8, RGB32.width<4, RGB64.width<2
ColorYUV: don't apply TV range gamma for opt="coring" when explicit "PC->TV" is given
ColorbarsHD: 32bit float properly zero(0.5)-centered chroma

Avisynth+ r2632 (20180301)

Fix

  • Fix: IsInterleaved returned false for RGB48 and RGB64 (raffriff42)
  • Fix: SubTitle for Planar RGB/RGBA: wrong text colors (raffriff42)
  • Fix: Packed->Planar RGB conversion failed on SSE2-only computers (SSSE3 instruction used)
  • Fix: Resizers for 32 bit float rare random garbage on right pixels (simd code NaN issue)

Enhanced

  • Blur, Sharpen
    AVX2 for 8-16 bit planar colorspaces (>1.35x speed on i7-7770)
    SSE2 for 32 bit float formats (>1.5x speed on i7-7770)
  • Completely rewritten 16bit and float resizers, much faster (and not only with AVX2)
  • 8 bit resizers: AVX2 support
  • Speed up converting from RGB24/RGB48 to Planar RGB(A) - SSSE3, approx. doubled fps
  • Enhanced: VfW: exporting Y416 (YUV444P16) to SSE2.

New/Modded

  • ConvertFPS supports 10-32 bits, planar RGB(A), YUV(A)
  • New script function: int BitSetCount(int[, int, int, ...])
  • Modded script function: Hex(int , int "width"=0), new "width" parameter
  • Modded script function: HexValue(String, "pos"=1) new pos parameter
  • Modded script function: ReplaceStr(String, String, String[, Boolean "sig"=false]) New parameter: sig for case - insensitive search (Default false: exact search)
  • New script functions: TrimLeft, TrimRight, TrimAll for removing beginning/trailing whitespaces from a string.
  • New in ColorYUV: New parameter: bool f2c="false". When f2c=true, the function accepts the Tweak-like parameters for gain, gamma and contrast
  • New/Fixed in ColorYUV: Parameter "levels" accepts "TV". (can be "TV->PC", "PC->TV", "PC->TV.Y")
  • New: now gamma calculation is TV-range aware when either levels is "TV->PC" or coring = true or levels is "TV"
    New in ColorYUV: 32 bit float support.
  • ColorYUV: can specify bits=32 when showyuv=true -> test clip in YUV420PS format
  • Modded: remove obsolate "scale" parameter from ConvertBits.
  • Internal: 8-16 bit YUV chroma to 32 bit float: keep middle chroma level (e.g. 128 in 8 bits) at 0.5. Calculate chroma as (x-128)/255.0 + 0.5 and not x/255.0
    (Note: 32 bit float chroma center will be 0.0 in the future)
  • New: Histogram parameter "keepsource"=true (raffriff42) for "classic", "levels" and "color", "color2"
  • New: Histogram type "color" to accept 8-32bit input and "bits"=8,9,..12 display range
  • New: Histogram parameter "markers"=true. Markers = false disables extra markers/coloring for "classic" and "levels"
Assets 6

@pinterf pinterf released this Mar 28, 2018 · 251 commits to MT since this release

Avisynth+ r2664 (20180328)

https://forum.doom9.org/showthread.php?t=168856

Fix

YUY2 Sharpen overflow artifacts - e.g. Sharpen(0.6)
Levels: 32 bit float shift in luma
Merge sse2 for 10-14bits (regression)
AVX2 resizer possible access violation in extreme resizes (e.g. 600->20)
32bit float PlanarRGB<->YUV conversion matrix
VfW: fix b64a output for OPT_Enable_b64a=true

Enhanced

VfW output P010 and P016 conversion to SSE2 (VfW output is used by VirtualDub for example)
ColorYUV: recalculate 8-16 bit LUT in GetFrame only when changed frame-by-frame (e.g. in autowhite)
ConvertBits 32->8 sse2/avx2 and 32->10..16 sse41/avx2 (8-15x speed)

Avisynth+ r2636 (20180302)

Fix

Blur/Sharpen crashed when YUY2.width<8, RGB32.width<4, RGB64.width<2
ColorYUV: don't apply TV range gamma for opt="coring" when explicit "PC->TV" is given
ColorbarsHD: 32bit float properly zero(0.5)-centered chroma

Avisynth+ r2632 (20180301)

Fix

  • Fix: IsInterleaved returned false for RGB48 and RGB64 (raffriff42)
  • Fix: SubTitle for Planar RGB/RGBA: wrong text colors (raffriff42)
  • Fix: Packed->Planar RGB conversion failed on SSE2-only computers (SSSE3 instruction used)
  • Fix: Resizers for 32 bit float rare random garbage on right pixels (simd code NaN issue)

Enhanced

  • Blur, Sharpen
    AVX2 for 8-16 bit planar colorspaces (>1.35x speed on i7-7770)
    SSE2 for 32 bit float formats (>1.5x speed on i7-7770)
  • Completely rewritten 16bit and float resizers, much faster (and not only with AVX2)
  • 8 bit resizers: AVX2 support
  • Speed up converting from RGB24/RGB48 to Planar RGB(A) - SSSE3, approx. doubled fps
  • Enhanced: VfW: exporting Y416 (YUV444P16) to SSE2.

New/Modded

  • ConvertFPS supports 10-32 bits, planar RGB(A), YUV(A)
  • New script function: int BitSetCount(int[, int, int, ...])
  • Modded script function: Hex(int , int "width"=0), new "width" parameter
  • Modded script function: HexValue(String, "pos"=1) new pos parameter
  • Modded script function: ReplaceStr(String, String, String[, Boolean "sig"=false]) New parameter: sig for case - insensitive search (Default false: exact search)
  • New script functions: TrimLeft, TrimRight, TrimAll for removing beginning/trailing whitespaces from a string.
  • New in ColorYUV: New parameter: bool f2c="false". When f2c=true, the function accepts the Tweak-like parameters for gain, gamma and contrast
  • New/Fixed in ColorYUV: Parameter "levels" accepts "TV". (can be "TV->PC", "PC->TV", "PC->TV.Y")
  • New: now gamma calculation is TV-range aware when either levels is "TV->PC" or coring = true or levels is "TV"
    New in ColorYUV: 32 bit float support.
  • ColorYUV: can specify bits=32 when showyuv=true -> test clip in YUV420PS format
  • Modded: remove obsolate "scale" parameter from ConvertBits.
  • Internal: 8-16 bit YUV chroma to 32 bit float: keep middle chroma level (e.g. 128 in 8 bits) at 0.5. Calculate chroma as (x-128)/255.0 + 0.5 and not x/255.0
    (Note: 32 bit float chroma center will be 0.0 in the future)
  • New: Histogram parameter "keepsource"=true (raffriff42) for "classic", "levels" and "color", "color2"
  • New: Histogram type "color" to accept 8-32bit input and "bits"=8,9,..12 display range
  • New: Histogram parameter "markers"=true. Markers = false disables extra markers/coloring for "classic" and "levels"
Assets 5

@pinterf pinterf released this Mar 2, 2018 · 279 commits to MT since this release

Avisynth+ r2636 (20180302)

https://forum.doom9.org/showthread.php?t=168856

##Fix
Blur/Sharpen crashed when YUY2.width<8, RGB32.width<4, RGB64.width<2
ColorYUV: don't apply TV range gamma for opt="coring" when explicit "PC->TV" is given
ColorbarsHD: 32bit float properly zero(0.5)-centered chroma

Avisynth+ r2632 (20180301)

##Fix

  • Fix: IsInterleaved returned false for RGB48 and RGB64 (raffriff42)
  • Fix: SubTitle for Planar RGB/RGBA: wrong text colors (raffriff42)
  • Fix: Packed->Planar RGB conversion failed on SSE2-only computers (SSSE3 instruction used)
  • Fix: Resizers for 32 bit float rare random garbage on right pixels (simd code NaN issue)

##Enhanced

  • Blur, Sharpen
    AVX2 for 8-16 bit planar colorspaces (>1.35x speed on i7-7770)
    SSE2 for 32 bit float formats (>1.5x speed on i7-7770)
  • Completely rewritten 16bit and float resizers, much faster (and not only with AVX2)
  • 8 bit resizers: AVX2 support
  • Speed up converting from RGB24/RGB48 to Planar RGB(A) - SSSE3, approx. doubled fps
  • Enhanced: VfW: exporting Y416 (YUV444P16) to SSE2.

##New/Modded

  • ConvertFPS supports 10-32 bits, planar RGB(A), YUV(A)
  • New script function: int BitSetCount(int[, int, int, ...])
  • Modded script function: Hex(int , int "width"=0), new "width" parameter
  • Modded script function: HexValue(String, "pos"=1) new pos parameter
  • Modded script function: ReplaceStr(String, String, String[, Boolean "sig"=false]) New parameter: sig for case - insensitive search (Default false: exact search)
  • New script functions: TrimLeft, TrimRight, TrimAll for removing beginning/trailing whitespaces from a string.
  • New in ColorYUV: New parameter: bool f2c="false". When f2c=true, the function accepts the Tweak-like parameters for gain, gamma and contrast
  • New/Fixed in ColorYUV: Parameter "levels" accepts "TV". (can be "TV->PC", "PC->TV", "PC->TV.Y")
  • New: now gamma calculation is TV-range aware when either levels is "TV->PC" or coring = true or levels is "TV"
    New in ColorYUV: 32 bit float support.
  • ColorYUV: can specify bits=32 when showyuv=true -> test clip in YUV420PS format
  • Modded: remove obsolate "scale" parameter from ConvertBits.
  • Internal: 8-16 bit YUV chroma to 32 bit float: keep middle chroma level (e.g. 128 in 8 bits) at 0.5. Calculate chroma as (x-128)/255.0 + 0.5 and not x/255.0
    (Note: 32 bit float chroma center will be 0.0 in the future)
  • New: Histogram parameter "keepsource"=true (raffriff42) for "classic", "levels" and "color", "color2"
  • New: Histogram type "color" to accept 8-32bit input and "bits"=8,9,..12 display range
  • New: Histogram parameter "markers"=true. Markers = false disables extra markers/coloring for "classic" and "levels"

Avisynth+ r2580 (20171226)

Fix

  • (workaround): Merge: Visual Studio 2017 15.5.1/2 generated invalid AVX2 code (x86 crashed)
  • Temporalsoften 10-14 bits: an SSE 4.1 instruction was used for SSE2-only CPU-s (Illegal Instruction on Athlon XP)

Avisynth+ r2574 (20171219)

Fixes

  • MaskHS created inverse mask. Regression after r2173
  • jitasm code generation at specific circumstances

modification, additions

  • Expr:
    • new: Indexable source clip pixels by relative x,y positions like x[-1,1]
    • new functions: sin cos tan asin acos atan
    • new operator: % (modulo)
    • new: Variables: uppercase letters A..Z for storing and reuse temporary results, frequently used computations.
    • new: predefined expr variables 'frameno', 'time', 'width', 'height'
    • fix: jitasm code generation at specific circumstances

Other

  • Build: changed avisynth.h, strict C++ conformity with Visual Studio 2017 /permissive- flag
  • Installer (finally)
Assets 5

@pinterf pinterf released this Mar 1, 2018 · 283 commits to MT since this release

Avisynth+ r2632 (20180301)

https://forum.doom9.org/showthread.php?t=168856

##Fix

  • Fix: IsInterleaved returned false for RGB48 and RGB64 (raffriff42)
  • Fix: SubTitle for Planar RGB/RGBA: wrong text colors (raffriff42)
  • Fix: Packed->Planar RGB conversion failed on SSE2-only computers (SSSE3 instruction used)
  • Fix: Resizers for 32 bit float rare random garbage on right pixels (simd code NaN issue)

##Enhanced

  • Blur, Sharpen
    AVX2 for 8-16 bit planar colorspaces (>1.35x speed on i7-7770)
    SSE2 for 32 bit float formats (>1.5x speed on i7-7770)
  • Completely rewritten 16bit and float resizers, much faster (and not only with AVX2)
  • 8 bit resizers: AVX2 support
  • Speed up converting from RGB24/RGB48 to Planar RGB(A) - SSSE3, approx. doubled fps
  • Enhanced: VfW: exporting Y416 (YUV444P16) to SSE2.

##New/Modded

  • ConvertFPS supports 10-32 bits, planar RGB(A), YUV(A)
  • New script function: int BitSetCount(int[, int, int, ...])
  • Modded script function: Hex(int , int "width"=0), new "width" parameter
  • Modded script function: HexValue(String, "pos"=1) new pos parameter
  • Modded script function: ReplaceStr(String, String, String[, Boolean "sig"=false]) New parameter: sig for case - insensitive search (Default false: exact search)
  • New script functions: TrimLeft, TrimRight, TrimAll for removing beginning/trailing whitespaces from a string.
  • New in ColorYUV: New parameter: bool f2c="false". When f2c=true, the function accepts the Tweak-like parameters for gain, gamma and contrast
  • New/Fixed in ColorYUV: Parameter "levels" accepts "TV". (can be "TV->PC", "PC->TV", "PC->TV.Y")
  • New: now gamma calculation is TV-range aware when either levels is "TV->PC" or coring = true or levels is "TV"
    New in ColorYUV: 32 bit float support.
  • ColorYUV: can specify bits=32 when showyuv=true -> test clip in YUV420PS format
  • Modded: remove obsolate "scale" parameter from ConvertBits.
  • Internal: 8-16 bit YUV chroma to 32 bit float: keep middle chroma level (e.g. 128 in 8 bits) at 0.5. Calculate chroma as (x-128)/255.0 + 0.5 and not x/255.0
    (Note: 32 bit float chroma center will be 0.0 in the future)
  • New: Histogram parameter "keepsource"=true (raffriff42) for "classic", "levels" and "color", "color2"
  • New: Histogram type "color" to accept 8-32bit input and "bits"=8,9,..12 display range
  • New: Histogram parameter "markers"=true. Markers = false disables extra markers/coloring for "classic" and "levels"

Avisynth+ r2580 (20171226)

Fix

  • (workaround): Merge: Visual Studio 2017 15.5.1/2 generated invalid AVX2 code (x86 crashed)
  • Temporalsoften 10-14 bits: an SSE 4.1 instruction was used for SSE2-only CPU-s (Illegal Instruction on Athlon XP)

Avisynth+ r2574 (20171219)

Fixes

  • MaskHS created inverse mask. Regression after r2173
  • jitasm code generation at specific circumstances

modification, additions

  • Expr:
    • new: Indexable source clip pixels by relative x,y positions like x[-1,1]
    • new functions: sin cos tan asin acos atan
    • new operator: % (modulo)
    • new: Variables: uppercase letters A..Z for storing and reuse temporary results, frequently used computations.
    • new: predefined expr variables 'frameno', 'time', 'width', 'height'
    • fix: jitasm code generation at specific circumstances

Other

  • Build: changed avisynth.h, strict C++ conformity with Visual Studio 2017 /permissive- flag
  • Installer (finally)
Assets 5

@pinterf pinterf released this Dec 27, 2017 · 335 commits to MT since this release

Avisynth+ r2580 (20171226)

Fix

  • (workaround): Merge: Visual Studio 2017 15.5.1/2 generated invalid AVX2 code (x86 crashed)
  • Temporalsoften 10-14 bits: an SSE 4.1 instruction was used for SSE2-only CPU-s (Illegal Instruction on Athlon XP)

Avisynth+ r2574 (20171219)

Fixes

  • MaskHS created inverse mask. Regression after r2173
  • jitasm code generation at specific circumstances

modification, additions

  • Expr:
    • new: Indexable source clip pixels by relative x,y positions like x[-1,1]
    • new functions: sin cos tan asin acos atan
    • new operator: % (modulo)
    • new: Variables: uppercase letters A..Z for storing and reuse temporary results, frequently used computations.
    • new: predefined expr variables 'frameno', 'time', 'width', 'height'
    • fix: jitasm code generation at specific circumstances

Other

  • Build: changed avisynth.h, strict C++ conformity with Visual Studio 2017 /permissive- flag
  • Installer (finally)
Assets 5

@pinterf pinterf released this Dec 19, 2017 · 341 commits to MT since this release

Avisynth+ r2574 (20171219)

Fixes

  • MaskHS created inverse mask. Regression after r2173
  • jitasm code generation at specific circumstances

modification, additions

  • Expr:
    • new: Indexable source clip pixels by relative x,y positions like x[-1,1]
    • new functions: sin cos tan asin acos atan
    • new operator: % (modulo)
    • new: Variables: uppercase letters A..Z for storing and reuse temporary results, frequently used computations.
    • new: predefined expr variables 'frameno', 'time', 'width', 'height'
    • fix: jitasm code generation at specific circumstances

Other

  • Build: changed avisynth.h, strict C++ conformity with Visual Studio 2017 /permissive- flag
  • Installer (finally)
Assets 5

@pinterf pinterf released this Nov 15, 2017 · 371 commits to MT since this release

Avisynth+ r2544 (20171115)

20171115 r2544

Fixes

  • Expr: fix "scalef" for 10-16 bits

modification, additions

  • Expr optimization: eliminate ^1 +0 -0 *1 /1

Avisynth+ r2542 (20171114)

Fixes

  • Fix: RGB (full scale) conversion: 10-16 bits to 8 bits rounding issue; pic got darker in repeated 16<->8 bit conversion chain
  • Fix: ConvertToY: remove unnecessary clamp for Planar RGB 32 bit float
  • Fix: RGB ConvertToY when rec601, rec709 (limited range) matrix. Regression since r2266

modification, additions

  • Add: Expr filter
  • Add: Levels: 32 bit float format support
  • Optimized: Faster RGB (full scale) 10-16 bits to 8 bits conversion when dithering
  • Other: Default frame alignment is 64 bytes (was: 32 bytes). (independently of AVX512 support)
  • Built with Visual Studio 2017, v141_xp toolset
  • some fixes in avisynth_c.h (C interface header file)
  • experimental x64 build with size_t frame offsets for testing more properly written C interfaces
Assets 3

@pinterf pinterf released this Nov 14, 2017 · 373 commits to MT since this release

Avisynth+ r2542 (20171114)

Fixes

  • Fix: RGB (full scale) conversion: 10-16 bits to 8 bits rounding issue; pic got darker in repeated 16<->8 bit conversion chain
  • Fix: ConvertToY: remove unnecessary clamp for Planar RGB 32 bit float
  • Fix: RGB ConvertToY when rec601, rec709 (limited range) matrix. Regression since r2266

modification, additions

  • Add: Expr filter
  • Add: Levels: 32 bit float format support
  • Optimized: Faster RGB (full scale) 10-16 bits to 8 bits conversion when dithering
  • Other: Default frame alignment is 64 bytes (was: 32 bytes). (independently of AVX512 support)
  • Built with Visual Studio 2017, v141_xp toolset
  • some fixes in avisynth_c.h (C interface header file)
  • experimental x64 build with size_t frame offsets for testing more properly written C interfaces
Assets 3
You can’t perform that action at this time.