|
c5f2fbda
|
2025-11-25T11:33:48
|
|
silence warning
|
|
89b14ca9
|
2025-11-25T11:33:25
|
|
change encoding to utf8-unix
|
|
7a69f047
|
2025-11-25T10:36:26
|
|
remove misc files
|
|
1c8433cb
|
2025-04-10T13:54:58
|
|
Version 3.1: Implemented full C++ compliance, eliminated `stdlib.h` dependency.
Removed a previously added scanline unbiasing since its positive effect was a compiler-dependent statistical error.
Fixed a bug with bit-depth conversions (e.g., 16-bit to 8-bit).
Fixed `sign conversion`, `nullptr`, and other compiler warnings.
Optimized dithering function.
Added 8-bit input gamma correction optimization.
Added optional gamma correction bypass for alpha-channel (`AlphaIndex`).
LANCIR: implemented WebAssembly SIMD128 support.
Improved documentation.
|
|
d4884eeb
|
2025-03-31T16:12:32
|
|
LANCIR 3.0.18. Added pre-C++11 compliance.
|
|
623bbbc4
|
2025-03-31T15:40:47
|
|
LANCIR 3.0.17. Added pre-C++11 compliance.
Fixed pedantic `sign conversion` and `nullptr` warnings.
|
|
84b38194
|
2025-03-24T17:55:39
|
|
LANCIR 3.0.16. Implemented full C++ compliance.
|
|
8be60ed2
|
2025-03-24T16:59:48
|
|
LANCIR 3.0.15. Implemented full C++ compliance.
|
|
0269b5db
|
2025-03-19T19:28:08
|
|
LANCIR 3.0.14. Improved C++ compliance, comments.
Implemented compile-time branching elimination via template parameters in the outputScanline() function.
Fixed compilation error on ARM32 targets.
Removed redundant ifdef's.
|
|
cef36b42
|
2025-03-16T09:35:34
|
|
LANCIR 3.0.13: Added platform detection for MSVC ARM.
|
|
eb89c3ba
|
2025-03-15T10:22:13
|
|
LANCIR 3.0.12: Improved platform detection.
|
|
ae50ac8c
|
2024-02-02T17:35:30
|
|
LANCIR 3.0.11: Minor code clean-up.
|
|
643fd99e
|
2024-01-18T13:51:54
|
|
LANCIR 3.0.10: Considerably improved large image resizing speed.
Memory overhead now became negligible.
Source and destination buffers should now differ.
Introduced a simpler overloaded resizeImage() function that returns a result.
|
|
e928341c
|
2023-12-07T05:40:20
|
|
LANCIR 3.0.9. Changed floating-point `0x1pN` constants not supported by some compilers, to `e` notation.
|
|
9c3ffb4e
|
2023-12-05T05:44:39
|
|
Updated README.md.
|
|
889c51f1
|
2023-12-05T04:01:05
|
|
Updated README.md.
|
|
9a2a707c
|
2023-12-05T03:57:57
|
|
Updated README.md.
|
|
bb3482a7
|
2023-08-05T10:23:43
|
|
LANCIR 3.0.8. Removed _mm_cvtss_f32 SSSE3 intrinsic dependency.
|
|
6fa7ef55
|
2023-01-19T12:51:43
|
|
Updated README.md, added Peaked Cosine graphs.
|
|
8940d049
|
2023-01-19T09:34:23
|
|
Updated README.md, added Peaked Cosine graphs.
|
|
2f4f7920
|
2023-01-19T09:33:44
|
|
Updated README.md, added Peaked Cosine graphs.
|
|
7271d321
|
2021-12-30T07:22:40
|
|
LANCIR 3.0.7.
Optimized 1-channel resize function for a slightly lower overhead.
|
|
c2d01323
|
2021-12-28T13:36:31
|
|
Updated README.md.
|
|
1b311293
|
2021-12-28T10:48:48
|
|
LANCIR 3.0.6.
Fixed a bug in update() that returned "true" even if filters were not updated, previously this impacted overhead when resizing many small images.
|
|
c43af50e
|
2021-12-28T07:07:57
|
|
Updated README.md.
|
|
6e0a1229
|
2021-12-27T20:19:28
|
|
LANCIR 3.0.5.
The "virtual oversampling" has been removed from this version, for an even lower overhead. While it was a correct thing overall, it does not make much of a difference for Lanczos filter. Filter oversampling will likely be used in a future AVIR refactoring to create precise filters while not inducing a computational overhead - it looks like there is no practical need to perform full-featured input image upsizing/oversampling as half of image's samples are initially zero anyway. But for precise filter design oversampling is a necessity, like described on the project page; it has to be tested and analyzed if downsampling a designed oversampled filter works well (it should).
So, LANCIR is now likely has a "production" quality level, its further development is not planned at the moment.
|
|
c457bd53
|
2021-12-27T14:45:08
|
|
LANCIR 3.0.4.
Rearranged final summation instructions in `resize3` yielding 2-3% performance boost in 3-channel resizing.
|
|
2aceaba5
|
2021-12-26T19:37:19
|
|
Updated README.md.
|
|
aa1a1f72
|
2021-12-26T18:27:58
|
|
Updated README.md.
|
|
7b89d36d
|
2021-12-26T08:14:13
|
|
LANCIR 3.0.3.
Implemented the "virtual oversampling", at 4X. It is the same technique as originally used in AVIR, but completely overhead-less; improves Lanczos's filter to the maximum.
Optimized filter buffer's allocation.
LANCIR's cutting-edge techniques will be used in a future AVIR refactoring.
|
|
3bb2bd95
|
2021-12-24T15:34:07
|
|
LANCIR 3.0.2.
Further algorithm's refinement, now using progressive batched resizing which yields an enormous performance boost in most cases on larger images.
This is a preparation for a major AVIR refactoring.
|
|
5809d5b5
|
2021-12-22T15:41:29
|
|
LANCIR 3.0.1. A deep algorithm's redesign. Now features AVX, SSE2, and NEON optimizations out-of-the box.
Now it is likely one of the fastest (if not the fastest) Lanczos algorithms available for CPUs.
NOTE: resizeImage() function's arguments were changed: now also accepting NewBuf's scanline size.
|
|
3c67f87c
|
2021-10-04T19:25:04
|
|
Updated README.md.
|
|
24034240
|
2021-10-03T09:31:06
|
|
Version 3.0.
Improved speed by 10-25% on upsizing by utilizing a special resizing function together with filter-less 2X upsizing. Does not apply to the de-interleaved (AVX) resizing.
Minor LANCIR optimization.
|
|
26ba9c2c
|
2021-10-02T09:00:08
|
|
Added Win64 binary of the "imageresize" tool.
|
|
1f4f3f4c
|
2021-09-18T12:19:52
|
|
Updated README.md.
|
|
870f471d
|
2021-09-18T10:58:09
|
|
Added comparison graphs to README.md.
|
|
811b175a
|
2021-09-07T16:14:05
|
|
Updated README.md, fixed a mistakenly-removed Users topic.
|
|
7fdab221
|
2021-05-08T22:51:47
|
|
Updated README.md.
|
|
109cf2ba
|
2021-04-19T08:00:20
|
|
Version 2.9.
Removed a rarely-used half-band resizing step completely since it offers no practical performance nor quality benefits.
Optimized filter generation function (removed divisions by a constant) as filters are always post-normalized anyway. This may reduce overhead when creating thumbnail-sized images.
|
|
86332c15
|
2021-04-17T08:47:30
|
|
Updated README.md.
|
|
f04da1fc
|
2021-04-16T07:09:18
|
|
Updated README.md.
|
|
465435df
|
2021-04-16T06:58:57
|
|
Updated README.md.
|
|
c6e4dead
|
2021-04-15T17:27:09
|
|
Version 2.8.
Fixed regression with the copy-constructor of CImageResizeVars class (previously it caused uninitialized accesses).
Removed filter length optimization as it did not reduce overhead measurably.
Optimized "peaked cosine" window function generator (removed division).
Added "unbiasing" to resizer - an unconventional approach which reduces peak error significantly, at the expense of 5% increased overhead.
Reoptimized filter parameters, now yielding an unprecedented quality.
|
|
4efa5c61
|
2021-04-10T22:34:30
|
|
Version 2.7.
Added normalization of individual fractional delay filters. This reduced peak error by 3 dB, which is substantial for image resizing.
Reoptimized all filter parameters resulting in better frequency response linearity.
Added AVIR_NOCTOR macro to avoid copy-constructing and copying objects of some classes via a default copy function.
Added copy-constructor and assignment operator to the CImageResizerVars class, to avoid uninitialized memory copying.
Corrected automatic image offseting and "k" factor on image upsizing.
|
|
4ee357d2
|
2021-02-18T15:44:12
|
|
LANCIR: added a missing `ElCount` multiplier to `memset` on empty input image.
|
|
d4580119
|
2021-01-14T09:52:09
|
|
Updated README.md.
|
|
a9686d0c
|
2020-09-10T15:50:10
|
|
Updated README.md.
|
|
976e612a
|
2020-09-04T05:49:50
|
|
A minor fix to sRGB gamma approximation functions.
|
|
7de4461a
|
2020-08-12T12:59:08
|
|
Updated README.md.
|
|
e02f3359
|
2020-08-12T12:48:25
|
|
Updated README.md.
|
|
3c951fa5
|
2020-08-12T12:44:41
|
|
Create FUNDING.yml
|
|
460b94a9
|
2020-08-12T12:30:07
|
|
Updated README.md.
|
|
9f0f3266
|
2020-04-26T07:09:12
|
|
Version 2.5 release.
|
|
fa37d98a
|
2020-03-14T08:45:06
|
|
LANCIR: fixed a rare access violation crash.
|
|
7dd9515e
|
2019-07-29T07:43:23
|
|
Version 2.4 release.
|
|
f9f79e24
|
2019-06-27T07:42:52
|
|
Added Patreon support link.
|
|
96d6501c
|
2019-06-23T22:30:58
|
|
Fixed a crash in CLancIR.
|
|
ace3afd9
|
2019-05-31T16:12:09
|
|
Added independent "kx" and "ky" step parameters to the CLancIR resizing function.
|
|
24c1c928
|
2019-05-19T09:08:34
|
|
Updated README.md and binary tools.
|
|
f3d8c344
|
2019-05-18T08:42:00
|
|
Made minor text description updates in "lancir".
|
|
10e74833
|
2019-05-17T22:44:26
|
|
Added "lancir" filter normalization.
|
|
30447d6c
|
2019-05-17T10:03:37
|
|
Made minor optimizations to "lancir".
|
|
5ab3db5a
|
2019-05-16T13:01:38
|
|
Made minor "lancir" optimizations.
|
|
13d00bb2
|
2019-05-16T06:30:49
|
|
Fixed a minor image offset on image upsizing.
|
|
244414db
|
2019-05-16T05:17:44
|
|
Implemented fast CLancIR image resizing algorithm.
|
|
60b1a5aa
|
2019-02-13T16:55:18
|
|
Added AVIR_VERSION string macro.
|
|
cb44860f
|
2019-01-15T11:52:54
|
|
Released AVIR under a permissive MIT license agreement.
|
|
752557d1
|
2018-08-08T19:44:46
|
|
Minor improvements, see Change log 2.1.
|
|
2b51e4b0
|
2018-08-07T22:33:08
|
|
Made several minor improvements - see Change log 2.0.
|
|
e1bda515
|
2018-08-02T12:31:41
|
|
Updated a tip on affine transformations.
|
|
21d4ed6f
|
2018-08-02T12:09:53
|
|
Updated a tip on affine transforms.
|
|
eeda9d70
|
2018-08-02T12:06:36
|
|
Updated tip on affine transforms.
|
|
3381196e
|
2018-08-02T11:51:23
|
|
Added a tip on affine transforms.
|
|
94773eaa
|
2018-05-15T23:27:21
|
|
Added note about EWA filtering.
|
|
f07e40e5
|
2018-05-13T22:38:48
|
|
Updated readme file.
|
|
0b909ea3
|
2018-05-13T01:57:08
|
|
Added note about disabling gamma-correction in the imageresize tool.
|
|
823f3508
|
2018-05-12T17:19:40
|
|
Fixed readme file formatting mistakes.
|
|
d02243c8
|
2016-12-09T16:05:54
|
|
Added gamma correction usage information.
|
|
d7a04591
|
2016-10-30T18:31:49
|
|
Fixed image offset on enlargement with the "k" factor specified explicitly.
|
|
5421e466
|
2016-10-25T09:04:43
|
|
Fixed SIMD-related MS Visual C++ compile errors.
|
|
8054d05a
|
2016-10-24T09:57:31
|
|
Fixed MS Visual C++ compiler error.
|
|
ff4717f8
|
2016-08-05T19:44:20
|
|
Added the built-in sRGB gamma correction.
|
|
f0371b13
|
2016-08-05T12:49:16
|
|
Fixed PNG-48 operation on Mac OS X.
|
|
000fc4a7
|
2016-08-03T10:34:34
|
|
imageresize: fixed PNG-48 handling bug, fixed PNG file DPI scaling.
|
|
8850cde0
|
2016-06-17T14:06:32
|
|
Added 16-bit depth (PNG-48) file support to "imageresize" tool.
|
|
859c7dd8
|
2016-06-07T08:47:02
|
|
Dithering is now not used by default. Default is simple rounding.
Updated "imageresize" utility with the -d switch which enables dithering.
|
|
c9c3720b
|
2016-06-04T07:09:10
|
|
Minor README.md refinement.
|
|
d09e9758
|
2016-03-25T20:09:18
|
|
Added corrections to the "why 2X upsizing?" topic.
|
|
ed062fc6
|
2016-03-21T12:12:53
|
|
Minor changes to the README.md file.
|
|
37bfe8b7
|
2016-03-16T11:50:38
|
|
Added a note about "ultimate" quality of this algorithm.
|
|
f7060ae2
|
2016-03-12T12:25:29
|
|
Fixed smoothing when downsizing image by a factor 1 to 2.
|
|
4222213a
|
2015-11-10T19:23:24
|
|
Fixed access violation due to a possible unaligned SIMD variable access.
|
|
50d90182
|
2015-11-10T17:49:55
|
|
Updated license version.
|
|
e8ecde3e
|
2015-11-10T17:49:34
|
|
Implemented de-interleaved processing useful for 1-channel image resizing.
Added float8 SIMD type support.
|
|
b4ec08f2
|
2015-11-06T10:46:17
|
|
Made enhancements to allow de-interleaved processing.
Optimized temporary buffer allocation.
Updated README.md with more info.
|
|
2ad92f54
|
2015-10-27T16:00:51
|
|
Updated README.md with more info.
|
|
f48b1e53
|
2015-10-24T12:25:16
|
|
Fixed incorrect sub-pixel offsetting at some settings.
Updated README.md with more info.
|
|
a1c4f3ae
|
2015-10-23T08:15:25
|
|
Updated README.md with more info.
|
|
ed5036fd
|
2015-10-21T23:25:22
|
|
Optimized float4 round() function, performance increased considerably in some cases.
Optimized internal filter steps building function.
Added algorithm modeling and complexity calculation functions.
Added additional algorithm variation with differing efficiency.
Added automatic best algorithm selection.
Improved resizing quality at image edges.
Made downsizing use arbitrary factors for a higher efficiency in many cases.
Added 2 intermediate resizing parameter sets.
Moved sub-pixel offset parameters to CImageResizerVars.
|