1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196
|
3.0.5
colorspace: add ST.428-1 (gamma 2.6) transfer function
depth: fix AVX-512 integer to float border handling (introduced in 2.6)
depth: fix NEON dither border handling (introduced in 3.0)
graph: fix clipping in alpha premultiplication (introduced in 3.0)
x86: optimizations for AMD Zen4 processors
3.0.4
colorspace: fix ARIB STD-B67 constant-luminance EOTF (introduced in 2.6)
colorspace: filter negative values from sRGB-like transfer functions
common: compilation fixes on esoteric architectures
graph: fix active region with chroma subsampling
3.0.3
depth: fix out-of-bounds read in SSE2/AVX2 error diffusion (introduced in 2.5)
colorspace: revert SMPTE 240M behavior change (introduced in 3.0.2)
3.0.2
api: default to ZIMG_CPU_AUTO when graph params are null
colorspace: fix incorrect SMPTE 240M transfer function
colorspace: fix underflow in AVX-512 ST.2084 transfer functions
graph: fix conversion from fullrange grey to RGB
arm: fix data alignment
x86: optimizations for AMD Zen3 processors
3.0.1
graph: fix handling of default nominal_peak_luminance (introduced in 3.0)
3.0 (API 2.4)
api: support alpha channel as the fourth plane
colorspace: accept UNSPECIFIED transfer characteristics in more situations
colorspace: fix conversion from ICtCp to ARIB STD-B67
depth: fix out of bounds access in SSE2 ordered dither
graph: rewrite for alpha channel support
resize: fix incorrect rounding when calculating pixel coordinates
resize: AVX-512 VNNI code paths
arm: NEON/ASIMD code paths
2.9.3
resize: add spline64 filter
2.9.2
colorspace: fix crash on invalid conversion from unspec to real primaries
x86: additional optimizations for AMD Piledriver
x86: optimizations for AMD Zen2 processors
2.9.1:
resize: fix incorrect spline36 coefficients (introduced in 2.9)
2.9:
colorspace: improve accuracy of SSE2 LUT-based transfer functions
depth: AVX2 and AVX-512 code paths for limited range upsampling
graph: optimize tile width calculation
graph: reduce execution overhead
graph: skip processing pixels outside of active window
resize: change default bicubic from Mitchell-Netravali to Catmull-Rom
resize: make output bit-exact regardless of active window dimensions
x86: optimizations for AMD Piledriver and Zen1 processors
2.8:
api: rename colorspace enum values
colorspace: AVX-512 code paths for commonly used transfer functions
colorspace: optimize SSE2 LUT-based transfer functions
common: reduce execution overhead
depth: increase ordered dither pattern from 8x8 to 16x16
depth: use blue noise instead of white for random dither
depth: use different dither pattern on each color component
resize: optimize x86 SIMD horizontal downsampling with >8 taps
x86: cache detection on AMD processors
x86: optimizations for AMD Excavator processors
2.7.5:
depth: fix SSE2 byte->float when width+4 is mod16
resize: allow downsampling to very low resolutions
2.7.4:
x86: fix crash on Yorkfield (Core 2 Quad) processors (introduced in 2.7)
2.7.3
resize: fix performance drop in certain resampling ratios
2.7.2
graph: fix image corruption in certain conversions (introduced in 2.7)
resize: fix AVX-512 horizontal resize with certain widths (introduced in 2.6)
2.7.1
colorspace: fix incorrect ST.428 primaries (introduced in 2.7)
colorspace: preserve BTB/WTW when approximate_gamma is set
colorspace: optimize handling of IEC 61966-2-4 transfer characteristics
2.7
colorspace: add support for additional matrix/transfer/primaries
graph: reduce buffer copies when converting from grey to color
graph: reduce buffer copies when performing colorspace conversion
graph: process input planes separately when possible
graph: optimize calculation of tile width
x86: automatic cache size detection for Intel processors
2.6.3
resize: fix crash in AVX-512 resizer with GCC
resize: improve cache efficiency in AVX-512 horizontal resizers
2.6.2
depth: fix AVX-512 clamping of negative pixels
graph: fix WORD greyscale to YUV conversion
2.6.1
depth: fix SSE2 conversions with mod4 and mod8 widths (introduced in 2.6)
resize: fix heap corruption in AVX2 horizontal resizer (introduced in 2.6)
2.6 (API 2.3)
api: add ZIMG_CPU_AUTO_64B for AVX-512 compatibility
colorspace: add support for ITU-R BT.2100 ICtCp
colorspace: add support for constant luminance ITU-R BT.2100 HLG
colorspace: add support for SMPTE ST.431-2 (traditional DCI-P3)
colorspace: add support for chromaticity-derived NCL/CL matrices
colorspace: assume 1000 cd/m^2 peak luminance for HLG
colorspace: fix crash on bad colorspace definition
depth: optimized SSE2/AVX2 conversions with 8/16-bit input
resize: optimized AVX2 horizontal upsampler memory usage
resize: optimized x86 SIMD function calling
x86: AVX-512 code paths for key functions
2.5.1
depth: fix AVX2 conversion from half to byte/word (introduced in 2.1)
2.5
api: images larger than 16384x16384 rejected on 32-bit (2Gx2G on 64-bit)
depth: SSE2 and AVX2 error diffusion implementation
resize: AVX2 integer resize implementation
x86: fix crash with AVX CPU on non-AVX OS
2.4
colorspace: add support for IEC 61966-2-1 (sRGB)
colorspace: transfer function conversion conforms to ITU-R BT.2100
2.3 (API 2.2)
api: add 'allow_approximate_gamma' flag to zimg_graph_builder_params
colorspace: add support for SMPTE ST.2084 (Dolby PQ) and ARIB STD-B67 (HLG)
colorspace: add support for SMPTE ST.432-1 (P3-D65)
colorspace: SSE2 and AVX2 LUT-based transfer function implementation
2.2.1:
resize: fix crash on horizontal resize with negative shift amount
resize: fix illegal instruction on SSE2 horizontal resize with MSVC (introduced in 2.2)
2.2 (API 2.1):
api: add fields to zimg_image_format for image active region
colorspace: add separate error messages for ill-formed colorspace definition
resize: fix crash on negative or zero lanczos tap count
resize: improve performance on SSE2 horizontal resize
2.1:
graph: optimize resizing to 4:4:4/RGB target
graph: optimize resizing with different output pixel type
x86: AVX and AVX2 code paths
x86: fast half-precision support
vszimg: deprecated and removed
2.0.4:
graph: fix possible infinite loop when converting integer to float
2.0.3:
api: fix handling of unrecognized colorspaces
2.0.2:
graph: fix crash when resizing in only one direction
2.0.1:
colorspace: fix incorrect gamut processing
graph: fix possible buffer overflow on certain widths
2.0 (API 2.0):
api: new simplified API for all-in-one conversions
api: remove zimg_set_cpu
api: add zimg_get_version_info and zimg_get_api_version
colorspace: add YCgCo matrix
depth: clamp integer output to bit depth limit (e.g. 10-bit => 0-1023)
depth: fix incorrect strength of random dither
resize: clamp integer output to bit depth limit
resize: fix incorrect output for point filter
vszimg: new resize.X compatible syntax
vszimg: support for color to greyscale conversion
1.1.1:
fix border handling in SSE2 horizontal resize
1.1:
cache-efficient 2d resizer
rewrite horizontal resize kernels
fix incorrect strength of ordered dither
fix inaccurate error diffusion dither
fix integer underflow in SSE2 dither
1.0:
initial release
|