forked from python-pillow/Pillow
-
Notifications
You must be signed in to change notification settings - Fork 86
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
SIMD. fix list (+6 squashed commits)
Squashed commits: [c45b871] update for Pillow-SIMD 3.4.0 [bedd83f] no alpha compositing in this release [e8fe730] update results for latest version add Skia results [a16ff97] add SIMD changes [82ffbd6] fix readme (+4 squashed commits) Squashed commits: [85677f9] fix error [f44ebb1] update results for unrolled implementation [83968c3] fix #4 [cd73c51] update link (+11 squashed commits) Squashed commits: [5882178] correct spelling [a0e5956] Why Pillow-SIMD is even faster [108e72e] Why Pillow itself is so fast [e8eeda1] spelling fixes [e816e9c] spelling [d2eefef] methodology, why not contributed [2e55786] installation and conclusion [9f6415e] more info [67e55b7] more benchmarks test files [471d4c5] remove spaces [904d89d] add performance tests [4fe17fe] simple readme SIMD. clarify Following fork SIMD. update readme SIMD. update versions in readme SIMD. Changes SIMD. version SIMD. version SIMD. version SIMD. version SIMD. version SIMD. version SIMD. Rewritten the Pillow-SIMD readme SIMD. Updated according to the review SIMD. fix markup SIMD. replace benchmarks with link to pillow-perf SIMD. for resizing SIMD. Update readme SIMD. fix mark SIMD. Update Uploadcare logo in readme SIMD. pypi readme, update setup Add x86 info
- Loading branch information
Showing
6 changed files
with
286 additions
and
128 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,144 @@ | ||
Changelog (Pillow-SIMD) | ||
======================= | ||
|
||
9.0.0.post1 | ||
----------- | ||
|
||
- Fixed possible overflow in LUT processing | ||
- Restored compatibility with Visual C Compiler | ||
|
||
|
||
7.0.0.post4 | ||
----------- | ||
|
||
- Filter: fixed wrong offset handling for 3x3 single-band version | ||
|
||
7.0.0.post3 | ||
----------- | ||
|
||
- ColorLUT: fixed potential access violation, up to 2x faster | ||
|
||
7.0.0.post2 | ||
----------- | ||
|
||
- ColorLUT: SSE4 & AVX2 | ||
|
||
7.0.0.post1 & 6.2.2.post1 & 6.1.0.post1 & 6.0.0.post2 | ||
----------------------------------------------------- | ||
|
||
- Bands: access violation in getband in some environments | ||
|
||
7.0.0.post0 | ||
----------- | ||
|
||
- Reduce: SSE4 | ||
|
||
6.0.0.post1 | ||
----------- | ||
|
||
- GCC 9.0+: fixed unaligned read for ``_**_cvtepu8_epi32`` functions. | ||
|
||
6.0.0.post0 and 5.3.0.post1 | ||
--------------------------- | ||
|
||
- Resampling: Correct max coefficient calculation. Some rare combinations of | ||
initial and requested sizes lead to black lines. | ||
|
||
4.3.0.post0 | ||
----------- | ||
|
||
- Float-based filters, single-band: 3x3 SSE4, 5x5 SSE4 | ||
- Float-based filters, multi-band: 3x3 SSE4 & AVX2, 5x5 SSE4 | ||
- Int-based filters, multi-band: 3x3 SSE4 & AVX2, 5x5 SSE4 & AVX2 | ||
- Box blur: fast path for radius < 1 | ||
- Alpha composite: fast div approximation | ||
- Color conversion: RGB to L SSE4, fast div in RGBa to RGBA | ||
- Resampling: optimized coefficients loading | ||
- Split and get_channel: SSE4 | ||
|
||
3.4.1.post1 | ||
----------- | ||
|
||
- Critical memory error for some combinations of source/destination | ||
sizes is fixed. | ||
|
||
3.4.1.post0 | ||
----------- | ||
|
||
- A lot of optimizations in resampling including 16-bit | ||
intermediate color representation and heavy unrolling. | ||
|
||
3.3.2.post0 | ||
----------- | ||
|
||
- Maintenance release | ||
|
||
3.3.0.post2 | ||
----------- | ||
|
||
- Fixed error in RGBa -> RGBA conversion | ||
|
||
3.3.0.post1 | ||
----------- | ||
|
||
Alpha compositing | ||
~~~~~~~~~~~~~~~~~ | ||
|
||
- SSE4 and AVX2 fixed-point full loading implementation. | ||
Up to 4.6x faster. | ||
|
||
3.3.0.post0 | ||
----------- | ||
|
||
Resampling | ||
~~~~~~~~~~ | ||
|
||
- SSE4 and AVX2 fixed-point full loading horizontal pass. | ||
- SSE4 and AVX2 fixed-point full loading vertical pass. | ||
|
||
Conversion | ||
~~~~~~~~~~ | ||
|
||
- RGBA -> RGBa SSE4 and AVX2 fixed-point full loading implementations. | ||
Up to 2.6x faster. | ||
- RGBa -> RGBA AVX2 implementation using gather instructions. | ||
Up to 5x faster. | ||
|
||
|
||
3.2.0.post3 | ||
----------- | ||
|
||
Resampling | ||
~~~~~~~~~~ | ||
|
||
- SSE4 and AVX2 float full loading horizontal pass. | ||
- SSE4 float full loading vertical pass. | ||
|
||
|
||
3.2.0.post2 | ||
----------- | ||
|
||
Resampling | ||
~~~~~~~~~~ | ||
|
||
- SSE4 and AVX2 float full loading horizontal pass. | ||
- SSE4 float per-pixel loading vertical pass. | ||
|
||
|
||
2.9.0.post1 | ||
----------- | ||
|
||
Resampling | ||
~~~~~~~~~~ | ||
|
||
- SSE4 and AVX2 float per-pixel loading horizontal pass. | ||
- SSE4 float per-pixel loading vertical pass. | ||
- SSE4: Up to 2x for downscaling. Up to 3.5x for upscaling. | ||
- AVX2: Up to 2.7x for downscaling. Up to 3.5x for upscaling. | ||
|
||
|
||
Box blur | ||
~~~~~~~~ | ||
|
||
- Simple SSE4 fixed-point implementations with per-pixel loading. | ||
- Up to 2.1x faster. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
|
||
`Pillow-SIMD repo and readme <https://github.com/uploadcare/pillow-simd>`_ | ||
|
||
`Pillow-SIMD changelog <https://github.com/uploadcare/pillow-simd/blob/simd/master/CHANGES.SIMD.rst>`_ | ||
|
||
`Pillow documentation <https://pillow.readthedocs.io/>`_ |
Oops, something went wrong.